Thread: [mpls-linux-general] 1.956 testing volunteer
Status: Beta
Brought to you by:
jleu
From: Chris R. <Chr...@nr...> - 2007-06-27 22:31:09
|
James Where can I get 1.956 to start testing. Further, I've built 1.955 for F-7 with kernel 2.6.21 but it has major issues. I suspect the problems are in fib_semantics.c and route.c as those are the files requiring the most dramatic changes. And there are issues with iproute2 (latest) as well...I'll try collecting more details over the next few days..... ...Chris |
From: Chris R. <Chr...@nr...> - 2007-06-28 17:32:19
|
James, Marco This last test used the kernel binaries for 1.955 and iproute2 1.956 binaries I built. Now the iproute commands work, see below, ergo something isnt right with the kernel patches. Any ideas..... # ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 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 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: > > James, Marco > > I installed binaries (kernel) 2.6.20-1.2316fc5.mpls.1.956 and binaries > (iproute) iproute2-2.6.16-060323 with the MPLS patches and get the > exact same error as before with the kernel 2.6.21 builds. The only > thing I can think is because I'm running "ip" and "mpls" commands from > the build directories and not the install directories is causing the > problem? What do you guys think? > > ...Chris > > Chris Robson wrote: >> >> Gentlemen >> >> I was able to build the 2.6.21 kernel with the 1.956 patches but had >> to make some small changes enclosed below. Further I was able to >> issue the example commands however as you can see the "ip route show" >> command dumps a garbage string: >> >> # ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 >> 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 ................ >> 000000000 proto kernel scope link src 10.10.1.26 >> : >> : >> 10.3.1.9 dev tun3 shim � 0x08000400070000003 ................. >> 00000000000 proto kernel scope link src 10.5.1.10 >> 10.128.142.0/24 dev eth0 shim � 0x proto kernel scope link src >> 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 >> patches to get the kernel to compile and run. As for the iproute2 >> files, I just used James's iproute2 sources. >> >> --- /develop/MPLS/mpls-linux-1.956/patches/linux-kernel.diff >> 2007-05-04 00:51:06.000000000 -0400 >> +++ MPLS-MULTIPLE-PATCHES.linux-kernel.diff.CHRIS-MODS.28Jun07.patch >> 2007-06-28 12:54:08.000000000 -0400 >> @@ -311,10 +311,10 @@ >> diff -uNr --exclude=.p4config linux-kernel/include/linux/netdevice.h >> mpls-kernel/include/linux/netdevice.h >> --- linux-kernel/include/linux/netdevice.h 2007-03-24 >> 22:55:23.000000000 -0500 >> +++ mpls-kernel/include/linux/netdevice.h 2007-03-24 >> 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=.p4config linux-kernel/net/ipv6/Kconfig >> 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=.p4config linux-kernel/net/mpls/mpls_tunnel.c >> mpls-kernel/net/mpls/mpls_tunnel.c >> --- linux-kernel/net/mpls/mpls_tunnel.c 1969-12-31 18:00:00.000000000 >> -0600 >> +++ mpls-kernel/net/mpls/mpls_tunnel.c 2007-02-28 22:07:06.000000000 >> -0600 >> -@@ -0,0 +1,531 @@ >> +@@ -0,0 +1,532 @@ >> +/***************************************************************************** >> >> + * MPLS >> + * An implementation of the MPLS (MultiProtocol Label >> @@ -10457,7 +10457,8 @@ >> + break; >> + dev = mpls_mtp2dev(mtp); >> + } >> -+ retval = unregister_netdevice(dev); >> ++ unregister_netdevice(dev); >> ++ retval = 0; >> + break; >> + default: >> + retval = -EINVAL; >> >> >> > > |
From: Chris R. <Chr...@nr...> - 2007-06-28 18:02:59
|
More test results: Kernel: 2.6.20-1.2316fc5.mpls.1.956 built by James (or Marco aka binaries pulled from mirror) Iproute2: 1.956 iproute2-2.6.16-060323, I built) Still get the same failure as discussed previously...... this confirms the kernel patches for anything above kernel-2.6.18-1.2257.fc5.mpls.1.955 distro isnt working correctly ...Chris > James, Marco > > This last test used the kernel binaries for 1.955 and iproute2 1.956 > binaries I built. Now the iproute commands work, see below, ergo > something isnt right with the kernel patches. Any ideas..... > > # ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 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 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: > >> James, Marco >> >> I installed binaries (kernel) 2.6.20-1.2316fc5.mpls.1.956 and binaries >> (iproute) iproute2-2.6.16-060323 with the MPLS patches and get the >> exact same error as before with the kernel 2.6.21 builds. The only >> thing I can think is because I'm running "ip" and "mpls" commands from >> the build directories and not the install directories is causing the >> problem? What do you guys think? >> >> ...Chris >> >> Chris Robson wrote: >> >>> Gentlemen >>> >>> I was able to build the 2.6.21 kernel with the 1.956 patches but had >>> to make some small changes enclosed below. Further I was able to >>> issue the example commands however as you can see the "ip route show" >>> command dumps a garbage string: >>> >>> # ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 >>> 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 ................ >>> 000000000 proto kernel scope link src 10.10.1.26 >>> : >>> : >>> 10.3.1.9 dev tun3 shim � 0x08000400070000003 ................. >>> 00000000000 proto kernel scope link src 10.5.1.10 >>> 10.128.142.0/24 dev eth0 shim � 0x proto kernel scope link src >>> 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 >>> patches to get the kernel to compile and run. As for the iproute2 >>> files, I just used James's iproute2 sources. >>> >>> --- /develop/MPLS/mpls-linux-1.956/patches/linux-kernel.diff >>> 2007-05-04 00:51:06.000000000 -0400 >>> +++ MPLS-MULTIPLE-PATCHES.linux-kernel.diff.CHRIS-MODS.28Jun07.patch >>> 2007-06-28 12:54:08.000000000 -0400 >>> @@ -311,10 +311,10 @@ >>> diff -uNr --exclude=.p4config linux-kernel/include/linux/netdevice.h >>> mpls-kernel/include/linux/netdevice.h >>> --- linux-kernel/include/linux/netdevice.h 2007-03-24 >>> 22:55:23.000000000 -0500 >>> +++ mpls-kernel/include/linux/netdevice.h 2007-03-24 >>> 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=.p4config linux-kernel/net/ipv6/Kconfig >>> 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=.p4config linux-kernel/net/mpls/mpls_tunnel.c >>> mpls-kernel/net/mpls/mpls_tunnel.c >>> --- linux-kernel/net/mpls/mpls_tunnel.c 1969-12-31 18:00:00.000000000 >>> -0600 >>> +++ mpls-kernel/net/mpls/mpls_tunnel.c 2007-02-28 22:07:06.000000000 >>> -0600 >>> -@@ -0,0 +1,531 @@ >>> +@@ -0,0 +1,532 @@ >>> +/***************************************************************************** >>> >>> + * MPLS >>> + * An implementation of the MPLS (MultiProtocol Label >>> @@ -10457,7 +10457,8 @@ >>> + break; >>> + dev = mpls_mtp2dev(mtp); >>> + } >>> -+ retval = unregister_netdevice(dev); >>> ++ unregister_netdevice(dev); >>> ++ retval = 0; >>> + break; >>> + default: >>> + retval = -EINVAL; >>> >>> >>> >>> >> > > ------------------------------------------------------------------------- > 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 > > > > |
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... |
From: Chris R. <Chr...@nr...> - 2007-06-29 09:59:59
|
James I rebuilt iproute just to confirm it was being built with the correct headers (aka "gcc -I ./"), then ran the test again getting the same results. That is: Booting up under pre-built 1.955 kernel binaries using built iproute src's the mpls & ip commands work just fine. Booting up under built 1.956 (but using supplied src's) using built iproute src's the mpls & ip commands fail as shown before. So far, it still seems the 1.956 kernel patches are not catching something. The error I get seems to indicate a terminating string isn't getting terminated some how. I'll start looking closer, using "ddd" on iproute in an attempt to capture in more detail what is happening. As a side note, if this problem can be cracked, the mpls-linux code would most likely integrate into the latest kernel ergo leap past FC6 to F-7, ergo the reason I'm looking so hard at this..... ....Chris James R. Leu wrote: > 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: > >> More test results: >> >> Kernel: 2.6.20-1.2316fc5.mpls.1.956 built by James (or Marco aka >> binaries pulled from mirror) >> Iproute2: 1.956 iproute2-2.6.16-060323, I built) >> >> Still get the same failure as discussed previously...... this confirms >> the kernel patches for anything above >> kernel-2.6.18-1.2257.fc5.mpls.1.955 distro isnt working correctly >> >> ...Chris >> >>> James, Marco >>> >>> This last test used the kernel binaries for 1.955 and iproute2 1.956 >>> binaries I built. Now the iproute commands work, see below, ergo >>> something isnt right with the kernel patches. Any ideas..... >>> >>> # ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 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 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: >>> >>> >>>> James, Marco >>>> >>>> I installed binaries (kernel) 2.6.20-1.2316fc5.mpls.1.956 and binaries >>>> (iproute) iproute2-2.6.16-060323 with the MPLS patches and get the >>>> exact same error as before with the kernel 2.6.21 builds. The only >>>> thing I can think is because I'm running "ip" and "mpls" commands from >>>> the build directories and not the install directories is causing the >>>> problem? What do you guys think? >>>> >>>> ...Chris >>>> >>>> Chris Robson wrote: >>>> >>>> >>>>> Gentlemen >>>>> >>>>> I was able to build the 2.6.21 kernel with the 1.956 patches but had >>>>> to make some small changes enclosed below. Further I was able to >>>>> issue the example commands however as you can see the "ip route show" >>>>> command dumps a garbage string: >>>>> >>>>> # ./mpls/mpls nhlfe add key 0 instructions push gen 16 nexthop eth0 >>>>> 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 ................ >>>>> 000000000 proto kernel scope link src 10.10.1.26 >>>>> : >>>>> : >>>>> 10.3.1.9 dev tun3 shim ??? 0x08000400070000003 ................. >>>>> 00000000000 proto kernel scope link src 10.5.1.10 >>>>> 10.128.142.0/24 dev eth0 shim ??? 0x proto kernel scope link src >>>>> 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 >>>>> patches to get the kernel to compile and run. As for the iproute2 >>>>> files, I just used James's iproute2 sources. >>>>> >>>>> --- /develop/MPLS/mpls-linux-1.956/patches/linux-kernel.diff >>>>> 2007-05-04 00:51:06.000000000 -0400 >>>>> +++ MPLS-MULTIPLE-PATCHES.linux-kernel.diff.CHRIS-MODS.28Jun07.patch >>>>> 2007-06-28 12:54:08.000000000 -0400 >>>>> @@ -311,10 +311,10 @@ >>>>> diff -uNr --exclude=.p4config linux-kernel/include/linux/netdevice.h >>>>> mpls-kernel/include/linux/netdevice.h >>>>> --- linux-kernel/include/linux/netdevice.h 2007-03-24 >>>>> 22:55:23.000000000 -0500 >>>>> +++ mpls-kernel/include/linux/netdevice.h 2007-03-24 >>>>> 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=.p4config linux-kernel/net/ipv6/Kconfig >>>>> 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=.p4config linux-kernel/net/mpls/mpls_tunnel.c >>>>> mpls-kernel/net/mpls/mpls_tunnel.c >>>>> --- linux-kernel/net/mpls/mpls_tunnel.c 1969-12-31 18:00:00.000000000 >>>>> -0600 >>>>> +++ mpls-kernel/net/mpls/mpls_tunnel.c 2007-02-28 22:07:06.000000000 >>>>> -0600 >>>>> -@@ -0,0 +1,531 @@ >>>>> +@@ -0,0 +1,532 @@ >>>>> +/***************************************************************************** >>>>> >>>>> + * MPLS >>>>> + * An implementation of the MPLS (MultiProtocol Label >>>>> @@ -10457,7 +10457,8 @@ >>>>> + break; >>>>> + dev = mpls_mtp2dev(mtp); >>>>> + } >>>>> -+ retval = unregister_netdevice(dev); >>>>> ++ unregister_netdevice(dev); >>>>> ++ retval = 0; >>>>> + break; >>>>> + default: >>>>> + retval = -EINVAL; >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> ------------------------------------------------------------------------- >>> 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 >>> >>> >>> >>> >>> > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > 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 > |
From: James R. L. <jl...@mi...> - 2007-06-29 14:18:18
|
Just as an FYI I have begun the process on my side to convert to F-7 as the main release target and FC6 as a alternative. I do think you are hitting the header file mismatch somehow, because the error you're seeing are inline with what I saw leading to the discovery of the rtnetlink changes. Just as a sanity check did the pre-built RPMs work for you? I believe Marco was able to successfully use them. On Fri, Jun 29, 2007 at 05:59:39AM -0400, Chris Robson wrote: >=20 > James >=20 > I rebuilt iproute just to confirm it was being built with the correct=20 > headers (aka "gcc -I ./"), then ran the test again getting the same=20 > results. That is: >=20 > Booting up under pre-built 1.955 kernel binaries using built iproute=20 > src's the mpls & ip commands work just fine. > Booting up under built 1.956 (but using supplied src's) using built=20 > iproute src's the mpls & ip commands fail as shown before. >=20 > So far, it still seems the 1.956 kernel patches are not catching=20 > something. The error I get seems to indicate a terminating string isn't= =20 > getting terminated some how. >=20 > I'll start looking closer, using "ddd" on iproute in an attempt to=20 > capture in more detail what is happening. >=20 > As a side note, if this problem can be cracked, the mpls-linux code=20 > would most likely integrate into the latest kernel ergo leap past FC6 to= =20 > F-7, ergo the reason I'm looking so hard at this..... > ....Chris >=20 > James R. Leu wrote: > > 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: > >> > >> 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) > >> > >> Still get the same failure as discussed previously...... this confirm= s=20 > >> the kernel patches for anything above=20 > >> kernel-2.6.18-1.2257.fc5.mpls.1.955 distro isnt working correctly > >> > >> ...Chris > >> =20 > >>> 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 i= pv4=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.12= 2.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 > >>> =20 > >>>> James, Marco > >>>> > >>>> I installed binaries (kernel) 2.6.20-1.2316fc5.mpls.1.956 and binari= es=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 onl= y=20 > >>>> thing I can think is because I'm running "ip" and "mpls" commands fr= om=20 > >>>> the build directories and not the install directories is causing the= =20 > >>>> problem? What do you guys think? > >>>> > >>>> ...Chris > >>>> > >>>> Chris Robson wrote: > >>>> =20 > >>>> =20 > >>>>> Gentlemen > >>>>> > >>>>> I was able to build the 2.6.21 kernel with the 1.956 patches but ha= d=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 sho= w"=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.dii= f=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.patc= h=20 > >>>>> 2007-06-28 12:54:08.000000000 -0400 > >>>>> @@ -311,10 +311,10 @@ > >>>>> diff -uNr --exclude=3D.p4config linux-kernel/include/linux/netdevic= e.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 -05= 00 > >>>>> +++ 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.0000000= 00=20 > >>>>> -0600 > >>>>> +++ mpls-kernel/net/mpls/mpls_tunnel.c 2007-02-28 22:07:06.00000000= 0=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 > >>>> =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 > > > > =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 > ------------------------------------------------------------------------- > 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 James R. Leu jl...@mi... |