Skip to content

feat(saiserver): add FDB/Flood tables, VLAN flood ports, and L2 tagging - #767

Merged
hardikharti merged 1 commit into
openconfig:mainfrom
thineshvs-google:l2-chunk3-vlan-flood-tagging
Oct 26, 2026
Merged

hardikharti merged 1 commit into
openconfig:mainfrom
thineshvs-google:l2-chunk3-vlan-flood-tagging

Conversation

@thineshvs-google

Copy link
Copy Markdown
Contributor

Summary

Adds dataplane FDBTable and FloodTable creation, per-VLAN aggregate flood ports (vlan_flood_<vid>), and 802.1Q ingress/egress tagging actions for VLAN member ports (Chunk 3 of L2/VLAN/FDB support).

Changes

  • dataplane/saiserver/switch.go:
    • Create FDBTable (TABLE_TYPE_BRIDGE) and FloodTable (TABLE_TYPE_EXACT on PACKET_FIELD_NUM_VLAN_TAG with fallback to outputTable).
    • Set VlanTable default action to ACTION_TYPE_CONTINUE so non-VLAN ports pass through unmodified.
  • dataplane/saiserver/ports.go:
    • Add VlanTable lookup to getPreIngressPipeline() and FloodTable lookup to getL2Pipeline().
    • Remove unconditional default VLAN encapsulation in CreatePort so only configured VLAN members perform 802.1Q tagging.
  • dataplane/saiserver/routing.go & dataplane/saiserver/vlan_test.go:
    • Create vlan_flood_<vid> aggregate flood port in CreateVlan and manage member membership + FloodTable (TransmitAction -> BridgeLearnAction -> LookupAction(FDBTable)) and egress DecapAction(ETHERNET_VLAN) in CreateVlanMember / RemoveVlanMember.
    • Encode 16-bit VLAN IDs in big-endian 2-byte format (binary.BigEndian.AppendUint16) for PACKET_FIELD_NUM_VLAN_TAG.

@thineshvs-google
thineshvs-google requested a review from a team as a code owner October 21, 2026 17:38
@hardikharti

Copy link
Copy Markdown
Contributor

/gcbrun

@mohankarthik mohankarthik left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mirroring the Chunk 3 notes from #722 (pullrequestreview-5598781722) regarding per-(port, VLAN) egress decap on hybrid ports and OBJECT_TYPE_LAG flood port expansion.

Comment thread dataplane/saiserver/routing.go
Comment thread dataplane/saiserver/routing.go Outdated
Comment thread dataplane/saiserver/routing.go Outdated
Comment thread dataplane/saiserver/ports.go
@thineshvs-google
thineshvs-google force-pushed the l2-chunk3-vlan-flood-tagging branch from b8df690 to 13f75ad Compare October 22, 2026 19:05
@hardikharti

Copy link
Copy Markdown
Contributor

/gcbrun

@mohankarthik mohankarthik left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for Chunk 3 — thanks for the explanation on vlan_flood_<vid> replication inside ACTION_TYPE_OUTPUT. We will follow up on hybrid multi-VLAN port handling (#764) and targetPhysicalPorts(portID) LAG flood expansion (#766) once those PRs land. (Feel free to resolve both threads from your side, as GitHub only allows the PR author or repo maintainers to mark threads resolved.)

@hardikharti
hardikharti merged commit 2ca9e2a into openconfig:main Oct 26, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants