Hi, it seems that for bird, the flowspec destination prefix is mentatory. I have a session with an exabgp and if I send this echo 'announce flow route { match { source 213.167.241.55/32; destination 0.0.0.0/0; } then { discard; } }' > /var/run/exabgp.cmd It works, I have the route:
bird> show route all table flowtab4 Table flowtab4: flow4 { dst 0.0.0.0/0; src 213.167.241.55/32; } [bgp_wfiltr1_ipv4 15:44:14.440 from 217.70.176.118] * (100) [i] Type: BGP univ BGP.origin: IGP BGP.as_path: BGP.local_pref: 100 BGP.ext_community: (generic, 0x80060000, 0x0) But, if I send this: echo 'announce flow route { match { source 213.167.241.55/32; } then { discard; } }' > /var/run/exabgp.cmd It doesn’t work, the session is in error state (BGP Error: Malformed attribute list) and the log says "Invalid flow route: Destination prefix is missing". However, https://tools.ietf.org/html/rfc5575#section-4 says We define a "Flow Specification" NLRI type that may include several components such as destination prefix, source prefix, protocol, ports, etc. This NLRI is treated as an opaque bit string prefix by BGP. Each bit string identifies a key to a database entry with which a set of attributes can be associated. As it’s “may”, I would say that it’s not mendatory. The sessions toward ASR9K routers accept the annoucement. Regards, -- Alarig