Enabling BGP FlowSpec routes export
Hi. I'm setting up Bird (2.0.7) as a BGP FlowSpec controller and it has to send out FS routes to two (FRR-based) neighbors. Actual configuration is defined as below: flow4 table flowtab4; protocol static { flow4 { import all; export all; }; route flow4 { src x.x.y.y/32; dst x.x.z.z/32; } { bgp_ext_community.add( (generic, 0x80060000, 0x0) ); }; } template bgp bgp_fs { local x.x.x.x as ABCDG; capabilities off; flow4 { table flowtab4; import all; export all; }; ipv4 { import all; export all; }; } protocol bgp bgp_svc01 from bgp_fs { neighbor y.y.y.y as ABCDE; } protocol bgp bgp_svc02 from bgp_fs { neighbor z.z.z.z as ABCDF; } The FS is properly assigned to the BGP protocol instances, but flowtab4 table is only UP as a channel for static1 protocol, while for bgp_svc01/02 is not (hence, no FS routes advertised BGP-side): bird> show protocol all static1 Name Proto Table State Since Info static1 Static flowtab4 up 13:02:42.987 Channel flow4 State: UP ================== Table: flowtab4 Preference: 200 Input filter: ACCEPT Output filter: ACCEPT Routes: 1 imported, 0 exported, 1 preferred Route change stats: received rejected filtered ignored accepted Import updates: 1 0 0 0 1 Import withdraws: 0 0 --- 0 0 Export updates: 0 0 0 --- 0 Export withdraws: 0 --- --- --- 0 bird> show protocol all bgp_svc01 Name Proto Table State Since Info bgp_svc01 BGP --- up 13:00:17.256 Established BGP state: Established Neighbor address: y.y.y.y Neighbor AS: ABCDE Local AS: ABCDG Neighbor ID: whateverID Local capabilities Neighbor capabilities Session: external Source address: x.x.x.x Hold timer: 4.820/9 Keepalive timer: 2.054/3 Channel flow4 State: DOWN ==================== Table: flowtab4 Preference: 100 Input filter: ACCEPT Output filter: ACCEPT Channel ipv4 State: UP Table: master4 Preference: 100 Input filter: ACCEPT Output filter: ACCEPT Routes: 13 imported, 2 exported, 13 preferred Route change stats: received rejected filtered ignored accepted [...] BGP Next hop: x.x.x.x Looking forward to get some clarifications. Thank you. Kind regards, Davide Pucci.
Hello! You won't advertise anything else than basic IPv4 routes with capabilities off as the flowspec SAFI needs to be advertised and negotiated by a BGP Capability Advertisement. Maria On 1/21/20 2:05 PM, posta@davidepucci.it wrote:
Hi. I'm setting up Bird (2.0.7) as a BGP FlowSpec controller and it has to send out FS routes to two (FRR-based) neighbors. Actual configuration is defined as below:
flow4 table flowtab4; protocol static { flow4 { import all; export all; };
route flow4 { src x.x.y.y/32; dst x.x.z.z/32; } { bgp_ext_community.add( (generic, 0x80060000, 0x0) ); }; } template bgp bgp_fs { local x.x.x.x as ABCDG; capabilities off;
flow4 { table flowtab4; import all; export all; };
ipv4 { import all; export all; }; } protocol bgp bgp_svc01 from bgp_fs { neighbor y.y.y.y as ABCDE; } protocol bgp bgp_svc02 from bgp_fs { neighbor z.z.z.z as ABCDF; }
The FS is properly assigned to the BGP protocol instances, but flowtab4 table is only UP as a channel for static1 protocol, while for bgp_svc01/02 is not (hence, no FS routes advertised BGP-side):
bird> show protocol all static1 Name Proto Table State Since Info static1 Static flowtab4 up 13:02:42.987 Channel flow4 State: UP ================== Table: flowtab4 Preference: 200 Input filter: ACCEPT Output filter: ACCEPT Routes: 1 imported, 0 exported, 1 preferred Route change stats: received rejected filtered ignored accepted Import updates: 1 0 0 0 1 Import withdraws: 0 0 --- 0 0 Export updates: 0 0 0 --- 0 Export withdraws: 0 --- --- --- 0
bird> show protocol all bgp_svc01 Name Proto Table State Since Info bgp_svc01 BGP --- up 13:00:17.256 Established BGP state: Established Neighbor address: y.y.y.y Neighbor AS: ABCDE Local AS: ABCDG Neighbor ID: whateverID Local capabilities Neighbor capabilities Session: external Source address: x.x.x.x Hold timer: 4.820/9 Keepalive timer: 2.054/3 Channel flow4 State: DOWN ==================== Table: flowtab4 Preference: 100 Input filter: ACCEPT Output filter: ACCEPT Channel ipv4 State: UP Table: master4 Preference: 100 Input filter: ACCEPT Output filter: ACCEPT Routes: 13 imported, 2 exported, 13 preferred Route change stats: received rejected filtered ignored accepted [...] BGP Next hop: x.x.x.x
Looking forward to get some clarifications. Thank you.
Kind regards, Davide Pucci.
participants (2)
-
Maria Matějka -
posta@davidepucci.it