Hi Xiaopeng,

If you disable flooding in a BD then it will not forward broadcast nor 
multicast (BM) packets, because there is nothing else to do with such packets 
other than flood. The l2fib is not consulted for BM packets, so if you added a 
static entry for a BM address it won’t be used. The packet in the trace was 
broadcast, hence it was dropped.

/neale

From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> on behalf of Xiaopeng Bai via 
lists.fd.io <baixiaopeng=ekean...@lists.fd.io>
Date: Thursday, 12 August 2021 at 06:09
To: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io>
Subject: [vpp-dev] some confusions about l2 forward and flood
Hi everyone!

When I was testing the bridge function,everything worked fine with the 
following configuration:
  BD-ID   Index   BSN  Age(min)   Learn     Forwrd    UU-Flood    Flood    
ARP-Term  ARP-ufwd   BVI-Intf
    1       1      0     off       off        on       flood        on       
off       off        N/A
But when i disabled bridge-domain flood and add static mac for mac table, the 
bridge-domain didn't forward packets and show errors likes below:
Packet 1

00:02:40:993565: dpdk-input
  GbitEth0/0/2 rx queue 0
  buffer 0x4b4e78: current data 0, length 60, buffer-pool 0, ref-count 1, 
totlen-nifb 0, trace handle 0x1000000
                   ext-hdr-valid
                   l4-cksum-computed l4-cksum-correct
  PKT MBUF: port 1, nb_segs 1, pkt_len 60
    buf_len 2176, data_len 60, ol_flags 0x180, data_off 128, phys_addr 
0x91f39e80
    packet_type 0x0 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
  ARP: c8:d3:ff:ba:51:2b -> ff:ff:ff:ff:ff:ff
  request, type ethernet/IP4, address size 6/4
  c8:d3:ff:ba:51:2b/192.168.0.200 -> 00:00:00:00:00:00/192.168.0.111
00:02:40:993578: flowprobe-l2
  FLOWPROBE[IP4]: rx_sw_if_index 0, tx_sw_if_index 0, timestamp 0, size 0
00:02:40:993588: ethernet-input
  ARP: c8:d3:ff:ba:51:2b -> ff:ff:ff:ff:ff:ff
00:02:40:993592: l2-input
  l2-input: sw_if_index 2 dst ff:ff:ff:ff:ff:ff src c8:d3:ff:ba:51:2b
00:02:40:993595: feature-bitmap-drop
  feat_bitmap_drop: feature bitmap 0x00000001
00:02:40:993597: error-drop
  rx:GbitEth0/0/2
00:02:40:993599: drop
  feature-bitmap-drop: L2 feature forwarding disabled
Why l2_input dropped packets? I browsed the l2_input.c codes and find some 
codes like this:
/* Disable bridge forwarding (flooding will execute instead if not xconnect) */
      feat_mask &= ~(L2INPUT_FEAT_FWD |
             L2INPUT_FEAT_UU_FLOOD |
             L2INPUT_FEAT_UU_FWD | L2INPUT_FEAT_GBP_FWD);
Some confusions are why Disable bridge forwarding  and instead with flooding?
some suggestions are appreciated!

Best Regeards,
Xiaopeng

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#19964): https://lists.fd.io/g/vpp-dev/message/19964
Mute This Topic: https://lists.fd.io/mt/84833350/21656
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