Hello Bird Users,

Hope you will be able to help me. I have 8  bgp peers which use  the same bgp template with below import filter:

 

filter IMPORT__SPINE__TO__LEAF

{

    bgp_community.add(LOOP_DETECTION);

    gw = bgp_next_hop;  -> I use it to set ipv6 bgp next hop to global ipv6 address  (not link local)

    if (net = 0.0.0.0/0 || net = ::/0) then

    {

        reject;

    }

   … 

    else

    {

        reject;

    }

}

 

1.First Peer  -> this look good

 

r14.spine101.fra02.fab> bird show protocols all 2a02:26f0:3700:1101::1__r01.leaf101

BIRD 2.0.7 ready.

Name       Proto      Table      State  Since         Info

2a02:26f0:3700:1101::1__r01.leaf101 BGP        ---        up     09:58:55.848  Established

Channel ipv6

    State:          UP

    Table:          master6

    Preference:     100

    Input filter:   IMPORT__SPINE__TO__LEAF

    Output filter:  EXPORT__SPINE__TO__LEAF

    Routes:         27 imported, 4 exported, 25 preferred   -> I expect to import 27 routes

    Route change stats:     received   rejected   filtered    ignored   accepted

      Import updates:             27          0          0          0         27

      Import withdraws:            0          0        ---          0          0

      Export updates:          15846         50      15791        ---          5

      Export withdraws:           11        ---        ---        ---          0

    BGP Next hop:   2a02:26f0:3700:1101::

 

2.Second Peer -> this does not look good:

 

r14.spine101.fra02.fab> bird show protocols all 2a02:26f0:3700:1102::1__r02.leaf101

BIRD 2.0.7 ready.

Name       Proto      Table      State  Since         Info

2a02:26f0:3700:1102::1__r02.leaf101 BGP        ---        up     09:58:56.676  Established

 

  Channel ipv6

    State:          UP

    Table:          master6

    Preference:     100

    Input filter:   IMPORT__SPINE__TO__LEAF

    Output filter:  EXPORT__SPINE__TO__LEAF

    Routes:         4 imported, 4 exported, 0 preferred  -> bird imports  only 4 routes

    Route change stats:     received   rejected   filtered    ignored   accepted

      Import updates:             27          0                             23          0          4       -> bird reject 23 routes

 

After I reload this protocol all looks good and bird import 27 routes

 

In logs I see  “Invalid gw address”,  therefore I suspect issue with “gw = bgp_next_hop”

 

2020-07-22 09:58:56.801 <ERR> filters, line 169: Invalid gw address

2020-07-22 09:58:56.801 <ERR> filters, line 169: Invalid gw address

2020-07-22 09:58:56.801 <ERR> filters, line 169: Invalid gw address

2020-07-22 09:58:56.801 <ERR> filters, line 169: Invalid gw address

2020-07-22 09:58:56.801 <ERR> filters, line 169: Invalid gw address

 

I am able to reproduce issue on more routers, please find below out from another router:

r16.spine101.fra02.fab> show bgp summary  ->  it parse “show protocols all”

 

IPv6 Peers: 10 Down: 0

Peer                          AS      State       (Im/Filt/Exp/Pref)        Up/Down         Protocol

2a02:26f0:3700:211::          20940   Established (8480/0/35/8480)          00:36:46        2a02:26f0:3700:211::__r01.border101

2a02:26f0:3700:311::          20940   Established (7131/0/34/7)             00:36:48        2a02:26f0:3700:311::__r02.border101

2a02:26f0:3700:1301::1        20940   Established (28/0/4/26)               00:36:51        2a02:26f0:3700:1301::1__r01.leaf101

2a02:26f0:3700:1302::1        20940   Established (4/0/4/0)                 00:36:49        2a02:26f0:3700:1302::1__r02.leaf101  -> 4 routes are imported but should be 28

2a02:26f0:3700:1303::1        20940   Established (28/0/4/1)                00:36:53        2a02:26f0:3700:1303::1__r03.leaf101

2a02:26f0:3700:1304::1        20940   Established (4/0/4/0)                 00:36:50        2a02:26f0:3700:1304::1__r04.leaf101

2a02:26f0:3700:1305::1        20940   Established (28/0/4/1)                00:36:47        2a02:26f0:3700:1305::1__r05.leaf101

2a02:26f0:3700:1306::1        20940   Established (28/0/4/1)                00:36:46        2a02:26f0:3700:1306::1__r06.leaf101

2a02:26f0:3700:1307::1        20940   Established (28/0/4/1)                00:36:47        2a02:26f0:3700:1307::1__r07.leaf101

2a02:26f0:3700:1308::1        20940   Established (28/0/4/1)                00:36:46        2a02:26f0:3700:1308::1__r08.leaf101

 

After protocol reload all looks good.

 

Did you face similar problem?

 

Regards,

Dariusz