After adding an interface to a bridge, it loses L3 capabilities, which is expected. But after removing it from a bridge, L3 connectivity is not restored.
An example that triggers the issue:
set vpp interfaces bridge br1 member interface eth1 commit delete vpp interfaces bridge commit
After what, eth1 cannot route traffic anymore.
Before:
00:00:55:304514: dpdk-input
eth1 rx queue 0
buffer 0x9cda: current data 0, length 98, buffer-pool 0, ref-count 1, trace handle 0x0
ext-hdr-valid
PKT MBUF: port 0, nb_segs 1, pkt_len 98
buf_len 1828, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x873700
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
IP4: 0c:ce:a7:04:00:01 -> 0c:de:0d:e2:00:01
ICMP: 192.168.99.3 -> 192.168.102.2
tos 0x00, ttl 64, length 84, checksum 0x21f1 dscp CS0 ecn NON_ECN
fragment id 0xce61, flags DONT_FRAGMENT
ICMP echo_request checksum 0x91a9 id 3917
00:00:55:305147: ethernet-input
frame: flags 0x1, hw-if-index 1, sw-if-index 1
IP4: 0c:ce:a7:04:00:01 -> 0c:de:0d:e2:00:01
00:00:55:305157: ip4-input
ICMP: 192.168.99.3 -> 192.168.102.2
tos 0x00, ttl 64, length 84, checksum 0x21f1 dscp CS0 ecn NON_ECN
fragment id 0xce61, flags DONT_FRAGMENT
ICMP echo_request checksum 0x91a9 id 3917
00:00:55:305181: ip4-lookup
fib 0 dpo-idx 10 flow hash: 0x00000000
ICMP: 192.168.99.3 -> 192.168.102.2
tos 0x00, ttl 64, length 84, checksum 0x21f1 dscp CS0 ecn NON_ECN
fragment id 0xce61, flags DONT_FRAGMENT
ICMP echo_request checksum 0x91a9 id 3917
00:00:55:305187: ip4-rewrite
tx_sw_if_index 2 dpo-idx 10 : ipv4 via 192.168.102.2 eth2: mtu:1500 next:6 flags:[] 0c876c4e00010cde0de200020800 flow hash: 0x00000000
00000000: 0c876c4e00010cde0de20002080045000054ce6140003f0122f1c0a86303c0a8
00000020: 6602080091a90f4d001a9173b9680000000041400c00000000001011
00:00:55:305189: eth2-output
eth2 flags 0x0018000d
IP4: 0c:de:0d:e2:00:02 -> 0c:87:6c:4e:00:01
ICMP: 192.168.99.3 -> 192.168.102.2
tos 0x00, ttl 63, length 84, checksum 0x22f1 dscp CS0 ecn NON_ECN
fragment id 0xce61, flags DONT_FRAGMENT
ICMP echo_request checksum 0x91a9 id 3917
00:00:55:305194: eth2-tx
eth2 tx queue 0
buffer 0x9cda: current data 0, length 98, buffer-pool 0, ref-count 1, trace ha
ndle 0x0
ext-hdr-valid
l2-hdr-offset 0 l3-hdr-offset 14
PKT MBUF: port 0, nb_segs 1, pkt_len 98
buf_len 1828, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x873700
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
IP4: 0c:de:0d:e2:00:02 -> 0c:87:6c:4e:00:01
ICMP: 192.168.99.3 -> 192.168.102.2
tos 0x00, ttl 63, length 84, checksum 0x22f1 dscp CS0 ecn NON_ECN
fragment id 0xce61, flags DONT_FRAGMENT
ICMP echo_request checksum 0x91a9 id 3917After:
00:01:41:770302: dpdk-input
eth1 rx queue 0
buffer 0xa810: current data 0, length 98, buffer-pool 0, ref-count 1, trace handle 0x0
ext-hdr-valid
PKT MBUF: port 0, nb_segs 1, pkt_len 98
buf_len 1828, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x8a0480
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
IP4: 0c:ce:a7:04:00:01 -> 0c:de:0d:e2:00:01
ICMP: 192.168.99.3 -> 192.168.102.2
tos 0x00, ttl 64, length 84, checksum 0xc1b1 dscp CS0 ecn NON_ECN
fragment id 0x2ea1, flags DONT_FRAGMENT
ICMP echo_request checksum 0x39a4 id 3917
00:01:41:770924: ethernet-input
frame: flags 0x1, hw-if-index 1, sw-if-index 1
IP4: 0c:ce:a7:04:00:01 -> 0c:de:0d:e2:00:01
00:01:41:770935: l2-input
l2-input: sw_if_index 1 dst 0c:de:0d:e2:00:01 src 0c:ce:a7:04:00:01 []
00:01:41:770938: feature-bitmap-drop
feat_bitmap_drop: feature bitmap 0x00000001
00:01:41:770939: error-drop
rx:eth1
00:01:41:770941: drop
feature-bitmap-drop: L2 feature forwarding disabled