When an ARP request is flood by l2 interface to BVI, The BVI doesn't comferm that if the target IP of ARP request is one of BVI's local IP address. As long as the target IP is mach to VPP's subnet prefix ,the BVI reply the request anyway.
The ARP reply should sent only when the requesed target IP is belong to BVI.
Here's the trace :
Packet 1
06:03:14:476712: dpdk-input
GigabitEthernet0/8/0 rx queue 0
buffer 0x2508: current data 0, length 56, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0
PKT MBUF: port 1, nb_segs 1, pkt_len 56
buf_len 2176, data_len 56, ol_flags 0x0, data_off 128, phys_addr 0x13364100
packet_type 0x0
ARP: fa:16:3e:74:da:30 -> ff:ff:ff:ff:ff:ff
request, type ethernet/IP4, address size 6/4
fa:16:3e:74:da:30/1.1.1.3 -> 00:00:00:00:00:00/1.1.1.4
06:03:14:476720: ethernet-input
ARP: fa:16:3e:74:da:30 -> ff:ff:ff:ff:ff:ff
06:03:14:476725: l2-input
l2-input: sw_if_index 2 dst ff:ff:ff:ff:ff:ff src fa:16:3e:74:da:30
06:03:14:476730: l2-learn
l2-learn: sw_if_index 2 dst ff:ff:ff:ff:ff:ff src fa:16:3e:74:da:30 bd_index 1
06:03:14:476746: l2-flood
l2-flood: sw_if_index 2 dst 00:01:08:00:06:04 src 00:01:fa:16:3e:74 bd_index 1
06:03:14:476749: arp-input
request, type ethernet/IP4, address size 6/4
fa:16:3e:74:da:30/1.1.1.3 -> 00:00:00:00:00:00/1.1.1.4
06:03:14:476772: loop0-output
loop0
ARP: de:ad:00:00:00:00 -> fa:16:3e:74:da:30
reply, type ethernet/IP4, address size 6/4
de:ad:00:00:00:00/1.1.1.1 -> fa:16:3e:74:da:30/1.1.1.3
06:03:14:476773: l2-input
l2-input: sw_if_index 6 dst fa:16:3e:74:da:30 src de:ad:00:00:00:00
06:03:14:476773: l2-fwd
l2-fwd: sw_if_index 6 dst fa:16:3e:74:da:30 src de:ad:00:00:00:00 bd_index 1
06:03:14:476775: l2-output
l2-output: sw_if_index 2 dst fa:16:3e:74:da:30 src de:ad:00:00:00:00 data 08 06 00 01 08 00 06 04 00 02 de ad
06:03:14:476775: GigabitEthernet0/6/0-output
GigabitEthernet0/6/0
ARP: de:ad:00:00:00:00 -> fa:16:3e:74:da:30
reply, type ethernet/IP4, address size 6/4
de:ad:00:00:00:00/1.1.1.1 -> fa:16:3e:74:da:30/1.1.1.3
06:03:14:476775: GigabitEthernet0/6/0-tx
GigabitEthernet0/6/0 tx queue 1
buffer 0x2508: current data 0, length 56, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0
ARP: de:ad:00:00:00:00 -> fa:16:3e:74:da:30
reply, type ethernet/IP4, address size 6/4
de:ad:00:00:00:00/1.1.1.1 -> fa:16:3e:74:da:30/1.1.1.3