Re: [mpls-linux-general] mpls command does not return
Status: Beta
Brought to you by:
jleu
|
From: James R. L. <jl...@mi...> - 2005-12-13 02:19:22
|
I finally fixed the 'show' commands. Update your iproute2-mpls tree
and you will have the fix. I did update the usage info to show how to
delete a labelspace, I didn't use your method, but thanks for pointing
out that I needed to include that info.
On Fri, Dec 09, 2005 at 01:34:19AM -0600, James R. Leu wrote:
> OK. I was able to duplicate your issue and I think I submitted a fix
> for the add/delete/change/set commands not returnning. I still need
> to figure out the show commands. Basically my tree was out of sync with =
the
> repository, so you didn't have the same code as me.
>=20
> Update you iproute-mpls tree and you will get my fix. One thing to note
> is I changed the syntax of the labelspace command:
>=20
> mpls labelspace set dev eth0 labelspace 0
> ^
> |
> no add or delete
> To delete, set the
> labelspace to -1
>=20
> On Thu, Dec 08, 2005 at 09:35:27AM -0500, Bob Beers wrote:
> > On 12/7/05, James R. Leu <jl...@mi...> wrote:
> > > Could you send me the kernel debug from running the labelspace command
> > > that hangs?
> >=20
> > How about also an strace:
> >=20
> > root@beedril:~# strace mpls labelspace add dev eth0 labelspace 0
> > execve("/usr/sbin/mpls", ["mpls", "labelspace", "add", "dev", "eth0",
> > "labelspace", "0"], [/* 30 vars */]) =3D 0
> > uname({sys=3D"Linux", node=3D"beedril", ...}) =3D 0
> > brk(0) =3D 0x8053000
> > access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or =
directory)
> > open("/etc/ld.so.cache", O_RDONLY) =3D 3
> > fstat64(3, {st_mode=3DS_IFREG|0644, st_size=3D111746, ...}) =3D 0
> > mmap2(NULL, 111746, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0xb7fc7000
> > close(3) =3D 0
> > open("/lib/tls/libm.so.6", O_RDONLY) =3D 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P3\0\000"..., 5=
12) =3D 512
> > fstat64(3, {st_mode=3DS_IFREG|0755, st_size=3D176352, ...}) =3D 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) =3D 0xb7fc6000
> > mmap2(NULL, 139424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> > 0) =3D 0xb7fa3000
> > mmap2(0xb7fc4000, 8192, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20) =3D 0xb7fc4000
> > close(3) =3D 0
> > open("/lib/tls/libresolv.so.2", O_RDONLY) =3D 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200$\0"..., 51=
2) =3D 512
> > fstat64(3, {st_mode=3DS_IFREG|0755, st_size=3D73805, ...}) =3D 0
> > mmap2(NULL, 75976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> > 0) =3D 0xb7f90000
> > mprotect(0xb7f9e000, 18632, PROT_NONE) =3D 0
> > mmap2(0xb7f9f000, 8192, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) =3D 0xb7f9f000
> > mmap2(0xb7fa1000, 6344, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) =3D 0xb7fa1000
> > close(3) =3D 0
> > open("/lib/tls/libc.so.6", O_RDONLY) =3D 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300P\1"..., 51=
2) =3D 512
> > fstat64(3, {st_mode=3DS_IFREG|0755, st_size=3D1366940, ...}) =3D 0
> > mmap2(NULL, 1162428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
> > 3, 0) =3D 0xb7e74000
> > mprotect(0xb7f89000, 27836, PROT_NONE) =3D 0
> > mmap2(0xb7f8a000, 16384, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x115) =3D 0xb7f8a000
> > mmap2(0xb7f8e000, 7356, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) =3D 0xb7f8e000
> > close(3) =3D 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) =3D 0xb7e73000
> > mprotect(0xb7f8a000, 4096, PROT_READ) =3D 0
> > set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e736c0,
> > limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
> > limit_in_pages:1, seg_not_present:0, useable:1}) =3D 0
> > munmap(0xb7fc7000, 111746) =3D 0
> > socket(PF_NETLINK, SOCK_RAW, 0) =3D 3
> > setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) =3D 0
> > setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) =3D 0
> > bind(3, {sa_family=3DAF_NETLINK, pid=3D0, groups=3D00000000}, 12) =3D 0
> > getsockname(3, {sa_family=3DAF_NETLINK, pid=3D3110, groups=3D00000000},=
[12]) =3D 0
> > time(NULL) =3D 1134051713
> > sendto(3, "\24\0\0\0\22\0\1\3\202A\230C\0\0\0\0\0\200\0\0", 20, 0,
> > {sa_family=3DAF_NETLINK, pid=3D0, groups=3D00000000}, 12) =3D 20
> > recvmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000000},
> > msg_iov(1)=3D[{"\344\0\0\0\20\0\2\0\202A\230C&\f\0\0\0\0\4\3\1\0\0\0I\0=
"...,
> > 16384}], msg_controllen=3D0, msg_flags=3D0}, 0) =3D 912
> > brk(0) =3D 0x8053000
> > brk(0x8074000) =3D 0x8074000
> > recvmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000000},
> > msg_iov(1)=3D[{"\24\0\0\0\3\0\2\0\202A\230C&\f\0\0\0\0\0\0\1\0\0\0I\0\0=
"...,
> > 16384}], msg_controllen=3D0, msg_flags=3D0}, 0) =3D 20
> > close(3) =3D 0
> > socket(PF_NETLINK, SOCK_RAW, 16) =3D 3
> > setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) =3D 0
> > setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) =3D 0
> > bind(3, {sa_family=3DAF_NETLINK, pid=3D0, groups=3D0000ffff}, 12) =3D 0
> > getsockname(3, {sa_family=3DAF_NETLINK, pid=3D3110, groups=3D0000ffff},=
[12]) =3D 0
> > time(NULL) =3D 1134051713
> > sendmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000000}, msg_iov(1)=3D[{"
> > \0\0\0\36\0\5\4\202A\230C\0\0\0\0\n\0\0\0\f\0\4\0\4\0"..., 32}],
> > msg_controllen=3D0, msg_flags=3D0}, 0) =3D 32
> > recvmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000080}, msg_iov(1)=3D[{"
> > \0\0\0\36\0\0\0\0\0\0\0\0\0\0\0\n\1\0\0\f\0\4\0\4\0\0"..., 16384}],
> > msg_controllen=3D0, msg_flags=3D0}, 0) =3D 32
> >=20
> >=20
> > and the debug messages:
> >=20
> >=20
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:650:genl_mpls_labelspace_set: enter
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_if.c:175:__mpls_set_labelspace: enter
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_if.c:189:__mpls_set_labelspace: Set labelspace for eth0
> > to 0
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:628:mpls_labelspace_event: enter
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:615:mpls_fill_labelspace: Exit: length
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:642:mpls_labelspace_event: exit
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_if.c:203:__mpls_set_labelspace: exit
> > Dec 8 09:21:53 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:654:genl_mpls_labelspace_set: Exit: 0
> >=20
> >=20
> >=20
> >=20
> >=20
> > >
> > > Do you see this problem with 'mpls ilm show'?
> > >
> >=20
> > yes: seems only 'mpls nhlfe [add|change]' return to command line prompt.
> >=20
> > root@beedril:~# strace mpls ilm show
> > execve("/usr/sbin/mpls", ["mpls", "ilm", "show"], [/* 30 vars */]) =3D 0
> > uname({sys=3D"Linux", node=3D"beedril", ...}) =3D 0
> > brk(0) =3D 0x8053000
> > access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or =
directory)
> > open("/etc/ld.so.cache", O_RDONLY) =3D 3
> > fstat64(3, {st_mode=3DS_IFREG|0644, st_size=3D111746, ...}) =3D 0
> > mmap2(NULL, 111746, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0xb7ee4000
> > close(3) =3D 0
> > open("/lib/tls/libm.so.6", O_RDONLY) =3D 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P3\0\000"..., 5=
12) =3D 512
> > fstat64(3, {st_mode=3DS_IFREG|0755, st_size=3D176352, ...}) =3D 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) =3D 0xb7ee3000
> > mmap2(NULL, 139424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> > 0) =3D 0xb7ec0000
> > mmap2(0xb7ee1000, 8192, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20) =3D 0xb7ee1000
> > close(3) =3D 0
> > open("/lib/tls/libresolv.so.2", O_RDONLY) =3D 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200$\0"..., 51=
2) =3D 512
> > fstat64(3, {st_mode=3DS_IFREG|0755, st_size=3D73805, ...}) =3D 0
> > mmap2(NULL, 75976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> > 0) =3D 0xb7ead000
> > mprotect(0xb7ebb000, 18632, PROT_NONE) =3D 0
> > mmap2(0xb7ebc000, 8192, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) =3D 0xb7ebc000
> > mmap2(0xb7ebe000, 6344, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) =3D 0xb7ebe000
> > close(3) =3D 0
> > open("/lib/tls/libc.so.6", O_RDONLY) =3D 3
> > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300P\1"..., 51=
2) =3D 512
> > fstat64(3, {st_mode=3DS_IFREG|0755, st_size=3D1366940, ...}) =3D 0
> > mmap2(NULL, 1162428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
> > 3, 0) =3D 0xb7d91000
> > mprotect(0xb7ea6000, 27836, PROT_NONE) =3D 0
> > mmap2(0xb7ea7000, 16384, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x115) =3D 0xb7ea7000
> > mmap2(0xb7eab000, 7356, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) =3D 0xb7eab000
> > close(3) =3D 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) =3D 0xb7d90000
> > mprotect(0xb7ea7000, 4096, PROT_READ) =3D 0
> > set_thread_area({entry_number:-1 -> 6, base_addr:0xb7d906c0,
> > limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
> > limit_in_pages:1, seg_not_present:0, useable:1}) =3D 0
> > munmap(0xb7ee4000, 111746) =3D 0
> > socket(PF_NETLINK, SOCK_RAW, 0) =3D 3
> > setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) =3D 0
> > setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) =3D 0
> > bind(3, {sa_family=3DAF_NETLINK, pid=3D0, groups=3D00000000}, 12) =3D 0
> > getsockname(3, {sa_family=3DAF_NETLINK, pid=3D3147, groups=3D00000000},=
[12]) =3D 0
> > time(NULL) =3D 1134052385
> > sendto(3, "\24\0\0\0\22\0\1\3\"D\230C\0\0\0\0\0\200\0\0", 20, 0,
> > {sa_family=3DAF_NETLINK, pid=3D0, groups=3D00000000}, 12) =3D 20
> > recvmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000000},
> > msg_iov(1)=3D[{"\344\0\0\0\20\0\2\0\"D\230CK\f\0\0\0\0\4\3\1\0\0\0I\0\0=
"...,
> > 16384}], msg_controllen=3D0, msg_flags=3D0}, 0) =3D 912
> > brk(0) =3D 0x8053000
> > brk(0x8074000) =3D 0x8074000
> > recvmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000000},
> > msg_iov(1)=3D[{"\24\0\0\0\3\0\2\0\"D\230CK\f\0\0\0\0\0\0\1\0\0\0I\0\0\0=
"...,
> > 16384}], msg_controllen=3D0, msg_flags=3D0}, 0) =3D 20
> > close(3) =3D 0
> > socket(PF_NETLINK, SOCK_RAW, 16) =3D 3
> > setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) =3D 0
> > setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) =3D 0
> > bind(3, {sa_family=3DAF_NETLINK, pid=3D0, groups=3D0000ffff}, 12) =3D 0
> > getsockname(3, {sa_family=3DAF_NETLINK, pid=3D3147, groups=3D0000ffff},=
[12]) =3D 0
> > time(NULL) =3D 1134052385
> > sendto(3, "\24\0\0\0\36\0\1\3\0\0\0\0\0\0\0\0\3\0\0\0", 20, 0,
> > {sa_family=3DAF_NETLINK, pid=3D0, groups=3D00000000}, 12) =3D 20
> > recvmsg(3, {msg_name(12)=3D{sa_family=3DAF_NETLINK, pid=3D0,
> > groups=3D00000000},
> > msg_iov(1)=3D[{"\24\0\0\0\3\0\2\0\0\0\0\0K\f\0\0\0\0\0\0\0\0\0\0\0\0\0"=
...,
> > 16384}], msg_controllen=3D0, msg_flags=3D0}, 0) =3D 20
> > recvmsg(3,
> >=20
> >=20
> > debug log:
> >=20
> > Dec 8 09:33:05 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:217:genl_mpls_ilm_dump: Enter: entry 0
> > Dec 8 09:33:05 beedril kernel: MPLS DEBUG
> > net/mpls/mpls_netlink.c:235:genl_mpls_ilm_dump: Exit: entry 0
> >=20
> >=20
> > --
> > -Bob
>=20
> --=20
> James R. Leu
> jl...@mi...
--=20
James R. Leu
jl...@mi...
|