Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Debugging EVPN VXLAN on RPD and Linux

SUMMARY 

Before you start debugging for EVPN over VXLAN support in cRPD, ensure you have the configuration created.

Configuring EVPN Over VXLAN

Configure Layer 2 EVPN over VXLAN with MAC-VRF on cRPD .

Verifying Layer 2 EVPN Over VXLAN Support in cRPD

  1. Verify the bridge device is created in RPD and Linux kernel.

    root@PE1_CRPD> show evpn instance evpn-vxlan extensive

    RPD view

    root@PE1_CRPD> show krt table | grep evpn-vxlan

    Kernel view

    root@PE1_CRPD:/# ip link show __crpd-brd2

    __crpd-brd<2> is kernel id from show krt table

    root@PE1_CRPD:/# ip -d link show __crpd-brd2

  2. Verify if the VXLAN devices are created corresponding to the VXLAN configuration under bridge domains.

    RPD view

    VXLAN configs of interest under routing-instance bridge-domains.​

    Kernel view

    root@PE1_CRPD:/# ip -d link show vxlan2600

    root@PE1_CRPD:/# ip -d link show vxlan2601

  3. Verify all the instance interfaces (bridge domain interfaces including vxlan devices) are enslaved to bridge device in kernel.

    RPD view

    Interface configs of interest under routing-instance bridge-domains.​

    Kernel view

    Ensure all the instance IFL have "master __crpd-brd2" which means they are ensalved to __crpd-brd2 bridge device through ip link.

    root@PE1_CRPD:/# ip link show master __crpd-brd2

  4. Verify if all the instance interfaces which are part of the bridge device are assigned to vids matching the bridge-domain on RPD.

    RPD view

    VLAN/interface configs of interest under routing-instance bridge-domains.​

    Kernel view

    root@PE1_CRPD:/# bridge vlan show

  5. Verify if irb interface (vlan subinterface with bridge-domains vlan-id) is created in kernel corresponding to the routing-interface configuration under bridge-domains.

    RPD view

    IRB interface configs of interest under routing-instance bridge-domains.​

    Kernel view

    root@PE1_CRPD:/# ip -d link show irb.600

    root@PE1_CRPD:/# ip -d link show irb.601

  6. Ensure if ipv4/ipv6 addresses are assigned to the irb interfaces.

    RPD view

    IP address configs of IRB interfaces.​

    Kernel view

    root@PE1_CRPD:/# ip addr show irb.600

    root@PE1_CRPD:/# ip addr show irb.601

  7. Verify bridge flood entries are created in kernel, correpsonding to the received IM (inclusive multicast) route entries received from peers.

    RPD view

    root@PE1_CRPD> show route table evpn-vxlan.evpn.0 protocol bgp | grep IM​

    Kernel view

    root@PE1_CRPD:/# bridge fdb show br __crpd-brd2 state static | grep 00:00:00:00:00:00

  8. Verify local MAC entries are learnt and advertised by EVPN to remote peers.

    RPD view

    root@PE1_CRPD> show evpn database instance evpn-vxlan origin local

    root@PE1_CRPD> show route table evpn-vxlan.evpn.0 protocol evpn | grep MAC

    Kernel view

    Mac entries are learnt from bridge fdb table

    root@PE1_CRPD:/# bridge fdb show br __crpd-brd2 brport ens3f2.600 state dynamic

    root@PE1_CRPD:/# bridge fdb show br __crpd-brd2 brport ens3f3.601 state dynamic

    Mac+ip bindings are learnt from ip neigh table​

    root@PE1_CRPD:/# ip neigh show dev irb.600 | grep -v PERMANENT​

    root@PE1_CRPD:/# ip neigh show dev irb.601 | grep -v PERMANENT

  9. Verify remote MAC entries are learnt and programmed to kernel.

    RPD view

    root@PE1_CRPD> show route table evpn-vxlan.evpn.0 protocol bgp | grep MAC

    root@PE1_CRPD> show evpn database instance evpn-vxlan origin remote

    Kernel view

    Macs are programmed to bridge fdb table in Linux

    root@PE1_CRPD:/# bridge fdb show br __crpd-brd2 dev vxlan2600 state static

    root@PE1_CRPD:/# bridge fdb show br __crpd-brd2 dev vxlan2601 state static

    Mac+ip bindings are programmed to ip neigh table

    root@PE1_CRPD:/# ip neigh show dev irb.600 | grep PERMANENT​

    root@PE1_CRPD:/# ip neigh show dev irb.601 | grep PERMANENT​