Re: [mpls-linux-general] Follow on test of 1.956 - 1.955 patches as applied to kernel and iproute
Status: Beta
Brought to you by:
jleu
From: James R. L. <jl...@mi...> - 2007-06-28 18:22:32
|
There was a header file change between 2.6.18 and 2.6.20. In particular The addition of RTA_TABLE to rtattr_type_t in linux/rtnetlink.h The lastest iproute2-mpls source has the correct header file in its tree, so the version of iproute2-mpls must match the mpls-kernel version. If you're building iproute2 by hand, make sure you tell it to use it's own header files. See the spec file from my source RPM for details. On Thu, Jun 28, 2007 at 02:02:40PM -0400, Chris Robson wrote: >=20 > More test results: >=20 > Kernel: 2.6.20-1.2316fc5.mpls.1.956 built by James (or Marco aka=20 > binaries pulled from mirror) > Iproute2: 1.956 iproute2-2.6.16-060323, I built) >=20 > Still get the same failure as discussed previously...... this confirms= =20 > the kernel patches for anything above=20 > kernel-2.6.18-1.2257.fc5.mpls.1.955 distro isnt working correctly >=20 > ...Chris > >James, Marco > > > >This last test used the kernel binaries for 1.955 and iproute2 1.956=20 > >binaries I built. Now the iproute commands work, see below, ergo=20 > >something isnt right with the kernel patches. Any ideas..... > > > ># ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 ipv4= =20 > >10.128.142.1 > >NHLFE entry key 0x00000002 mtu 0 propagate_ttl > > (0 bytes, 0 pkts) > ># ./ip/ip route add 192.168.120.0/24 via 10.128.142.1 mpls 0x2 > ># ./ip/ip route show > >10.10.1.25 dev tun10 proto kernel scope link src 10.10.1.26 > >10.3.1.9 dev tun3 proto kernel scope link src 10.3.1.10 > >10.5.1.9 dev tun5 proto kernel scope link src 10.5.1.10 > >10.8.1.0/24 via 10.3.1.9 dev tun3 > >10.10.1.0/24 via 10.10.1.25 dev tun10 > >192.168.120.0/24 via 10.128.142.1 dev eth0 mpls 0x2 > >10.5.1.0/24 via 10.5.1.9 dev tun5 > >10.3.1.0/24 via 10.3.1.9 dev tun3 > >192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 > >10.128.142.0/24 dev eth0 proto kernel scope link src 10.128.142.196 > >default via 10.128.142.1 dev eth0 > > > > > >Chris Robson wrote: > > =20 > >>James, Marco > >> > >>I installed binaries (kernel) 2.6.20-1.2316fc5.mpls.1.956 and binaries= =20 > >>(iproute) iproute2-2.6.16-060323 with the MPLS patches and get the=20 > >>exact same error as before with the kernel 2.6.21 builds. The only= =20 > >>thing I can think is because I'm running "ip" and "mpls" commands from= =20 > >>the build directories and not the install directories is causing the=20 > >>problem? What do you guys think? > >> > >>...Chris > >> > >>Chris Robson wrote: > >> =20 > >>>Gentlemen > >>> > >>>I was able to build the 2.6.21 kernel with the 1.956 patches but had= =20 > >>>to make some small changes enclosed below. Further I was able to=20 > >>>issue the example commands however as you can see the "ip route show"= =20 > >>>command dumps a garbage string: > >>> > >>># ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0=20 > >>>ipv4 10.128.142.1 > >>>NHLFE entry key 0x00000002 mtu 0 propagate_ttl > >>>(0 bytes, 0 pkts) > >>># ./ip/ip route add 192.168.120.0/24 via 10.128.142.1 mpls 0x2 > >>> > >>># ./ip/ip route show > >>>10.10.1.25 dev tun10 shim ??? 0x080004fffd01000 ................=20 > >>>000000000 proto kernel scope link src 10.10.1.26 > >>>: > >>>: > >>>10.3.1.9 dev tun3 shim ??? 0x08000400070000003 .................=20 > >>>00000000000 proto kernel scope link src 10.5.1.10 > >>>10.128.142.0/24 dev eth0 shim ??? 0x proto kernel scope link src=20 > >>>10.128.142.196 > >>>default via 10.128.142.1 dev eth0 shim ??? 0x > >>> > >>>The following are the changes I had to make to the linux-kernel.diif= =20 > >>>patches to get the kernel to compile and run. As for the iproute2=20 > >>>files, I just used James's iproute2 sources. > >>> > >>>--- /develop/MPLS/mpls-linux-1.956/patches/linux-kernel.diff=20 > >>>2007-05-04 00:51:06.000000000 -0400 > >>>+++ MPLS-MULTIPLE-PATCHES.linux-kernel.diff.CHRIS-MODS.28Jun07.patch= =20 > >>>2007-06-28 12:54:08.000000000 -0400 > >>>@@ -311,10 +311,10 @@ > >>>diff -uNr --exclude=3D.p4config linux-kernel/include/linux/netdevice.h= =20 > >>>mpls-kernel/include/linux/netdevice.h > >>>--- linux-kernel/include/linux/netdevice.h 2007-03-24=20 > >>>22:55:23.000000000 -0500 > >>>+++ mpls-kernel/include/linux/netdevice.h 2007-03-24=20 > >>>23:28:29.000000000 -0500 > >>>-@@ -398,6 +398,7 @@ > >>>- void *ip6_ptr; /* IPv6 specific data */ > >>>- void *ec_ptr; /* Econet specific data */ > >>>+@@ -402,6 +402,7 @@ > >>>void *ax25_ptr; /* AX.25 specific data */ > >>>+ struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data, > >>>+ assign before registering */ > >>>+ void *mpls_ptr; /* MPLS specific data */ > >>> > >>>/* > >>>@@ -2638,12 +2638,12 @@ > >>>+ > >>>+static int __init init(void) > >>>+{ > >>>-+ return ipt_register_target(&ipt_mpls_reg); > >>>++ return xt_register_target(&ipt_mpls_reg); > >>>+} > >>>+ > >>>+static void __exit fini(void) > >>>+{ > >>>-+ ipt_unregister_target(&ipt_mpls_reg); > >>>++ xt_unregister_target(&ipt_mpls_reg); > >>>+} > >>>+ > >>>+module_init(init); > >>>@@ -2737,9 +2737,9 @@ > >>> > >>>+EXPORT_SYMBOL(ipv6_addr_type); > >>>+EXPORT_SYMBOL(ipv6_rcv); > >>>- EXPORT_SYMBOL(__ipv6_addr_type); > >>>EXPORT_SYMBOL(icmpv6_send); > >>>EXPORT_SYMBOL(icmpv6_statistics); > >>>+ EXPORT_SYMBOL(icmpv6_err_convert); > >>>diff -uNr --exclude=3D.p4config linux-kernel/net/ipv6/Kconfig=20 > >>>mpls-kernel/net/ipv6/Kconfig > >>>--- linux-kernel/net/ipv6/Kconfig 2007-03-24 22:55:24.000000000 -0500 > >>>+++ mpls-kernel/net/ipv6/Kconfig 2007-03-24 23:29:41.000000000 -0500 > >>>@@ -3033,12 +3033,12 @@ > >>>+ > >>>+static int __init init(void) > >>>+{ > >>>-+ return ip6t_register_target(&ip6t_mpls_reg); > >>>++ return xt_register_target(&ip6t_mpls_reg); > >>>+} > >>>+ > >>>+static void __exit fini(void) > >>>+{ > >>>-+ ip6t_unregister_target(&ip6t_mpls_reg); > >>>++ xt_unregister_target(&ip6t_mpls_reg); > >>>+} > >>>+ > >>>+module_init(init); > >>>@@ -10063,7 +10063,7 @@ > >>>diff -uNr --exclude=3D.p4config linux-kernel/net/mpls/mpls_tunnel.c=20 > >>>mpls-kernel/net/mpls/mpls_tunnel.c > >>>--- linux-kernel/net/mpls/mpls_tunnel.c 1969-12-31 18:00:00.000000000= =20 > >>>-0600 > >>>+++ mpls-kernel/net/mpls/mpls_tunnel.c 2007-02-28 22:07:06.000000000= =20 > >>>-0600 > >>>-@@ -0,0 +1,531 @@ > >>>+@@ -0,0 +1,532 @@ > >>>+/********************************************************************= *********=20 > >>> > >>>+ * MPLS > >>>+ * An implementation of the MPLS (MultiProtocol Label > >>>@@ -10457,7 +10457,8 @@ > >>>+ break; > >>>+ dev =3D mpls_mtp2dev(mtp); > >>>+ } > >>>-+ retval =3D unregister_netdevice(dev); > >>>++ unregister_netdevice(dev); > >>>++ retval =3D 0; > >>>+ break; > >>>+ default: > >>>+ retval =3D -EINVAL; > >>> > >>> > >>> > >>> =20 > >> =20 > > > >------------------------------------------------------------------------- > >This SF.net email is sponsored by DB2 Express > >Download DB2 Express C - the FREE version of DB2 express and take > >control of your XML. No limits. Just data. Click to get it now. > >http://sourceforge.net/powerbar/db2/ > >_______________________________________________ > >mpls-linux-general mailing list > >mpl...@li... > >https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > =20 --=20 James R. Leu jl...@mi... |