On Fri, Mar 04, 2016 at 03:35:53PM -0800, Stephen Hemminger wrote:
> On Fri, 4 Mar 2016 18:57:28 +0000
> Phil Sutter <p...@nwl.cc> wrote:
> 
> > There have been reports about 'ip addr' printing "Message truncated" on
> > systems with large numbers of VFs. Although I haven't been able to get
> > my hands on hardware suitable to reproduce this, increasing the dump
> > buffer has been reported to resolve the issue. For want of a better
> > idea, just double the buffer size to 32k.
> > 
> > Feels like this opportunistic buffer size selection is rather
> > workarounding a design flaw in libnetlink or maybe even the netlink
> > protocol itself.
> > 
> > Signed-off-by: Phil Sutter <p...@nwl.cc>
> > ---
> >  lib/libnetlink.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/lib/libnetlink.c b/lib/libnetlink.c
> > index d6b5fd3e8a493..245c4ca216753 100644
> > --- a/lib/libnetlink.c
> > +++ b/lib/libnetlink.c
> > @@ -223,7 +223,7 @@ int rtnl_dump_filter_l(struct rtnl_handle *rth,
> >             .msg_iov = &iov,
> >             .msg_iovlen = 1,
> >     };
> > -   char buf[16384];
> > +   char buf[32768];
> >     int dump_intr = 0;
> >  
> >     iov.iov_base = buf;
> 
> I thought this was addressed in kernel by making the VF info optional.
> The netlink protocol is showing some strain, this is one of them.

Oh, thanks for pointing this out. Testing was done with a RHEL7 kernel
only, so I can't tell whether this still applies to upstream.

What do you mean with 'optional'? Doesn't this imply that it is still
possible to request a dump which will exhaust buffer space in a single
message? Maybe just point me at the relevant kernel commit and I'll go
figure myself.

Thanks, Phil

Reply via email to