Hi neale,

My configuration and result is shown below:
VPWS:
######## ######## ######## ########
 ####PE1
create host-interface name eth0
create host-interface name eth1
set int state host-eth1 up
set int state host-eth0 up
set interface mac address host-eth0 00:03:7F:FF:FF:FF
set interface mac address host-eth1 00:03:7F:FF:FF:FE
set int ip address host-eth1 2.1.1.1/24    
set interface mpls  host-eth1   enable    
mpls tunnel l2-only via 2.1.1.2 host-eth1 out-label 34  out-label 33
set int state mpls-tunnel0 up
set interface l2 xconnect   host-eth0  mpls-tunnel0 
set interface l2 xconnect    mpls-tunnel0  host-eth0
mpls local-label add eos 1023 l2-input-on mpls-tunnel0
mpls local-label add non-eos 1024 mpls-lookup-in-table 0

######## ######## ######## ########
 ####PE2 
create host-interface name eth0
create host-interface name eth1
set int state host-eth1 up
set int state host-eth0 up
set interface mac address host-eth0 00:50:43:00:02:02
set interface mac address host-eth1 0E:1A:0D:00:50:43
set int ip address host-eth1 2.1.1.2/24    
set interface mpls  host-eth1   enable 
mpls tunnel l2-only via 2.1.1.1 host-eth1 out-label 1024 out-label 1023
set int state mpls-tunnel0 up
set interface l2 xconnect  host-eth0  mpls-tunnel0 
set interface l2 xconnect    mpls-tunnel0  host-eth0
mpls local-label add eos 33 l2-input-on mpls-tunnel0
mpls local-label add non-eos 34 mpls-lookup-in-table 0
------------------------------------------------------------------------------
VPP1:TRACE
DBGvpp# show trace
------------------- Start of thread 0 vpp_main -------------------
Packet 1

00:09:25:129727: af-packet-input
  af_packet: hw_if_index 1 next-index 4
    tpacket2_hdr:
      status 0x1 len 76 snaplen 76 mac 66 net 80
      sec 0xf4f nsec 0x116a48bd vlan 0
00:09:25:130448: ethernet-input
  IP4: 00:03:7f:ff:ff:ff -> 2c:53:4a:02:19:32
00:09:25:130633: l2-input
  l2-input: sw_if_index 1 dst 2c:53:4a:02:19:32 src 00:03:7f:ff:ff:ff
00:09:25:130766: l2-output
  l2-output: sw_if_index 3 dst 2c:53:4a:02:19:32 src 00:03:7f:ff:ff:ff data 08 
00 45 00 00 3e 89 7b 40 00 40 06
00:09:25:130898: mpls-tunnel0-output
  mpls-tunnel0
  00000000: 2c534a02193200037fffffff08004500003e897b4000400629c6c0a8031ec0a8
  00000020: 030a0017c27ca39f95145a447717801806b4f05000000101080a000dce770177
  00000040: 2f3b0d0a44424776707023200000000000000000000000000000000000000000
  00000060: 00000000000000000000000000000000000000000000000000000000
00:09:25:131028: mpls-tunnel0-tx
  MPLS: tunnel 0
00:09:25:131076: l2-load-balance
  L2-load-balance: index 22
00:09:25:131136: ethernet-mpls-label-imposition
    mpls-header:[33:255:0:eos]
00:09:25:131185: mpls-output
  adj-idx 2 : mpls via 2.1.1.2 host-eth1: 0e1a0d00504300037ffffffe8847 flow 
hash: 0x34f3c577
  00000000: 0000000000000000000000000000000000000000000000000000000000000000
  00000020: 00000000000000000000000000000000000000000000000000000000
00:09:25:131367: host-eth1-output
  host-eth1
  MPLS: 00:03:7f:ff:ff:fe -> 0e:1a:0d:00:50:43
  label 34 exp 0, s 0, ttl 255
----------------------------------------------------------------------------------------------------------------
VPP2 :TRACE 
DBGvpp# show trace 
------------------- Start of thread 0 vpp_main -------------------
Packet 1

00:07:39:676480: af-packet-input
  af_packet: hw_if_index 1 next-index 4
    tpacket2_hdr:
      status 0x9 len 76 snaplen 76 mac 66 net 80
      sec 0x34d7 nsec 0x127c23fe vlan 0
00:07:39:678704: ethernet-input
  IP4: 00:50:43:00:02:02 -> 2c:53:4a:02:91:db
00:07:39:678768: l2-input
  l2-input: sw_if_index 1 dst 2c:53:4a:02:91:db src 00:50:43:00:02:02
00:07:39:678820: l2-output
  l2-output: sw_if_index 3 dst 2c:53:4a:02:91:db src 00:50:43:00:02:02 data 08 
00 45 00 00 3e d3 86 40 00 40 06
00:07:39:678871: mpls-tunnel0-output
  mpls-tunnel0
  00000000: 2c534a0291db00504300020208004500003ed38640004006e1bac0a8021ec0a8
  00000020: 020a0017dfbad30444a91093a7448018007c85a900000101080a00142eeb0161
  00000040: 59bc0d0a44424776707023200000000000000000000000000000000000000000
  00000060: 00000000000000009081ca313a4b9123cba7542b6a6590af9a3c24b9
00:07:39:678928: mpls-tunnel0-tx
  MPLS: tunnel 0
00:07:39:678948: l2-load-balance
  L2-load-balance: index 22
00:07:39:678980: ethernet-mpls-label-imposition
    mpls-header:[1023:255:0:eos]
00:07:39:679035: mpls-output
  adj-idx 2 : mpls via 2.1.1.1 host-eth1: 00037ffffffe0e1a0d0050438847 flow 
hash: 0xc147b333
  00000000: 0000000000000000000000000000000000000000000000000000000000000000
  00000020: 00000000000000000000000000000000000000000000000000000000
00:07:39:679078: host-eth1-output
  host-eth1
  MPLS: 0e:1a:0d:00:50:43 -> 00:03:7f:ff:ff:fe
  label 1024 exp 0, s 0, ttl 255

It seems that MPLS label didn't pop,cause the message format to be 
incorrect.capture result is in the annex.
Fib info is shown below:
 vpp1 show mpls fib
DBGvpp#            show mpls fib                                                
                                                                                
                
MPLS-VRF:0, fib_index 0
ip4-explicit-null:neos/21 fib:0 index:15 locks:2
  src:special  refs:1 flags:exclusive,
    index:19 locks:2 flags:exclusive, uPRF-list:17 len:0 itfs:[]
      index:19 pl-index:19 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's mpls table

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:18 buckets:1 uRPF:17 to:[0:0]]
    [0] [@4]: dst-address,unicast lookup in interface's mpls table
ip4-explicit-null:eos/21 fib:0 index:14 locks:2
  src:special  refs:1 flags:exclusive,
    index:18 locks:2 flags:exclusive, uPRF-list:16 len:0 itfs:[]
      index:18 pl-index:18 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's ip4 table

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:17 buckets:1 uRPF:16 to:[0:0]]
    [0] [@3]: dst-address,unicast lookup in interface's ip4 table
router-alert:neos/21 fib:0 index:12 locks:2
  src:special  refs:1 flags:exclusive,
    index:16 locks:2 flags:exclusive, uPRF-list:14 len:0 itfs:[]
      index:16 pl-index:16 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dpo-punt

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:15 buckets:1 uRPF:14 to:[0:0]]
    [0] [@2]: dpo-punt
router-alert:eos/21 fib:0 index:13 locks:2
  src:special  refs:1 flags:exclusive,
    index:17 locks:2 flags:exclusive, uPRF-list:15 len:0 itfs:[]
      index:17 pl-index:17 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dpo-punt

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:16 buckets:1 uRPF:15 to:[0:0]]
    [0] [@2]: dpo-punt
ipv6-explicit-null:neos/21 fib:0 index:17 locks:2
  src:special  refs:1 flags:exclusive,
    index:21 locks:2 flags:exclusive, uPRF-list:19 len:0 itfs:[]
      index:21 pl-index:21 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's mpls table

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:20 buckets:1 uRPF:19 to:[0:0]]
    [0] [@4]: dst-address,unicast lookup in interface's mpls table
ipv6-explicit-null:eos/21 fib:0 index:16 locks:2
  src:special  refs:1 flags:exclusive,                                          
                                                                                
                
    index:20 locks:2 flags:exclusive, uPRF-list:18 len:0 itfs:[]
      index:20 pl-index:20 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's ip6 table

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:19 buckets:1 uRPF:18 to:[0:0]]
    [0] [@5]: dst-address,unicast lookup in interface's ip6 table
1023:eos/21 fib:0 index:18 locks:2
  src:CLI  refs:1 flags:attached,
    index:23 locks:2 flags:shared, uPRF-list:21 len:0 itfs:[]
      index:23 pl-index:23 ethernet weight=1 intf-rx:  oper-flags:resolved, 
cfg-flags:attached,interface-rx,
       [@0]: mpls-tunnel0-dpo: ethernet

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:21 buckets:1 uRPF:21 
to:[4070:521337]]
    [0] [@6]: mpls-tunnel0-dpo: ethernet
1024:neos/21 fib:0 index:19 locks:2
  src:CLI  refs:1 
    index:24 locks:2 flags:shared, uPRF-list:22 len:0 itfs:[]
      index:24 pl-index:24 mpls weight=1 deag:  oper-flags:resolved,
       [@0]: dst-address,unicast lookup in MPLS-VRF:0

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:23 buckets:1 uRPF:22 
to:[4070:537617]]
    [0] [@7]: dst-address,unicast lookup in MPLS-VRF:0
DBGvpp#          
----------------------------------------------------------------------------------------------------------
VPP2 show mpls fib
DBGvpp# show mpls fib
MPLS-VRF:0, fib_index 0
ip4-explicit-null:neos/21 fib:0 index:15 locks:2
  src:special  refs:1 flags:exclusive,
    index:19 locks:2 flags:exclusive, uPRF-list:17 len:0 itfs:[]
      index:19 pl-index:19 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's mpls table

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:18 buckets:1 uRPF:17 to:[0:0]]
    [0] [@4]: dst-address,unicast lookup in interface's mpls table
ip4-explicit-null:eos/21 fib:0 index:14 locks:2
  src:special  refs:1 flags:exclusive,
    index:18 locks:2 flags:exclusive, uPRF-list:16 len:0 itfs:[]
      index:18 pl-index:18 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's ip4 table

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:17 buckets:1 uRPF:16 to:[0:0]]
    [0] [@3]: dst-address,unicast lookup in interface's ip4 table
router-alert:neos/21 fib:0 index:12 locks:2
  src:special  refs:1 flags:exclusive,
    index:16 locks:2 flags:exclusive, uPRF-list:14 len:0 itfs:[]
      index:16 pl-index:16 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dpo-punt

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:15 buckets:1 uRPF:14 to:[0:0]]
    [0] [@2]: dpo-punt
router-alert:eos/21 fib:0 index:13 locks:2
  src:special  refs:1 flags:exclusive,
    index:17 locks:2 flags:exclusive, uPRF-list:15 len:0 itfs:[]
      index:17 pl-index:17 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dpo-punt

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:16 buckets:1 uRPF:15 to:[0:0]]
    [0] [@2]: dpo-punt
ipv6-explicit-null:neos/21 fib:0 index:17 locks:2
  src:special  refs:1 flags:exclusive,
    index:21 locks:2 flags:exclusive, uPRF-list:19 len:0 itfs:[]
      index:21 pl-index:21 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's mpls table

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:20 buckets:1 uRPF:19 to:[0:0]]
    [0] [@4]: dst-address,unicast lookup in interface's mpls table
ipv6-explicit-null:eos/21 fib:0 index:16 locks:2
  src:special  refs:1 flags:exclusive,                                          
                                                                                
                
    index:20 locks:2 flags:exclusive, uPRF-list:18 len:0 itfs:[]
      index:20 pl-index:20 mpls weight=1 exclusive:  oper-flags:resolved, 
cfg-flags:exclusive,
       [@0]: dst-address,unicast lookup in interface's ip6 table

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:19 buckets:1 uRPF:18 to:[0:0]]
    [0] [@5]: dst-address,unicast lookup in interface's ip6 table
33:eos/21 fib:0 index:18 locks:2
  src:CLI  refs:1 flags:attached,
    index:23 locks:2 flags:shared, uPRF-list:21 len:0 itfs:[]
      index:23 pl-index:23 ethernet weight=1 intf-rx:  oper-flags:resolved, 
cfg-flags:attached,interface-rx,
       [@0]: mpls-tunnel0-dpo: ethernet

 forwarding:   mpls-eos-chain
  [@0]: dpo-load-balance: [proto:mpls index:21 buckets:1 uRPF:21 
to:[32489:4139568]]
    [0] [@6]: mpls-tunnel0-dpo: ethernet
34:neos/21 fib:0 index:19 locks:2
  src:CLI  refs:1 
    index:24 locks:2 flags:shared, uPRF-list:22 len:0 itfs:[]
      index:24 pl-index:24 mpls weight=1 deag:  oper-flags:resolved,
       [@0]: dst-address,unicast lookup in MPLS-VRF:0

 forwarding:   mpls-neos-chain
  [@0]: dpo-load-balance: [proto:mpls index:23 buckets:1 uRPF:22 
to:[32489:4269524]]
    [0] [@7]: dst-address,unicast lookup in MPLS-VRF:0

VPLS configuration:
MPLS L2VPN VPLS
######## ######## ######## ########
 ####PE1   
create host-interface name eth0
create host-interface name eth1
set int state host-eth1 up
set int state host-eth0 up
set interface mac address host-eth0 00:03:7F:FF:FF:FF
set interface mac address host-eth1 00:03:7F:FF:FF:FE
set int ip address host-eth1 2.1.1.1/24   
set interface mpls  host-eth1   enable    
mpls tunnel l2-only via 2.1.1.2 host-eth1 out-label 34  out-label 33
set int state mpls-tunnel0 up
set interface l2 bridge  mpls-tunnel0 1 
set interface l2 bridge host-eth0  1
mpls local-label add eos 1023 l2-input-on mpls-tunnel0
mpls local-label add non-eos 1024 mpls-lookup-in-table 0

######## ######## ######## ########
 ####PE2 
create host-interface name eth0
create host-interface name eth1
set int state host-eth1 up
set int state host-eth0 up
set interface mac address host-eth0 00:50:43:00:02:02
set interface mac address host-eth1 0E:1A:0D:00:50:43
set int ip address host-eth1 2.1.1.2/24 
set interface mpls  host-eth1   enable   
mpls tunnel l2-only via 2.1.1.1 host-eth1 out-label 1024 out-label 1023
set int state mpls-tunnel0 up
set interface l2 bridge mpls-tunnel0 1 
set interface l2 bridge host-eth0  1
mpls local-label add eos 33 l2-input-on mpls-tunnel0
mpls local-label add non-eos 34 mpls-lookup-in-table 0

flow direction:vpp2 -> vpp1
VPLS flow didn't take the MPLS process.
DBGvpp# show error
   Count                    Node                  Reason
         4                ip4-input               ip4 length > l2 length
       226                ip4-input               ip4 adjacency drop
         3                ip4-glean               ARP requests sent
         1             ip4-icmp-input             unknown type
       245                l2-learn                L2 learn packets
         3                l2-learn                L2 learn misses
       242                l2-learn                L2 learn hits
       245                l2-input                L2 input packets
       245                 l2-fwd                 Reflection Drop
        29             ethernet-input             l3 mac mismatch
         2                arp-input               ARP request IP4 source 
address learned
         2                arp-input               Interface is not IP enabled
DBGvpp# 

VPP2show trace

DBGvpp# show trace 
------------------- Start of thread 0 vpp_main -------------------
Packet 1

00:02:48:823586: af-packet-input
  af_packet: hw_if_index 1 next-index 4
    tpacket2_hdr:
      status 0x9 len 76 snaplen 76 mac 66 net 80
      sec 0x3b24 nsec 0x190abf05 vlan 0
00:02:48:825856: ethernet-input
  IP4: 00:50:43:00:02:02 -> 2c:53:4a:02:91:db
00:02:48:825934: l2-input
  l2-input: sw_if_index 1 dst 2c:53:4a:02:91:db src 00:50:43:00:02:02
00:02:48:825990: l2-learn
  l2-learn: sw_if_index 1 dst 2c:53:4a:02:91:db src 00:50:43:00:02:02 bd_index 1
00:02:48:826051: l2-fwd
  l2-fwd:   sw_if_index 1 dst 2c:53:4a:02:91:db src 00:50:43:00:02:02 bd_index 1
00:02:48:826080: error-drop
  l2-fwd: Reflection Drop
 
Thanks,
xyxue

Attachment: vpws1.pcap
Description: Binary data

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to