Skip to content

fix(table): preserve last action for the same path in coalesced updates#3428

Open
rastislavs wants to merge 1 commit into
osrg:masterfrom
rastislavs:update-coalesce-fix
Open

fix(table): preserve last action for the same path in coalesced updates#3428
rastislavs wants to merge 1 commit into
osrg:masterfrom
rastislavs:update-coalesce-fix

Conversation

@rastislavs
Copy link
Copy Markdown
Contributor

@rastislavs rastislavs commented May 25, 2026

As of c86f89e outgoing BGP UPDATE messages are coalesced before packing them. The packers serialize withdrawals before announcements, so if an announcement and withdrawal for the same NLRI/path-id are coalesced in one packing pass, the final wire order can invert the original action sequence.

Collapse the path list by local NLRI/path-id before handing it to the family packers, keeping only the final action.
This makes announce-then-withdraw produce only a withdrawal, and withdraw-then-announce produce only an announcement.

As of c86f89e outgoing BGP UPDATE
messages are coalesced before packing them. The packers serialize
withdrawals before announcements, so if an announcement and withdrawal
for the same NLRI/path-id are coalesced in one packing pass, the final
wire order can invert the original action sequence.

Collapse the path list by local path key before handing
it to the family packers, keeping only the final non-EOR action while
still preserving EOR markers. This makes announce-then-withdraw produce
only a withdrawal, and withdraw-then-announce produce only an announcement.
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.

1 participant