[mpls-linux-general] /proc/net/mpls_out bug with Zebra and LDP (mplsd)
Status: Beta
Brought to you by:
jleu
|
From: Markus H. <mh...@as...> - 2003-03-14 16:11:47
|
Hi all,
is there someone how can help me with the wrong interface in =
/proc/net/mpls_out?
This is my small testseup (UML) - everything latest CVS release,
all networks are /24 and starting with '10.',=20
all MAC-Addrs=3D'00:00:IP'
eth0 eth1 eth1 eth2 eth1 eth2
HOST------LSR1----------LSR3-----------LSR6---------next LSR not started
0.30.2 1.2.1 1.2.3 3.6.3 3.6.6 6.10.6
LSR3 and LSR6 have also a tuntap interface to the host system =
(10.0.23/24 and 10.0.26/24)
i add a additional debug line in mpls_utils.c on LSR3 for a further=20
test, and found:
Mar 9 12:41:15 LSR-3 kernel: : push label Label GEN 10003
Mar 9 12:41:16 LSR-3 kernel: mpls_make_dst: enter
!! -> Mar 9 12:41:16 LSR-3 kernel: mpls_make_dst: dev_get_by_index(ifi) =
=3D 3
Mar 9 12:41:16 LSR-3 kernel: mpls_dst_hold: enter
Mar 9 12:41:16 LSR-3 kernel: mpls_dst_hold: new count 1
Mar 9 12:41:16 LSR-3 kernel: mpls_dst_hold: exit
Mar 9 12:41:16 LSR-3 kernel: mpls_make_dst: exit(a3a5c8a0)
and a small test program found:
LSR-3:/var/log$ cat /proc/net/mpls_out
0x00000002 0/0/0 2 PUSH(gen 10003) SET(eth1,10.3.6.6)
LSR-3:/var/log$ /tmp/getifi eth1
index: 3 name: eth1
so, the parameter ifi to
static struct mpls_dst *mpls_make_dst(unsigned int ifi,struct sockaddr =
*nh,
from
/* NOTE: mpls_make_dst holds the dev,
* so release the hold from dev lookup*/
md =3D =
mpls_make_dst(mir->mir_instruction[i].mir_data.set.mni_if,
&mir->mir_instruction[i].mir_data.set.mni_addr,moi);
dev_put(dev);
in mpls_utils.c is wrong...
why?
in the trace-all dump from a test before i found on LSR3:
> ldp_label_mapping_with_xc: exit
> OUT: Processing: 0a060a00/24 via eth2/0a030606
> EXIT: ldp_label_mapping_initial_callback
which is a correct setting:
10.6.10.0/24 via eth2 of LSR3 to 10.3.6.6 (this is eth1 of LSR6)
but mpls_out says eth1 of LSR3 ...?=20
who is modifying the interface between mplsd and the kenel?
thx in advance,
markus
btw, is there a /proc interface to the 'dev_get_by_index(ifi)' function?
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <linux/if_arp.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include "support.h"
/* get_ifindex - find out ifindex of interface
* ifname: name of the interface
*
* returns ifindex, -1 on error
*/
int get_ifindex(char *ifname)
{
int probe_fd;
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
strncpy((char *)&ifr.ifr_name, ifname, IFNAMSIZ-1);
probe_fd =3D socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (!probe_fd) {
perror("socket");
return -1;
}
/* according to netdevice(7) */
if (ioctl(probe_fd, SIOCGIFINDEX, &ifr) < 0) {
fprintf(stderr, "unknown interface %s\n", ifname);
close(probe_fd);
return -1;
}
close(probe_fd);
return ifr.ifr_ifindex;
}
int main(argc,argv)
int argc;
char *argv[];
{
int i;
i=3Dget_ifindex(argv[1]);
printf("index: %d name: %s\n", i, argv[1]);
return 0;
}
Markus Hennig wrote:
> Markus Hennig wrote:
> > James R. Leu wrote:
> > > Make sure there is not ECMP (equal cost multipath) in your =
network.
> >
> > there are not multipaths, here is my very simple testsetup:
> >
> > all networks are /24 and starting with '10.', all =
MAC-addrs=3D00:00:IP
> >
> >
> >
> > HOST-----lsr1-------------lsr3----------------lsr6---------next LSR =
not started
> > 0.30.2 1.2.1 1.2.3 3.6.3 3.6.6 6.10.6
> >
> > > Other then that, try turning on all mplsd tracing (mpls ldp =
trace all)
> > > and send it to the list.
> >
> > really 'trace all', is there no quieter option ?
> >
>=20
> ok, back with the trace output:
>=20
>=20
> LSR1
> ----
>=20
> LER-1:~$ cat /proc/net/mpls_in
> 0x02710001 0/0/0 gen 10000 0 1 POP PEEK
> 0x02711001 0/0/0 gen 10001 0 1 POP PEEK
> 0x02712001 0/0/0 gen 10002 0 1 POP PEEK
> 0x02713001 0/0/0 gen 10003 0 1 POP PEEK
> 0x02714001 0/0/0 gen 10004 0 1 POP PEEK
> 0x02715001 0/0/0 gen 10005 0 1 POP PEEK
> 0x02716001 0/0/0 gen 10006 0 1 POP PEEK
> 0x02717001 0/0/0 gen 10007 0 1 POP PEEK
> 0x02718001 0/0/0 gen 10008 0 1 POP FWD(0x00000002)
> 0x02719001 0/0/0 gen 10009 0 1 POP FWD(0x00000003)
> 0x0271a001 0/0/0 gen 10010 0 1 POP FWD(0x00000003)
> 0x0271b001 0/0/0 gen 10011 0 1 POP FWD(0x00000003)
> 0x0271c001 0/0/0 gen 10012 0 1 POP PEEK
> 0x0271d001 0/0/0 gen 10013 0 1 POP PEEK
> 0x0271e001 0/0/0 gen 10014 0 1 POP PEEK
> 0x0271f001 0/0/0 gen 10015 0 1 POP PEEK
> 0x02720001 0/0/0 gen 10016 0 1 POP FWD(0x00000002)
> 0x02721001 0/0/0 gen 10017 0 1 POP PEEK
> 0x02722001 0/0/0 gen 10018 0 1 POP PEEK
> 0x02723001 0/0/0 gen 10019 0 1 POP PEEK
> 0x02724001 0/0/0 gen 10020 0 1 POP PEEK
> 0x02725001 0/0/0 gen 10021 0 1 POP FWD(0x00000002)
>=20
> LER-1:~$ cat /proc/net/mpls_out
> 0x00000002 112/7408/0 7 PUSH(gen 10007) SET(eth2,10.1.2.3)
> 0x00000003 0/0/0 5 PUSH(gen 10017) SET(eth2,10.1.2.3)
>=20
> LER-1:~$ ifconfig eth1
> eth1 Link encap:Ethernet HWaddr FE:FD:00:00:00:00
> inet addr:10.0.30.2 Bcast:10.0.30.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:0 (0.0 b) TX bytes:3626 (3.5 Kb)
> Interrupt:5
>=20
>=20
> LER-1:~$ ifconfig eth2
> eth2 Link encap:Ethernet HWaddr 00:00:0A:01:02:01
> inet addr:10.1.2.1 Bcast:10.1.2.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:954 errors:0 dropped:0 overruns:0 frame:0
> TX packets:464 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:66452 (64.8 Kb) TX bytes:38390 (37.4 Kb)
> Interrupt:5
>=20
> -> looks ok
>=20
> ldp_if_new:
> 2003/03/09 10:16:10 MPLS: MPLSd (0.93a) starts
> 2003/03/09 10:16:10 MPLS: interface add lo index 1 flags 73 metric 1 =
mtu
> 16436
> 2003/03/09 10:16:10 MPLS: address add 127.0.0.1 to interface lo
> 2003/03/09 10:16:10 MPLS: interface add dummy0 index 2 flags 195 =
metric 1
> mtu 1500
> 2003/03/09 10:16:10 MPLS: address add 10.0.21.2 to interface dummy0
> 2003/03/09 10:16:10 MPLS: interface add eth2 index 3 flags 4163 metric =
1 mtu
> 1500
> 2003/03/09 10:16:10 MPLS: address add 10.1.2.1 to interface eth2
> 2003/03/09 10:16:10 MPLS: interface add eth0 index 4 flags 4675 metric =
1 mtu
> 1500
> 2003/03/09 10:16:10 MPLS: address add 10.0.21.2 to interface eth0
> 2003/03/09 10:16:10 MPLS: interface add eth1 index 5 flags 4163 metric =
1 mtu
> 1500
> 2003/03/09 10:16:10 MPLS: address add 10.0.30.2 to interface eth1
> 2003/03/09 10:16:10 MPLS: router-id change 10.0.21.2
> 2003/03/09 10:16:10 MPLS: router-id update 10.0.21.2
> 2003/03/09 10:16:10 MPLS: router add 10.0.21.0/24
> 2003/03/09 10:16:10 MPLS: nexthop 0.0.0.0
> 2003/03/09 10:16:10 MPLS: ifindex 4
> 2003/03/09 10:16:10 MPLS: router add 10.0.21.2/32
> 2003/03/09 10:16:10 MPLS: nexthop 0.0.0.0
> 2003/03/09 10:16:10 MPLS: ifindex 2
> 2003/03/09 10:16:10 MPLS: router add 10.0.30.0/24
> 2003/03/09 10:16:10 MPLS: nexthop 0.0.0.0
> 2003/03/09 10:16:10 MPLS: ifindex 5
> 2003/03/09 10:16:10 MPLS: router add 10.1.2.0/24
> 2003/03/09 10:16:10 MPLS: nexthop 0.0.0.0
> 2003/03/09 10:16:10 MPLS: ifindex 3
> 2003/03/09 10:16:10 MPLS: router add 10.3.6.0/24
> 2003/03/09 10:16:10 MPLS: nexthop 10.1.2.3
> 2003/03/09 10:16:10 MPLS: ifindex 3
> 2003/03/09 10:16:10 MPLS: router add 10.6.10.0/24
> 2003/03/09 10:16:10 MPLS: nexthop 10.1.2.3
> 2003/03/09 10:16:10 MPLS: ifindex 3
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> _ldp_global_add_outlabel
> ldp_label_mapping_with_xc: enter
> mpls_mpls_xconnect_add: 10008 <-> 10007
> ldp_label_mapping_with_xc: exit
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> _ldp_global_add_outlabel
> ldp_label_mapping_with_xc: enter
> mpls_mpls_xconnect_add: 10009 <-> 10017
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> mpls_mpls_xconnect_add: 10010 <-> 10017
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> mpls_mpls_xconnect_add: 10011 <-> 10017
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
> ldp_label_mapping_with_xc: exit
> ldp_get_session_by_next_hop: NH_OTHER 0x80cb598
> ldp_get_next_hop_session_for_fec: 0x80cb598
> ldp_label_mapping_with_xc: enter
> mpls_mpls_xconnect_add: 10016 <-> 10007
> ldp_label_mapping_with_xc: exit
> ldp_label_mapping_with_xc: enter
>=20
>=20
> LSR-3
> -----
>=20
> LSR-3:~$ cat /proc/net/mpls_in
> 0x02710001 0/0/0 gen 10000 0 1 POP PEEK
> 0x02711001 0/0/0 gen 10001 0 1 POP PEEK
> 0x02712001 0/0/0 gen 10002 0 1 POP PEEK
> 0x02713001 0/0/0 gen 10003 0 1 POP PEEK
> 0x02714001 0/0/0 gen 10004 0 1 POP PEEK
> 0x02715001 0/0/0 gen 10005 0 1 POP PEEK
> 0x02716001 0/0/0 gen 10006 0 1 POP PEEK
> 0x02717001 145/10028/0 gen 10007 0 1 POP PEEK
> 0x02718001 0/0/0 gen 10008 0 1 POP PEEK
> 0x02719001 0/0/0 gen 10009 0 1 POP PEEK
> 0x0271a001 0/0/0 gen 10010 0 1 POP PEEK
> 0x0271b001 0/0/0 gen 10011 0 1 POP PEEK
> 0x0271c001 0/0/0 gen 10012 0 1 POP PEEK
> 0x0271d001 0/0/0 gen 10013 0 1 POP PEEK
> 0x0271e001 0/0/0 gen 10014 0 1 POP PEEK
> 0x0271f001 0/0/0 gen 10015 0 1 POP PEEK
> 0x02720001 0/0/0 gen 10016 0 1 POP FWD(0x00000002)
> 0x02721001 0/0/0 gen 10017 0 1 POP FWD(0x00000002)
> 0x02722001 0/0/0 gen 10018 0 1 POP FWD(0x00000002)
>=20
> LSR-3:~$ cat /proc/net/mpls_out
> 0x00000002 0/0/0 4 PUSH(gen 10007) SET(eth1,10.3.6.6)
>=20
> LSR-3:~$ ifconfig eth1
> eth1 Link encap:Ethernet HWaddr 00:00:0A:01:02:03
> inet addr:10.1.2.3 Bcast:10.1.2.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:1516 errors:0 dropped:0 overruns:0 frame:0
> TX packets:696 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:103654 (101.2 Kb) TX bytes:58776 (57.3 Kb)
> Interrupt:5
>=20
> LSR-3:/tmp$ ifconfig eth2
> eth2 Link encap:Ethernet HWaddr 00:00:0A:03:06:03
> inet addr:10.3.6.3 Bcast:10.3.6.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:6971 errors:0 dropped:0 overruns:0 frame:0
> TX packets:2990 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:507953 (496.0 Kb) TX bytes:259521 (253.4 Kb)
> Interrupt:5
>=20
>=20
> -> outgoing interface wrong, IP correct
>=20
> ldp_if_new:
> ENTER: ldp_cfg_if_set
> EXIT: ldp_cfg_if_set
> ENTER: ldp_cfg_entity_set
> PRT: ldp_cfg_entity_set: entity not ready
>=20
> EXIT: ldp_cfg_entity_set
> ENTER: ldp_cfg_entity_get
> EXIT: ldp_cfg_entity_get
> ENTER: ldp_cfg_if_get
> EXIT: ldp_cfg_if_get
> ldp_if_new:
> ENTER: ldp_cfg_if_set
> EXIT: ldp_cfg_if_set
> ENTER: ldp_cfg_entity_set
> PRT: ldp_cfg_entity_set: entity not ready
>=20
> EXIT: ldp_cfg_entity_set
> ENTER: ldp_cfg_entity_get
> EXIT: ldp_cfg_entity_get
> ENTER: ldp_cfg_if_get
> EXIT: ldp_cfg_if_get
> 2003/03/09 10:16:20 MPLS: MPLSd (0.93a) starts
> 2003/03/09 10:16:20 MPLS: interface add lo index 1 flags 73 metric 1 =
mtu
> 16436
> 2003/03/09 10:16:20 MPLS: address add 127.0.0.1 to interface lo
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:20 MPLS: interface add dummy0 index 2 flags 195 =
metric 1
> mtu 1500
> 2003/03/09 10:16:20 MPLS: address add 10.0.23.2 to interface dummy0
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:20 MPLS: interface add eth1 index 3 flags 4163 metric =
1 mtu
> 1500
> 2003/03/09 10:16:20 MPLS: address add 10.1.2.3 to interface eth1
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:20 MPLS: interface add eth2 index 4 flags 4163 metric =
1 mtu
> 1500
> 2003/03/09 10:16:20 MPLS: address add 10.3.6.3 to interface eth2
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:20 MPLS: interface add eth0 index 5 flags 4675 metric =
1 mtu
> 1500
> 2003/03/09 10:16:20 MPLS: address add 10.0.23.2 to interface eth0
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:20 MPLS: router-id change 10.0.23.2
> 2003/03/09 10:16:20 MPLS: router-id update 10.0.23.2
> ENTER: ldp_cfg_global_set
> ENTER: ldp_global_shutdown
> ENTER: ldp_entity_shutdown
> ENTER: ldp_if_shutdown
> EXIT: ldp_if_shutdown
> EXIT: ldp_entity_shutdown
> ENTER: ldp_entity_shutdown
> ENTER: ldp_if_shutdown
> EXIT: ldp_if_shutdown
> EXIT: ldp_entity_shutdown
> EXIT: ldp_global_shutdown
> EXIT: ldp_cfg_global_set
> ENTER: ldp_cfg_global_set
> EXIT: ldp_cfg_global_set
> ENTER: ldp_cfg_global_set
> ENTER: ldp_global_startup
> ENTER: ldp_entity_startup
> ENTER: ldp_if_startup
> OUT: Hello Send: entity(1)
> OUT: LPD Header : protocolVersion =3D 1
> OUT: pduLength =3D 30
> OUT: lsrAddress =3D a001702
> OUT: labelSpace =3D 0
> OUT: HELLO MSG ***START***:
> OUT: baseMsg : uBit =3D 0
> OUT: msgType =3D 100
> OUT: msgLength =3D 20
> OUT: msgId =3D 1
> OUT: chpTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 400
> OUT: length =3D 4
> OUT: chpTlv data: holdTime =3D 15
> OUT: chpTlv Flags: target =3D 0
> OUT: request =3D 0
> OUT: res =3D 0
> OUT: Hello msg does not have TrAdr TLV
> OUT: csnTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 402
> OUT: length =3D 4
> OUT: csnTlv data: value =3D 6
> OUT: HELLO MSG ***END***:
>=20
> ...
>=20
> ENTER: ldp_label_mapping_send
> ENTER: lsr_cfg_insegment_set
> EXIT: lsr_cfg_insegment_set
> OUT: In Label Added
> OUT: LPD Header : protocolVersion =3D 1
> OUT: pduLength =3D 33
> OUT: lsrAddress =3D a001702
> OUT: labelSpace =3D 0
> OUT: LABEL MAPPING MSG ***START***:
> OUT: baseMsg : uBit =3D 0
> OUT: msgType =3D 400
> OUT: msgLength =3D 23
> OUT: msgId =3D 22
> OUT: fecTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 100
> OUT: length =3D 7
> OUT: fecTlv->numberFecElements =3D 1
> OUT: elem 0 type is 2
> OUT: Fec Element : type =3D 2, addFam =3D 1, preLen =3D 24, =
address =3D
> a030600
> OUT:
> OUT: fecTlv.wcElemExists =3D 0
> OUT: genLblTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 200
> OUT: length =3D 4
> OUT: genLbl data: label =3D 10007
> OUT: Label mapping msg does not have atm label Tlv
> OUT: Label mapping msg does not have fr label Tlv
> OUT: Label mapping msg does not have hop count Tlv
> OUT: Label mapping msg does not have path vector Tlv
> OUT: Label mapping msg does not have label messageId Tlv
> OUT: Label mapping msg does not have LSPID Tlv
> OUT: Label mapping msg does not have traffic Tlv
> OUT: LABEL MAPPING MSG ***END***:
> OUT: Label Mapping Sent to 0a001502:0 for 0a030600/24
> EXIT: ldp_label_mapping_send
> ldp_label_mapping_with_xc: exit
> OUT: Processing: 0a060a00/24 via eth2/0a030606
> EXIT: ldp_label_mapping_initial_callback
> ENTER: ldp_event
> ENTER: ldp_buf_process
>=20
>=20
> mode trace output necessary ?
>=20
>=20
>=20
>=20
>=20
> LSR-6
> -----
>=20
> LSR-6:/tmp$ cat /proc/net/mpls_in
> 0x02710001 0/0/0 gen 10000 0 1 POP PEEK
> 0x02711001 0/0/0 gen 10001 0 1 POP PEEK
> 0x02712001 0/0/0 gen 10002 0 1 POP PEEK
> 0x02713001 0/0/0 gen 10003 0 1 POP PEEK
> 0x02714001 0/0/0 gen 10004 0 1 POP PEEK
> 0x02715001 0/0/0 gen 10005 0 1 POP PEEK
> 0x02716001 0/0/0 gen 10006 0 1 POP PEEK
> 0x02717001 0/0/0 gen 10007 0 1 POP PEEK
> 0x02718001 0/0/0 gen 10008 0 1 POP FWD(0x00000002)
> 0x02719001 0/0/0 gen 10009 0 1 POP FWD(0x00000002)
> 0x0271a001 0/0/0 gen 10010 0 1 POP FWD(0x00000002)
> 0x0271b001 0/0/0 gen 10011 0 1 POP PEEK
> 0x0271c001 0/0/0 gen 10012 0 1 POP PEEK
> 0x0271d001 0/0/0 gen 10013 0 1 POP PEEK
> 0x0271e001 0/0/0 gen 10014 0 1 POP PEEK
> 0x0271f001 0/0/0 gen 10015 0 1 POP PEEK
> 0x02720001 0/0/0 gen 10016 0 1 POP PEEK
> 0x02721001 0/0/0 gen 10017 0 1 POP PEEK
> 0x02722001 0/0/0 gen 10018 0 1 POP PEEK
>=20
> LSR-6:/tmp$ cat /proc/net/mpls_out
> 0x00000002 0/0/0 4 PUSH(gen 10014) SET(eth2,10.3.6.3)
>=20
> LSR-6:/tmp$ ifconfig eth1
> eth1 Link encap:Ethernet HWaddr 00:00:0A:03:06:06
> inet addr:10.3.6.6 Bcast:10.3.6.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:836 errors:0 dropped:0 overruns:0 frame:0
> TX packets:401 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:58211 (56.8 Kb) TX bytes:33901 (33.1 Kb)
> Interrupt:5
>=20
> eth2 Link encap:Ethernet HWaddr 00:00:0A:06:0A:06
> inet addr:10.6.10.6 Bcast:10.6.10.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:601 errors:0 dropped:0 overruns:0 frame:0
> TX packets:145 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:41900 (40.9 Kb) TX bytes:11922 (11.6 Kb)
> Interrupt:5
>=20
> -> ougoing interface wrong, IP correct
>=20
> ldp_if_new:
> ENTER: ldp_cfg_if_set
> EXIT: ldp_cfg_if_set
> ENTER: ldp_cfg_entity_set
> PRT: ldp_cfg_entity_set: entity not ready
>=20
> EXIT: ldp_cfg_entity_set
> ENTER: ldp_cfg_entity_get
> EXIT: ldp_cfg_entity_get
> ENTER: ldp_cfg_if_get
> EXIT: ldp_cfg_if_get
> ldp_if_new:
> ENTER: ldp_cfg_if_set
> EXIT: ldp_cfg_if_set
> ENTER: ldp_cfg_entity_set
> PRT: ldp_cfg_entity_set: entity not ready
>=20
> EXIT: ldp_cfg_entity_set
> ENTER: ldp_cfg_entity_get
> EXIT: ldp_cfg_entity_get
> ENTER: ldp_cfg_if_get
> EXIT: ldp_cfg_if_get
> 2003/03/09 10:16:28 MPLS: MPLSd (0.93a) starts
> 2003/03/09 10:16:28 MPLS: interface add lo index 1 flags 73 metric 1 =
mtu
> 16436
> 2003/03/09 10:16:28 MPLS: address add 127.0.0.1 to interface lo
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:28 MPLS: interface add dummy0 index 2 flags 195 =
metric 1
> mtu 1500
> 2003/03/09 10:16:28 MPLS: address add 10.0.26.2 to interface dummy0
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:28 MPLS: interface add eth1 index 3 flags 4163 metric =
1 mtu
> 1500
> 2003/03/09 10:16:28 MPLS: address add 10.3.6.6 to interface eth1
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:28 MPLS: interface add eth2 index 4 flags 4163 metric =
1 mtu
> 1500
> 2003/03/09 10:16:28 MPLS: address add 10.6.10.6 to interface eth2
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:28 MPLS: interface add eth0 index 5 flags 4675 metric =
1 mtu
> 1500
> 2003/03/09 10:16:28 MPLS: address add 10.0.26.2 to interface eth0
> ENTER: _ldp_global_ifmgr_callback
> EXIT: _ldp_global_ifmgr_callback
> 2003/03/09 10:16:28 MPLS: router-id change 10.0.26.2
> 2003/03/09 10:16:28 MPLS: router-id update 10.0.26.2
> ENTER: ldp_cfg_global_set
> ENTER: ldp_global_shutdown
> ENTER: ldp_entity_shutdown
> ENTER: ldp_if_shutdown
> EXIT: ldp_if_shutdown
> EXIT: ldp_entity_shutdown
> ENTER: ldp_entity_shutdown
> ENTER: ldp_if_shutdown
> EXIT: ldp_if_shutdown
> EXIT: ldp_entity_shutdown
> EXIT: ldp_global_shutdown
> EXIT: ldp_cfg_global_set
> ENTER: ldp_cfg_global_set
> EXIT: ldp_cfg_global_set
> ENTER: ldp_cfg_global_set
> ENTER: ldp_global_startup
> ENTER: ldp_entity_startup
> ENTER: ldp_if_startup
> OUT: Hello Send: entity(1)
> OUT: LPD Header : protocolVersion =3D 1
> OUT: pduLength =3D 30
> OUT: lsrAddress =3D a001a02
> OUT: labelSpace =3D 0
> OUT: HELLO MSG ***START***:
> OUT: baseMsg : uBit =3D 0
> OUT: msgType =3D 100
> OUT: msgLength =3D 20
> OUT: msgId =3D 1
> OUT: chpTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 400
> OUT: length =3D 4
> OUT: chpTlv data: holdTime =3D 15
> OUT: chpTlv Flags: target =3D 0
> OUT: request =3D 0
> OUT: res =3D 0
> OUT: Hello msg does not have TrAdr TLV
> OUT: csnTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 402
> OUT: length =3D 4
> OUT: csnTlv data: value =3D 6
> OUT: HELLO MSG ***END***:
>=20
> ...
>=20
> ENTER: Prepare_Label_Mapping_Attributes
> EXIT: Prepare_Label_Mapping_Attributes
> ENTER: ldp_label_mapping_send
> ENTER: lsr_cfg_insegment_set
> EXIT: lsr_cfg_insegment_set
> OUT: In Label Added
> OUT: LPD Header : protocolVersion =3D 1
> OUT: pduLength =3D 33
> OUT: lsrAddress =3D a001a02
> OUT: labelSpace =3D 0
> OUT: LABEL MAPPING MSG ***START***:
> OUT: baseMsg : uBit =3D 0
> OUT: msgType =3D 400
> OUT: msgLength =3D 23
> OUT: msgId =3D 41
> OUT: fecTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 100
> OUT: length =3D 7
> OUT: fecTlv->numberFecElements =3D 1
> OUT: elem 0 type is 2
> OUT: Fec Element : type =3D 2, addFam =3D 1, preLen =3D 24, =
address =3D
> a060a00
> OUT:
> OUT: fecTlv.wcElemExists =3D 0
> OUT: genLblTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 200
> OUT: length =3D 4
> OUT: genLbl data: label =3D 10014
> OUT: Label mapping msg does not have atm label Tlv
> OUT: Label mapping msg does not have fr label Tlv
> OUT: Label mapping msg does not have hop count Tlv
> OUT: Label mapping msg does not have path vector Tlv
> OUT: Label mapping msg does not have label messageId Tlv
> OUT: Label mapping msg does not have LSPID Tlv
> OUT: Label mapping msg does not have traffic Tlv
> OUT: LABEL MAPPING MSG ***END***:
> OUT: Label Mapping Sent to 0a001502:0 for 0a060a00/24
> EXIT: ldp_label_mapping_send
> ldp_label_mapping_with_xc: exit
> EXIT: ldp_label_mapping_initial_callback
> ENTER: ldp_label_mapping_initial_callback
> OUT: Initial Label Mapping fired: session(4)
> OUT: Processing: 0a001a00/24 via (not an LDP interface)
>=20
> ldp_label_mapping_with_xc: enter
> ENTER: Prepare_Label_Mapping_Attributes
> EXIT: Prepare_Label_Mapping_Attributes
> ENTER: ldp_label_mapping_send
> ENTER: lsr_cfg_insegment_set
> EXIT: lsr_cfg_insegment_set
> OUT: In Label Added
> OUT: LPD Header : protocolVersion =3D 1
> OUT: pduLength =3D 33
> OUT: lsrAddress =3D a001a02
> OUT: labelSpace =3D 0
> OUT: LABEL MAPPING MSG ***START***:
> OUT: baseMsg : uBit =3D 0
> OUT: msgType =3D 400
> OUT: msgLength =3D 23
> OUT: msgId =3D 42
> OUT: fecTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 100
> OUT: length =3D 7
> OUT: fecTlv->numberFecElements =3D 1
> OUT: elem 0 type is 2
> OUT: Fec Element : type =3D 2, addFam =3D 1, preLen =3D 24, =
address =3D a001a00
> OUT:
> OUT: fecTlv.wcElemExists =3D 0
> OUT: genLblTlv:
> OUT: Tlv:
> OUT: BaseTlv: uBit =3D 0
> OUT: fBit =3D 0
> OUT: type =3D 200
> OUT: length =3D 4
> OUT: genLbl data: label =3D 10015
> OUT: Label mapping msg does not have atm label Tlv
> OUT: Label mapping msg does not have fr label Tlv
> OUT: Label mapping msg does not have hop count Tlv
> OUT: Label mapping msg does not have path vector Tlv
>=20
|