Description

Packets to the host gets dropped on QFX when the destination MAC address is same as Chassis/Switch MAC. This article explains why this this behavior is expected.

Symptoms

Test for one of the scenarios:

                       +---------+
Server1 ----+ QFX5100 +----- Server2
MAC: A           +---------+          MAC: B

Here, Server B has the same MAC address as the chassis.

lab@test> show interfaces irb
Physical interface: irb, Enabled, Physical link is Up
Interface index: 660, SNMP ifIndex: 502
Type: Ethernet, Link-level type: Ethernet, MTU: 1514
Device flags : Present Running
Interface flags: SNMP-Traps
Link type : Full-Duplex
Link flags : None
Current address: dc:38:e1:58:a6:c0, Hardware address: dc:38:e1:58:a6:c0  <--- Chassis MAC address
Last flapped : Never
Input packets : 0
Output packets: 0


lab@test> show ovsdb mac logical-switch Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c
Logical Switch Name: Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c
Mac IP Encapsulation Vtep
Address Address Address
ff:ff:ff:ff:ff:ff 0.0.0.0 Vxlan over Ipv4 10.84.51.71
00:22:22:00:00:15 0.0.0.0 Vxlan over Ipv4 10.84.51.71
00:66:66:00:00:16 0.0.0.0 Vxlan over Ipv4 10.84.51.71
dc:38:e1:58:a6:c0 0.0.0.0 Vxlan over Ipv4 10.84.51.71 <---Server MAC Address
ff:ff:ff:ff:ff:ff 0.0.0.0 Vxlan over Ipv4 10.84.50.5

Solution

This is an expected behavior. The switch will drop the packet. Since the packet comes with DMAC, the same as IRB MAC, then the packet will be queued for L3 lookup which in turn will fail and gets dropped. The packet with IRB DMAC coming on any port is treated as MYMAC and L3 lookup is enabled for that packet.

If the port has L2 configuration, L3 lookup is disabled for it. Hence, packet gets dropped with no startpc found. If the port has L3/IRB configuration, L3 lookup is done. If there is no route, then it gets dropped, else it will be forwarded.

Example:

lab@test> show interfaces irb
Physical interface: irb, Enabled, Physical link is Up
Interface index: 660, SNMP ifIndex: 502
Type: Ethernet, Link-level type: Ethernet, MTU: 1514
Device flags : Present Running
Interface flags: SNMP-Traps
Link type : Full-Duplex
Link flags : None
Current address: dc:38:e1:58:a6:c0, Hardware address: dc:38:e1:58:a6:c0
Last flapped : Never
Input packets : 0
Output packets: 0


lab@test> show ovsdb mac logical-switch Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c
Logical Switch Name: Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c
Mac IP Encapsulation Vtep
Address Address Address
ff:ff:ff:ff:ff:ff 0.0.0.0 Vxlan over Ipv4 10.84.51.71
00:22:22:00:00:15 0.0.0.0 Vxlan over Ipv4 10.84.51.71
00:66:66:00:00:16 0.0.0.0 Vxlan over Ipv4 10.84.51.71
dc:38:e1:58:a6:c0 0.0.0.0 Vxlan over Ipv4 10.84.51.71
ff:ff:ff:ff:ff:ff 0.0.0.0 Vxlan over Ipv4 10.84.50.5

lab@test> show ethernet-switching table vlan-name Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c

MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static
SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC)


Ethernet switching table : 3 entries, 3 learned
Routing instance : default-switch
Vlan MAC MAC Age Logical
name address flags interface
Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c 00:22:22:00:00:15 D - ae2.15
Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c 00:66:66:00:00:16 D - ae0.16
Contrail-4d917b6b-d64c-446c-8b30-736b7c73192c dc:38:e1:58:a6:c0 D - ae0.15

root@test:0% cprod -A fpc0 -c 'set dc bc "show c"' | grep RD
RDBGC0.xe2 : 3,974,969 +5 2/s

lab@test> show interfaces terse
Interface Admin Link Proto Local Remote
ge-0/0/0 up up
ge-0/0/0.15 up up aenet --> ae0.15
ge-0/0/0.16 up up aenet --> ae0.16
ge-0/0/0.32767 up up aenet --> ae0.32767
gr-0/0/0 up up
pfe-0/0/0 up up
pfe-0/0/0.16383 up up inet
inet6
pfh-0/0/0 up up
pfh-0/0/0.16383 up up inet
ge-0/0/2 up up
ge-0/0/2.10 up up aenet --> ae2.10
ge-0/0/2.11 up up aenet --> ae2.11
ge-0/0/2.15 up up aenet --> ae2.15
ge-0/0/2.20 up up aenet --> ae2.20