Re: [mpls-linux-general] mpls command does not return
Status: Beta
Brought to you by:
jleu
|
From: James R. L. <jl...@mi...> - 2005-12-09 07:34:29
|
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.
Update you iproute-mpls tree and you will get my fix. One thing to note
is I changed the syntax of the labelspace command:
mpls labelspace set dev eth0 labelspace 0
^
|
no add or delete
To delete, set the
labelspace to -1
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 di=
rectory)
> 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"..., 512=
) =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"..., 512)=
=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"..., 512)=
=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 di=
rectory)
> 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"..., 512=
) =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"..., 512)=
=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"..., 512)=
=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
James R. Leu
jl...@mi...
|