Page MenuHomeVyOS Platform

VPP: L3 connectivity is lost after adding/removing an interface to a bridge
Closed, ResolvedPublicBUG

Description

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 3917

After:

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

Details

Version
2025.09.01-0023-rolling
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

Unknown Object (User) triaged this task as Normal priority.Sep 8 2025, 11:47 AM
Viacheslav changed the task status from Open to In progress.Sep 17 2025, 12:55 PM
Viacheslav claimed this task.
Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.
Viacheslav moved this task from Open to Finished on the VyOS 1.5 Circinus (1.5-stream-2025-Q3) board.
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.