<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver" -->

---
title: Weird: Ports on Linux Bridge Are Stuck « ipSpace.net blog
description: A debugging story about non-deterministic VXLAN test failures on Cumulus Linux 4.x in netlab 2.0 integration tests. The root cause was a Linux bridge bug: when...
canonical: https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Weird: Ports on Linux Bridge Are Stuck « ipSpace.net blog | daily.dev
og:description: A debugging story about non-deterministic VXLAN test failures on Cumulus Linux 4.x in netlab 2.0 integration tests. The root cause was a Linux bridge bug: when...
og:url: https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver
og:image: https://api.daily.dev/og/posts/qpZCBgVeR.png
og:image:alt: Weird: Ports on Linux Bridge Are Stuck « ipSpace.net blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Weird: Ports on Linux Bridge Are Stuck « ipSpace.net blog

**[ipSpace.net Blog](https://daily.dev/sources/ipspace)** · 3 min read · 0 upvotes · 0 comments

## Summary

A debugging story about non-deterministic VXLAN test failures on Cumulus Linux 4.x in netlab 2.0 integration tests. The root cause was a Linux bridge bug: when STP is disabled, bridge ports remain stuck in their current state (e.g., 'learning') rather than transitioning to 'forwarding'. The bug was triggered by a change in module configuration order — VXLAN configuration (which disables STP) now runs after VLANs add interfaces to the bridge, creating a race condition where STP is disabled too late, leaving ports stuck. The fix involves using `mstpctl-portbpdufilter` on VXLAN interfaces instead of disabling STP entirely on the bridge.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2025/06/linux-bridge-stuck-ports>

## Questions this post answers

### Why are Linux bridge ports stuck in learning state and not transitioning to forwarding?

Ports on a Linux bridge can get stuck in 'learning' state if STP is disabled after the interfaces have already been attached to the bridge. A bug in the Linux bridge implementation used in Cumulus Linux 4.x causes ports to remain in whatever STP state they were in at the moment STP is disabled, rather than automatically transitioning to 'forwarding'. The fix is to use `mstpctl-portbpdufilter` on VXLAN interfaces instead of disabling STP on the entire bridge.

_Engineers debugging Linux bridge or VXLAN issues track findings like this on daily.dev before spending hours on the wrong fix._

### What does mstpctl-portbpdufilter do on a Linux bridge VXLAN interface in Cumulus Linux?

`mstpctl-portbpdufilter` filters BPDU packets on a specific bridge port, effectively excluding that port from STP participation without disabling STP on the entire bridge. This is the recommended approach for VXLAN interfaces in Cumulus Linux, as disabling STP globally on the bridge can cause ports to freeze in their current STP state due to a bug in Cumulus Linux 4.x.

_Cumulus Linux networking edge cases like this surface regularly for teams running netlab or similar test frameworks — daily.dev keeps that knowledge in reach._

## Similar posts on daily.dev

- [An eBPF Loophole: Using XDP for Egress Traffic](https://daily.dev/posts/an-ebpf-loophole-using-xdp-for-egress-traffic-h5yjyrjs0) · Hacker News · 0 upvotes · 0 comments
- [My old switch has a feature I ignored for years, and it fixed my home network](https://daily.dev/posts/my-old-switch-has-a-feature-i-ignored-for-years-and-it-fixed-my-home-network-vfqv8emy0) · XDA Developers · 0 upvotes · 0 comments

---

[View this post on daily.dev](https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Weird: Ports on Linux Bridge Are Stuck « ipSpace.net blog","url":"https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver"},"datePublished":"2026-08-11T08:51:59.672Z","dateModified":"2026-08-11T08:59:20.484Z","description":"A debugging story about non-deterministic VXLAN test failures on Cumulus Linux 4.x in netlab 2.0 integration tests. The root cause was a Linux bridge bug: when...","image":"https://media.daily.dev/image/upload/s--58gMhC4P--/f_auto/v1722860399/public/Placeholder%2012","thumbnailUrl":"https://media.daily.dev/image/upload/s--58gMhC4P--/f_auto/v1722860399/public/Placeholder%2012","isAccessibleForFree":true,"articleSection":"ipSpace.net Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ipSpace.net Blog","logo":"https://media.daily.dev/image/upload/s--xS7E82MT--/f_auto,q_auto/v1786438303/logos/ipspace?_a=BAMAMicg0","url":"https://daily.dev/sources/ipspace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ipSpace.net Blog","item":"https://daily.dev/sources/ipspace"},{"@type":"ListItem","position":3,"name":"Weird: Ports on Linux Bridge Are Stuck « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/weird-ports-on-linux-bridge-are-stuck-ipspace-net-blog-qpzcbgver#faq","mainEntity":[{"@type":"Question","name":"Why are Linux bridge ports stuck in learning state and not transitioning to forwarding?","acceptedAnswer":{"@type":"Answer","text":"Ports on a Linux bridge can get stuck in 'learning' state if STP is disabled after the interfaces have already been attached to the bridge. A bug in the Linux bridge implementation used in Cumulus Linux 4.x causes ports to remain in whatever STP state they were in at the moment STP is disabled, rather than automatically transitioning to 'forwarding'. The fix is to use `mstpctl-portbpdufilter` on VXLAN interfaces instead of disabling STP on the entire bridge. Engineers debugging Linux bridge or VXLAN issues track findings like this on daily.dev before spending hours on the wrong fix."}},{"@type":"Question","name":"What does mstpctl-portbpdufilter do on a Linux bridge VXLAN interface in Cumulus Linux?","acceptedAnswer":{"@type":"Answer","text":"`mstpctl-portbpdufilter` filters BPDU packets on a specific bridge port, effectively excluding that port from STP participation without disabling STP on the entire bridge. This is the recommended approach for VXLAN interfaces in Cumulus Linux, as disabling STP globally on the bridge can cause ports to freeze in their current STP state due to a bug in Cumulus Linux 4.x. Cumulus Linux networking edge cases like this surface regularly for teams running netlab or similar test frameworks — daily.dev keeps that knowledge in reach."}}]}
```

