svn commit: r199201 - in head: contrib/libpcap sbin/ifconfig share/man/man4 sys/kern sys/net sys/sys

M. Warner Losh imp at bsdimp.com
Thu Nov 12 18:26:34 UTC 2009


In message: <20091112.105542.643508160.imp at bsdimp.com>
            "M. Warner Losh" <imp at bsdimp.com> writes:
: In message: <f19c444a0911112248n21e571f6i5aa3c4e1e383087 at mail.gmail.com>
:             Antoine Brodin <antoine at FreeBSD.org> writes:
: : On Wed, Nov 11, 2009 at 10:30 PM, Xin LI <delphij at freebsd.org> wrote:
: : > Author: delphij
: : > Date: Wed Nov 11 21:30:58 2009
: : > New Revision: 199201
: : > URL: http://svn.freebsd.org/changeset/base/199201
: : >
: : > Log:
: : >  Add interface description capability as inspired by OpenBSD.
: : >
: : >  MFC after:    3 months
: : >
: : > Modified:
: : >  head/contrib/libpcap/inet.c
: : >  head/sbin/ifconfig/ifconfig.8
: : >  head/sbin/ifconfig/ifconfig.c
: : >  head/share/man/man4/netintro.4
: : >  head/sys/kern/kern_jail.c
: : >  head/sys/net/if.c
: : >  head/sys/net/if.h
: : >  head/sys/net/if_var.h
: : >  head/sys/sys/param.h
: : >  head/sys/sys/priv.h
: : >  head/sys/sys/sockio.h
: : ...
: : > Modified: head/sys/net/if_var.h
: : > ==============================================================================
: : > --- head/sys/net/if_var.h       Wed Nov 11 21:18:27 2009        (r199200)
: : > +++ head/sys/net/if_var.h       Wed Nov 11 21:30:58 2009        (r199201)
: : > @@ -198,6 +198,7 @@ struct ifnet {
: : >        void    *if_pf_kif;
: : >        void    *if_lagg;               /* lagg glue */
: : >        u_char   if_alloctype;          /* if_type at time of allocation */
: : > +       struct sbuf *if_description;    /* interface description */
: : >
: : >        /*
: : >         * Spare fields are added so that we can modify sensitive data
: : > @@ -205,7 +206,7 @@ struct ifnet {
: : >         * be used with care where binary compatibility is required.
: : >         */
: : >        char     if_cspare[3];
: : > -       void    *if_pspare[8];
: : > +       void    *if_pspare[7];
: : >        int     if_ispare[4];
: : >  };
: : 
: : Hi Delphij,
: : 
: : Doesn't this break ABI gratuitously?  (I think it changes the size of
: : struct ifnet)
: 
: In head this is OK (it doean't break the size).  In -stable, it should

Actually, I'm wrong.  It does break the size due to the 3 characters
of new padding...

: instead look like:
: 
:        char     if_cspare[3];
: -       void    *if_pspare[8];
: +       void    *if_pspare[7];
: +       struct sbuf *if_description;
: 
: of course, in -head it could look that way too and not force a
: recompile of everything that groks ifnets...



More information about the svn-src-all mailing list