On Wed, Jan 17, 2001 at 02:51:19PM +0100, James R. Leu wrote:
> Hello,
>
> On Wed, Jan 17, 2001 at 12:15:32PM +0100, Andi Kleen wrote:
> > On Wed, Jan 17, 2001 at 04:08:14AM +0100, Werner Almesberger wrote:
> > > James R. Leu wrote:
> > > > I'm not asking for the impossible. Sequence numbers and/or client
> > > > to server ACKs would solve the problem.
> > >
> > > So what do you do when the client doesn't ACK and you run out of buffer
> > > space ? Block all activities that may trigger netlink messages ?
> > >
> > > Obviously, in this case (interface up/down transitions), netlink doesn't
> > > scale well. A state-based interface would be better, e.g. netlink could
> > > generate a bit vector indicating the states (or the transitions, if it
> > > matters whether any have occurred), and update the vector until it has
> > > been read by the client. The question is of course whether we really
> > > need an optimized, scalable solution for this.
> >
> > A simple way is to delete ip addresses when you down an interface and use
> > regular SIOCGIFCONF.
>
> That is basically a dump of the entire inteface table! If we are talking
> about 16K interfaces that is an awful lot of work just because an interface
> when down or up.
The thread was: when only a few interfaces go up/down then netlink messages
work fine.
Then someone complained that the netlink buffer overflows when too many
interfaces
go up/down. In this case you can do a whole resynchronization regularly (e.g.
every
minute) and do less work overall.
-Andi
|