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.

Reply via email to