Re: [mpls-linux-devel] LDP Configuation
Status: Beta
Brought to you by:
jleu
From: <gsr...@al...> - 2006-11-22 14:20:26
|
Hi! Thanks for your information. I decided to test the new configuration in the following scenario, only = with two routers to realized what LDP really does. =20 13.0.0.0/24 .1 .1 .2 .1 14.0.0.0/24 -------PE1-----------------PE3------- eth2 eth1 eth0 eth2 12.0.0.0/24 =20 These are the .conf files I use for PE1: ZEBRA ------------------------------------------------------------------ ! hostname PE1 password root log file /var/log/quagga/zebra.log debug zebra events debug zebra kernel ! ! interface lo ! ! interface eth1 ! interface eth2 ! ! OSPFD ------------------------------------------------------------------ ! hostname PE1 password root log file /var/log/quagga/ospfd.log ! ! ! interface eth1 description 12.0.0.1 netmask 255.255.255.0 broadcast 12.0.0.255 ! = interface eth2 description 13.0.0.1 netmask 255.255.255.0 broadcast 13.0.0.255 ! interface lo ! router ospf ospf router-id 0.0.0.1 network 12.0.0.0/24 = area 0 network 13.0.0.0/24 area 0 ! line vty ! LDPD ------------------------------------------------------------------ ! hostname PE1 password root log file /var/log/quagga/ldpd.log ! interface eth1 mpls ip ! interface eth2 ! interface lo ! ! line vty ! VTYSH ------------------------------------------------------------------ ! service integrated-vtysh-config hostname PE1 ! As you suggested, after running all those daemons (zebra -d, ospfd -d, ldpd-d) I type "vtysh" to finally set the proper LDPD commands: "mpls = ldp", and in each interface of 12.0.0.0/24 subnet, "mpls ip" and "mpls = labelspace 0". I got some problems with mpls labelspace, cause sometimes when I type = the command occurs an I/O error and the daemon zebra is killed. In the end, = when it works, I capture the traffic and this is what happens: 1.Both PEs pass the stage of discovering with HELLO messages. 2.I can see INITIALIZATION messages in both ways, but the ones from 12.2 = to 12.1 have a TCP checksum error. However, the LDP message seems to be correct. With correct LSRs identifiers and these session parameters: -Downstream unsolicited mode. -Loop detection disabled. -MPLS labelspace 0. 3.The KEEPALIVEs in the way PE1 also travel with checksum error as well = as all types of LDP messages but HELLOs. The ADDRESS messages are set with = the correct values of neighbor address. 4.The LABEL MAPPING messages carry the value of a label inside, which is = the same for both ways, 10000. 5.The problem is that after distributing the labels, 12.1 sends to 12.2 = a NOTIFICATION message with the status: fatal error, session rejected and = then the process starts again, now exchanging different values of labels = (always the same in both ways) 10001, 10002 and so on. This is what I get in PE1 and the same in PE2 with other addresses: PE1# sh ldp neig Peer LDP Ident: 14.0.0.1:0; Local LDP Ident: 13.0.0.1:0 TCP connection: 0.0.0.0.646 - 12.0.0.2.45099 State: OPERATIONAL; Msgs sent/recv: 489/1459; UNSOLICITED Up time: 02:00:24 LDP discovery sources: eth1 Addresses bound to peer: 12.0.0.2 14.0.0.1 I try to do: ping -c3 14.0.0.1 from PE1, but the ICMP packets don't = carry any LDP label. Besides, MPLS NHLFE and MPLS ILM tables are empty. Is this the expected behavior? Thanks in advance, Gonzalo |