Hi Matt, On Sun, Apr 04, 2021 at 12:18:53PM -0400, Matt Corallo wrote:
For context, I'm currently writing a birdc-flowspec -> XDP parser/transpiler, so exact formal grammar and behavior is important :). You can find it at https://github.com/TheBlueMatt/flowspec-xdp.
Looks interesting.
It currently only supports drop/pass, however, and doesn't parse the action communities as it doesn't appear BIRD supports them? The RFC indicates extended community types in the 0x800X range, but BIRD appears to only support rt/ro. I may be missing something entirely obvious here, though.
You can add the exetended communities via generic extended communitiy in bird: bgp_ext_community.add( (generic, 0x80060000, 0x00000000 ) ); the output in birdc will look like: flow4 { dst 203.0.113.53/32; src 198.51.100.10/32; } [S_FLOWSPEC_v4 07:48:34.659] * (200) Type: static univ BGP.ext_community: (generic, 0x80060000, 0x0) HTH, tim -- Tim Weippert http://weiti.org - weiti@weiti.org GPG Fingerprint - E704 7303 6FF0 8393 ADB1 398E 67F2 94AE 5995 7DD8