Hi Xyxue, Could you please explain what you want to achieve with this config? Where do you want to start your SR policy? None of the configs that you described below for P will work.
In the case #1 you are creating a SR policy with BSID 33. Then for any packet with incoming label 33 you will push the SID list of the SR policy. However, you are also creating an mpls local-label for 33 as well which you do not need. On top of that, you are configuring the SR policy with SID list < 60 >, but you have not set a local-label/route for 60. Hence packet will be dropped. Thanks. Cheers, Pablo. From: <vpp-dev-boun...@lists.fd.io> on behalf of 薛欣颖 <xy...@fiberhome.com> Date: Tuesday, 28 November 2017 at 08:08 To: vpp-dev <vpp-dev@lists.fd.io> Subject: [vpp-dev] SR MPLS not effective Hi guys, I have tried every configuration I can guess. The sr mpls still not effective on my vpp. Can you give me an effective configuration, or can you help figure out the error in my configuration? PE1 - P - PE2 PE1 configuration: create host-interface name eth4 mac 00:0c:29:4d:af:b5 create host-interface name eth2 mac 00:0c:29:4d:af:a1 set interface state host-eth2 up set interface state host-eth4 up set interface ip table host-eth4 1 set interface ip address host-eth2 14.1.1.1/24 set interface ip address host-eth4 21.1.1.1/24 create mpls tunnel out-label 33 out-label 53 via 14.1.1.2 host-eth2 set interface state mpls-tunnel0 up mpls table add 0 set interface mpls host-eth2 enable ip route add 23.1.1.1/24 via interface mpls-tunnel0 table 1 mpls local-label add eos 1053 ip4-lookup-in-table 1 mpls local-label add non-eos 1060 mpls-lookup-in-table 0 PE2 configuration: create host-interface name eth3 mac 00:0c:29:19:8e:76 create host-interface name eth5 mac 00:0c:29:19:8e:8a set interface state host-eth3 up set interface state host-eth5 up set interface ip address host-eth3 12.1.1.2/24 set interface ip table host-eth5 1 set interface ip address host-eth5 23.1.1.1/24 mpls table add 0 mpls table add 1 mpls local-label add non-eos 60 mpls-lookup-in-table 0 mpls local-label add eos 53 ip4-lookup-in-table 1 set interface mpls host-eth5 enable set interface mpls host-eth3 enable create mpls tunnel out-label 1023 out-label 1053 via 12.1.1.1 host-eth3 set interface state mpls-tunnel0 up ip route add 21.1.1.0/24 via interface mpls-tunnel0 table 1 P configuration: (only modify the configuration on P) 1. drop packet.(when decap outer label,can't encap outer label) the configuration and trace is following: create host-interface name eth2 mac 00:0c:29:0f:e2:a8 create host-interface name eth3 mac 00:0c:29:0f:e2:b2 set interface state host-eth2 up set interface state host-eth3 up set interface ip address host-eth3 12.1.1.1/24 mpls table add 0 mpls table add 1 set interface mpls host-eth2 enable set interface mpls host-eth3 enable mpls local-label add non-eos 33 mpls-lookup-in-table 0 set interface ip address host-eth2 14.1.1.2/24 mpls local-label add eos 53 ip4-lookup-in-table 0 mpls local-label add eos 1053 ip4-lookup-in-table 0 mpls local-label add non-eos 1023 mpls-lookup-in-table 0 sr mpls policy add bsid 33 next 60 00:08:35:510564: af-packet-input af_packet: hw_if_index 1 next-index 4 tpacket2_hdr: status 0x20000001 len 86 snaplen 86 mac 66 net 80 sec 0x5a1cbe94 nsec 0x1ea50e69 vlan 0 00:08:35:510591: ethernet-input MPLS: 00:0c:29:4d:af:a1 -> 00:0c:29:0f:e2:a8 00:08:35:510650: mpls-input MPLS: next mpls-lookup[1] label 33 ttl 255 00:08:35:510657: mpls-lookup MPLS: next [0], lookup fib index 0, LB index 26 hash 0 label 33 eos 0 00:08:35:510666: error-drop mpls-input: MPLS DROP DPO 2.replace 'sr mpls policy add bsid 33 next 60' with 'sr mpls policy add bsid 4001 next 60'. the trace info is following: 00:15:38:655991: af-packet-input af_packet: hw_if_index 1 next-index 4 tpacket2_hdr: status 0x20000001 len 86 snaplen 86 mac 66 net 80 sec 0x5a1cc03b nsec 0x1225fbd8 vlan 0 00:15:38:656023: ethernet-input MPLS: 00:0c:29:4d:af:a1 -> 00:0c:29:0f:e2:a8 00:15:38:656089: mpls-input MPLS: next mpls-lookup[1] label 33 ttl 255 00:15:38:656100: mpls-lookup MPLS: next [6], lookup fib index 0, LB index 26 hash 0 label 33 eos 0 00:15:38:656130: lookup-mpls-dst fib-index:0 hdr:[53:255:0:eos] load-balance:31 00:15:38:656137: ip4-mpls-label-disposition disp:0 00:15:38:656144: lookup-ip4-dst fib-index:0 addr:23.1.1.5 load-balance:1 00:15:38:656151: ip4-drop ICMP: 21.1.1.5 -> 23.1.1.5 tos 0x00, ttl 63, length 64, checksum 0x4db1 fragment id 0x0001 ICMP echo_request checksum 0x5f5d 00:15:38:656160: error-drop ip4-mpls-label-disposition: valid ip4 packets 3.add the mpls tunnel configuration, remove static routing configuration, the configuration and trace is following: create host-interface name eth2 mac 00:0c:29:0f:e2:a8 create host-interface name eth3 mac 00:0c:29:0f:e2:b2 set interface state host-eth2 up set interface state host-eth3 up set interface ip address host-eth3 12.1.1.1/24 mpls table add 0 mpls table add 1 set interface mpls host-eth2 enable set interface mpls host-eth3 enable mpls local-label add non-eos 33 mpls-lookup-in-table 0 set interface ip address host-eth2 14.1.1.2/24 mpls local-label add eos 53 ip4-lookup-in-table 0 mpls local-label add eos 1053 ip4-lookup-in-table 0 mpls local-label add non-eos 1023 mpls-lookup-in-table 0 sr mpls policy add bsid 4001 next 60 create mpls tunnel out-label 60 out-label 53 via 12.1.1.2 host-eth3 set interface state mpls-tunnel0 up 00:05:36:319144: af-packet-input af_packet: hw_if_index 1 next-index 4 tpacket2_hdr: status 0x20000001 len 86 snaplen 86 mac 66 net 80 sec 0x5a1cfd63 nsec 0x1dabd081 vlan 0 00:05:36:319169: ethernet-input MPLS: 00:0c:29:4d:af:a1 -> 00:0c:29:0f:e2:a8 00:05:36:319225: mpls-input MPLS: next mpls-lookup[1] label 33 ttl 255 00:05:36:319231: mpls-lookup MPLS: next [6], lookup fib index 0, LB index 26 hash 0 label 33 eos 0 00:05:36:319238: lookup-mpls-dst fib-index:0 hdr:[53:255:0:eos] load-balance:31 00:05:36:319243: ip4-mpls-label-disposition disp:0 00:05:36:319249: lookup-ip4-dst fib-index:0 addr:23.1.1.5 load-balance:1 00:05:36:319254: ip4-drop ICMP: 21.1.1.5 -> 23.1.1.5 tos 0x00, ttl 63, length 64, checksum 0x4db1 fragment id 0x0001 ICMP echo_request checksum 0x5f5d 00:05:36:319260: error-drop ip4-mpls-label-disposition: valid ip4 packets 4.only decap the outer label, enable mpls tunnel only one label: create host-interface name eth2 mac 00:0c:29:0f:e2:a8 create host-interface name eth3 mac 00:0c:29:0f:e2:b2 set interface state host-eth2 up set interface state host-eth3 up set interface ip address host-eth3 12.1.1.1/24 mpls table add 0 mpls table add 1 set interface mpls host-eth2 enable set interface mpls host-eth3 enable mpls local-label add non-eos 33 mpls-lookup-in-table 0 set interface ip address host-eth2 14.1.1.2/24 create mpls tunnel out-label 60 via 12.1.1.2 host-eth3 sr mpls policy add bsid 4001 next 60 set interface state mpls-tunnel0 up 00:06:13:222299: af-packet-input af_packet: hw_if_index 1 next-index 4 tpacket2_hdr: status 0x20000001 len 86 snaplen 86 mac 66 net 80 sec 0x5a1cce7a nsec 0x228cce67 vlan 0 00:06:13:222341: ethernet-input MPLS: 00:0c:29:4d:af:a1 -> 00:0c:29:0f:e2:a8 00:06:13:222441: mpls-input MPLS: next mpls-lookup[1] label 33 ttl 255 00:06:13:222456: mpls-lookup MPLS: next [6], lookup fib index 0, LB index 26 hash 0 label 33 eos 0 00:06:13:222471: lookup-mpls-dst fib-index:0 hdr:[53:255:0:eos] load-balance:13 00:06:13:222485: error-drop mpls-input: MPLS DROP DPO Thanks, xyxue ________________________________
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev