Hi Xyxue,

You need to create the default MPLS table before you enable an interface for 
MPLS.

So in your sequence this command:
  set interface mpls host-eth1 enable
should have returned an error. I’ve patched with
   https://gerrit.fd.io/r/#/c/9519/
so now one gets;
  DBGvpp# set int mpls loop0 enable
     set interface mpls: default MPLS table must be created first

please edit your config sequence with
   mpls table add 0
I expect you also want to add your MPLS local-labels to the default MSPL table 
rather than you the MPLS table 1 that you create. Since the lookup for the MPS 
table will occur in the default table, as that is the table that all interfaces 
are bound to.

Regards,
neale

From: <vpp-dev-boun...@lists.fd.io> on behalf of 薛欣颖 <xy...@fiberhome.com>
Date: Wednesday, 22 November 2017 at 01:55
To: vpp-dev <vpp-dev@lists.fd.io>
Subject: [vpp-dev] MPLS LABEL problem


Hi guys,

My vpp version :18.01.

vpp1-----vpp2
When the flows out of vpp1, it has two layers of tags.
The flow was dropped in vpp2. And the error information:MPLS not enabled. Is 
there anything wrong in my configuration on vpp2?
Has the configuration in 18.01 changed?


######## ######## ######## ########
 ####vpp1
  create host-interface name eth2 mac 00:0c:29:6d:b0:82
  create host-interface name eth1 mac 00:0c:29:6d:b0:78
  set interface ip table host-eth2 1
  set interface ip address host-eth2 1.1.1.1/24
  set interface ip address host-eth1 2.1.1.1/24
  set interface state host-eth2 up
  set interface state host-eth1 up
  set interface mpls host-eth1 enable
  create mpls tunnel out-label 33 out-label 34 via 2.1.1.2 host-eth1
  set interface state mpls-tunnel0 up
  mpls table add 1
  ip route add 3.1.1.0/24 via ip4-address 2.1.1.2 interface mpls-tunnel0 table 1
  mpls local-label add eos 1023 table 1 ip4-lookup-in-table 1
  mpls local-label add non-eos 1023 table 1 mpls-lookup-in-table 1

######## ######## ######## ########
 ####vpp2
  create host-interface name eth2 mac 2c:53:4a:03:93:31
  create host-interface name eth1 mac 2c:53:4a:03:94:59
  set interface ip table host-eth2 1
  set interface ip address host-eth1 2.1.1.2/24
  set interface ip address host-eth2 3.1.1.1/24
  set interface state host-eth2 up
  set interface state host-eth1 up
  set interface mpls host-eth1 enable
  create mpls tunnel out-label 1023 out-label 1024 via 2.1.1.1 host-eth1
  set interface state mpls-tunnel0 up
  mpls table add 1
  ip route add 1.1.1.0/24 via ip4-address 2.1.1.1 interface mpls-tunnel0 table 1
  mpls local-label add eos 34 table 1 ip4-lookup-in-table 1
  mpls local-label add non-eos 33 table 1 mpls-lookup-in-table 1

the vpp2 error information is shown below:

VPP# show errors
   Count                    Node                  Reason
      4889               mpls-input               MPLS input packets 
decapsulated
      4889               mpls-input               MPLS not enabled
        31                ip4-input               valid ip4 packets
       103             ethernet-input             no error
         2                arp-input               ARP replies sent
         1                arp-input               ARP request IP4 source 
address learned
VPP# show trace
------------------- Start of thread 0 vpp_main -------------------
Packet 1

00:11:22:232258: af-packet-input
  af_packet: hw_if_index 2 next-index 4
    tpacket2_hdr:
      status 0x1 len 132 snaplen 132 mac 66 net 80
      sec 0x5a141690 nsec 0x3162f619 vlan 0
00:11:22:232280: ethernet-input
  MPLS: 00:0c:29:6d:b0:78 -> 2c:53:4a:03:94:59
00:11:22:232332: mpls-input
  MPLS: next BUG![2]  label 33 ttl 255
00:11:22:232342: error-drop
  mpls-input: MPLS not enabled


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

Reply via email to