Hi Pablo,

After hearing your advice, I modified my configuration on P:

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 
set interface mpls host-eth2 enable 
set interface mpls host-eth3 enable 
set interface ip address host-eth2 14.1.1.2/24 
create mpls tunnel out-label 60 via 12.1.1.2 host-eth3 
set interface state mpls-tunnel0 up 
sr mpls policy add bsid 33 next 60                           //exchange the 
out-label to 60
sr mpls steer l3 23.1.1.0/24 via sr policy bsid 33        
set interface mpls mpls-tunnel0 enable

the trace info on P:
00:01:54:346199: 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 0x5a1d417b nsec 0xdffd3a9 vlan 0 
00:01:54:346226: ethernet-input 
MPLS: 00:0c:29:4d:af:a1 -> 00:0c:29:0f:e2:a8 
00:01:54:346243: mpls-input 
MPLS: next mpls-lookup[1] label 33 ttl 255 
00:01:54:346249: mpls-lookup 
MPLS: next [0], lookup fib index 0, LB index 26 hash 0 label 33 eos 0 
00:01:54:346259: error-drop 
mpls-input: MPLS DROP DPO 

The SR MPLS still not effctive. Is there any example on SR MPLS configuration?

Thanks,
Xyxue


 
From: Pablo Camarillo (pcamaril)
Date: 2017-11-28 18:16
To: 薛欣颖; vpp-dev
Subject: Re: [vpp-dev] SR MPLS not effective
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

Reply via email to