On Wed, Jun 14, 2017 at 10:02:11AM -0700, Stephen Hemminger wrote: > On Fri, 9 Jun 2017 18:31:31 -0700 > Krister Johansen <k...@templeofstupid.com> wrote: > > > diff --git a/include/utils.h b/include/utils.h > > index bfbc9e6..60ffde4 100644 > > --- a/include/utils.h > > +++ b/include/utils.h > > @@ -87,6 +87,9 @@ struct ipx_addr { > > #ifndef AF_MPLS > > # define AF_MPLS 28 > > #endif > > +#ifndef IPPROTO_MPLS > > +#define IPPROTO_MPLS 137 > > +#endif > > > > I am a little concerned that this definition may end up being different > between kernel and iproute2. It looks like utils.h already has lots of > duplicate > definitions of things that are in standard include directory. > > Most of these like IPSEC and DECNET are old, but MPLS might get changed > in the process of going into glibc. > > Is there anyway to get this from the kernel headers which are cloned > into include/linux/ already?
I did try to fix this up as part of bringing this patch up to date, since it was one of the concerns that David raised too. I believe the problem that I ran into was that IPPROTO_MPLS wasn't defined in all versions of the headers where I tried to include them, and by bringing in in.h, I also managed to get a bunch of errors around re-definition of other symbols. That said, I don't believe that 137 as the IPPROTO_MPLS value should change anytime soon. It's defined in RFC 4023. https://tools.ietf.org/html/rfc4023 However, if this is still seems problematic, I can take another shot at attempting to clean this up further. -K