Hello

I've done some coding to support VPLS in VPP as data plane and FRR as the 
control plane. I'm trying to connect a cisco 7606 to a system with VPP & FRR 
with VPLS protocol. The VPLS tunnel is all OK between two (VPP+FRR) routers. It 
is also OK between two Cisco routers. The received packet from Cisco is not 
parsed correctly in the VPP virtual switch. The MAC address that VPP parses (as 
shown in the output of "show trace" command) is not the MAC address of source 
host. Cisco router has shifted the source MAC four bytes to the end. Maybe it 
is because Cisco 7606 uses a VLAN tag for VPLS packets that VPP does not 
accept. Has anybody established a VPLS connection between the cisco router and 
a VPP?

 Here are our system's configuration and scenario

 

*#Configuration Cisco 7606*

version 15.1

service timestamps debug datetime msec

service timestamps log datetime msec

service counters max age 10

!

hostname Cisco1

!

boot-start-marker

boot system sup-bootdisk:c7600rsp72043-adventerprisek9-mz.151-1.S.bin

boot-end-marker

!

!

!

no aaa new-model

!

!

!

ip source-route

!

!

!

!

!  mpls label protocol ldp

 

!

l2 vfi cust1 manual

 vpn id 100

 neighbor 4.4.4.4 encapsulation mpls no-split-horizon

!

! interface TenGigabitEthernet2/1

 switchport

!

interface TenGigabitEthernet2/2

 ip address 50.1.1.2 255.255.255.0

 mpls ip

 mpls label protocol ldp

!

interface Vlan1

 no ip address

 xconnect vfi cust1

!

interface Vlan100

 no ip address

!

router ospf 1

 router-id 1.1.1.1

 network 1.1.1.1 0.0.0.0 area 0

 network 50.1.1.0 0.0.0.255 area 0

!

no ip forward-protocol nd

!

no ip http server

no ip http secure-server

!

logging esm config

!

mpls ldp router-id Loopback0

               !

              . …

 

 

*  #Show in Cisco 7606*

 

*Cisco1#show ip route*

      1.0.0.0/32 is subnetted, 1 subnets

C        1.1.1.1 is directly connected, Loopback0

      4.0.0.0/32 is subnetted, 1 subnets

O        4.4.4.4 [110/10001] via 50.1.1.1, 02:44:24, TenGigabitEthernet2/2

      50.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C        50.1.1.0/24 is directly connected, TenGigabitEthernet2/2

L        50.1.1.2/32 is directly connected, TenGigabitEthernet2/2

      100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C        100.1.2.0/24 is directly connected, TenGigabitEthernet4/1

L        100.1.2.1/32 is directly connected, TenGigabitEthernet4/1

      200.200.1.0/24 is variably subnetted, 2 subnets, 2 masks

C        200.200.1.0/24 is directly connected, GigabitEthernet6/2

L        200.200.1.1/32 is directly connected, GigabitEthernet6/2

 

*Cisco1#show mpls ldp neighbor*

    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 1.1.1.1:0

        TCP connection: 4.4.4.4.42741 - 1.1.1.1.646

        State: Oper; Msgs sent/rcvd: 201/174; Downstream

        Up time: 02:45:06

        LDP discovery sources:

          TenGigabitEthernet2/2, Src IP addr: 50.1.1.1

          Targeted Hello 1.1.1.1 -> 4.4.4.4, active, passive

*Cisco1#show mpls forwarding-table*

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

16         Pop Label  4.4.4.4/32       0             Te2/2      50.1.1.1

17         No Label   l2ckt(4116)      90664         none       point2poin

 

*Cisco1#show vfi*

 

Legend: RT=Route-target, S=Split-horizon, Y=Yes, N=No

 

VFI name: cust1, state: up, type: multipoint

  VPN ID: 100

  Local attachment circuits:

    Vlan1

  Neighbors connected via pseudowires:

  Peer Address     VC ID        S

  4.4.4.4          100          N

 

*Cisco1#show mpls l2transport vc*

 

Local intf     Local circuit              Dest address    VC ID      Status

-------------  -------------------------- --------------- ---------- ----------

VFI cust1      VFI                        4.4.4.4         100        UP

*Cisco1#show mpls l2transport binding*

  Destination Address: 4.4.4.4,  VC ID: 100

    Local Label:  17

        Cbit: 1,    VC Type: Ethernet,    GroupID: 0

        MTU: 1500,   Interface Desc: n/a

        VCCV: CC Type: RA [2], TTL [3]

              CV Type: LSPV [2], BFD [3]

    Remote Label: 17

        Cbit: 1,    VC Type: Ethernet,    GroupID: 0

        MTU: 1500,   Interface Desc: n/a

        VCCV: CC Type: None

              CV Type: None

 

*#configuration VPP + FRR*

interface TenGeA1

 ip address 50.1.1.1/24

!

interface lo1

 ip address 4.4.4.4/32

!

router ospf

 ospf router-id 4.4.4.4

 network 4.4.4.4/32 area 0

 network 50.1.1.0/24 area 0

!

mpls ldp

 router-id 4.4.4.4

 !

 address-family ipv4

  discovery transport-address 4.4.4.4

  !

  interface TenGeA1

  !

 exit-address-family

 !

!

l2vpn cust1 type vpls

 bridge bridge3

  bridge TenGeA2

 !

 member pseudowire mpw3

  neighbor lsr-id 1.1.1.1

  pw-id 100

 !

!

 

*#show  vpp+FRR*

*VPP-FRR# show ip route*

O>* 1.1.1.1/32 [110/10001] via 50.1.1.2, TenGeA1, label implicit-null, 02:47:04

O   4.4.4.4/32 [110/10000] via 0.0.0.0, lo1 onlink, 03:05:30

C>* 4.4.4.4/32 is directly connected, lo1, 03:08:45

O   50.1.1.0/24 [110/10000] is directly connected, TenGeA1, 03:05:21

C>* 50.1.1.0/24 is directly connected, TenGeA1, 03:08:45

*VPP-FRR# show mpls ldp neighbor*

AF   ID              State       Remote Address    Uptime

ipv4 1.1.1.1         OPERATIONAL 1.1.1.1         02:47:52

*VPP-FRR# show mpls table*

 Inbound                            Outbound

   Label     Type          Nexthop     Label

--------  -------  ---------------  --------

      18      LDP         50.1.1.2  implicit-null

VPP-FRR# show l2vpn atom binding

  Destination Address: 1.1.1.1, VC ID: 100

    Local Label:  17

        Cbit: 1,    VC Type: Ethernet,    GroupID: 0

        MTU: 1500

    Remote Label: 17

        Cbit: 1,    VC Type: Ethernet,    GroupID: 0

        MTU: 1500

*VPP-FRR# show l2vpn atom vc*

Interface Peer ID         VC ID      Name             Status

--------- --------------- ---------- ---------------- ----------

mpw3      1.1.1.1         100        cust1            UP

 

#show Trace in (VPP+FRR)

   Packet 2

00:49:31:380020: dpdk-input

  TenGigabitEthernet1/0/0 rx queue 0

  buffer 0x8d6b: current data 14, length 68, free-list 0, clone-count 0, 
totlen-nifb 0, trace 0x1

                 ext-hdr-valid

                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0

  PKT MBUF: port 0, nb_segs 1, pkt_len 82

    buf_len 2176, data_len 82, ol_flags 0x180, data_off 128, phys_addr 
0xd9e35b40

    packet_type 0x1 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0

    rss 0x0 fdir.hi 0x0 fdir.lo 0x0

    Packet Offload Flags

      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid

      PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid

    Packet Types

      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet

  MPLS: 6c:41:6a:26:81:00 -> 00:10:f3:2e:29:0e

  label 17 exp 0, s 1, ttl 254

00:49:31:380032: mpls-input

  MPLS: next mpls-lookup[1]  label 17 ttl 254 exp 0

00:49:31:380038: mpls-lookup

  MPLS: next [7], lookup fib index 0, LB index 32 hash 0 label 17 eos 1

00:49:31:380041: interface-rx-dpo-l2

     sw_if_index:12

00:49:31:380043: l2-input

 RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet

  MPLS: 6c:41:6a:26:81:00 -> 00:10:f3:2e:29:0e

  label 17 exp 0, s 1, ttl 254

00:49:31:380032: mpls-input

  MPLS: next mpls-lookup[1]  label 17 ttl 254 exp 0

00:49:31:380038: mpls-lookup

  MPLS: next [7], lookup fib index 0, LB index 32 hash 0 label 17 eos 1

00:49:31:380041: interface-rx-dpo-l2

     sw_if_index:12

00:49:31:380043: l2-input

  l2-input: sw_if_index 12 dst 00:00:00:00: ff:ff src ff:ff:ff:ff : 00:10

00:49:31:380046: l2-learn

  l2-learn: sw_if_index 12 dst 00:00:00:00: ff:ff src ff:ff:ff:ff : 00:10 
bd_index 1

00:49:31:380049: l2-fwd

  l2-fwd:   sw_if_index 12 dst 00:00:00:00: ff:ff src ff:ff:ff:ff : 00:10 
bd_index 1

00:49:31:380051: l2-flood

  l2-flood: sw_if_index 12 dst 00:00:00:00: ff:ff src ff:ff:ff:ff : 00:10 
bd_index 1

00:49:31:380054: l2-output

  l2-output: sw_if_index 2 dst 00:00:00:00: ff:ff src ff:ff:ff:ff : 00:10 data 
f3 3d af 80 08 06 00 01 08 00 06 04

00:49:31:380057: TenGigabitEthernet1/0/1-output

  TenGigabitEthernet1/0/1

  0xf33d: ff:ff:ff:ff:00:10 -> 00:00:00:00:ff:ff

00:49:31:380063: TenGigabitEthernet1/0/1-tx

  TenGigabitEthernet1/0/1 tx queue 0

  buffer 0x8d6b: current data 18, length 64, free-list 0, clone-count 0, 
totlen-nifb 0, trace 0x1

                 ext-hdr-valid

                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0

  PKT MBUF: port 0, nb_segs 1, pkt_len 64

    buf_len 2176, data_len 64, ol_flags 0x180, data_off 146, phys_addr 
0xd9e35b40

    packet_type 0x1 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0

    rss 0x0 fdir.hi 0x0 fdir.lo 0x0

    Packet Offload Flags

      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid

      PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid

    Packet Types

      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet

  0xf33d: ff:ff:ff:ff:00:10 -> 00:00:00:00:ff:ff
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10813): https://lists.fd.io/g/vpp-dev/message/10813
Mute This Topic: https://lists.fd.io/mt/27309985/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp&subid=1480452
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to