Hi there,
        I'm having some issues with using bird2 to carry downstream. I have two different types of upstream. One can take downstream and the other cannot. I use bgp_large_community  (141011, 3, xxx) to mark every prefix from upstream which can taken downstream and I sent those prefixes to my downstream. But when my upstream(which can take downstream) and upstream(which cannot take downstream) sent the same prefix, bgp_large_community ~ [(141011, 3 *)] then accept would filter both prefixes since they have the same destination.

For example,one has BGP.large_community (141011, 3, 27000) and other not.So this prefix would be filtered, but I don't want it happens.
2600:380:180::/41    unicast [AS38008 00:47:10.975 from 2406:4440::1] * (110) [AS20057i]
       via 2406:4440::ffff:ffff:ffff:ffff on ens192
       Type: BGP univ
       BGP.origin: IGP
       BGP.as_path: 38008 174 7018 20057
       BGP.next_hop: 2406:4440::ffff:ffff:ffff:ffff fe80::b68a:5f00:6456:3005
       BGP.local_pref: 100
       BGP.aggregator: 107.112.201.68 AS64942
       BGP.community: (174,21000) (174,22013) (38008,103)
       BGP.large_community: (141011, 1, 22000)
                    unicast [HOME_1_ARCH 18:06:21.983] (100) [AS20057i]
       via 2a02:1218:2475::2 on home_1_arch
       Type: BGP univ
       BGP.origin: IGP
       BGP.as_path: 38136 6939 7018 20057
       BGP.next_hop: 2a02:1218:2475::2
       BGP.local_pref: 100
       BGP.aggregator: 107.112.201.68 AS64942
       BGP.originator_id: 103.149.145.104
       BGP.cluster_list: 192.168.117.52
       BGP.large_community: (38136, 1000, 17) (141011, 3, 27000)
                    unicast [kskb 00:15:16.848] (100) [AS20057i]

 
      In addition, if I successfully export the prefixes that come from upstream can take downstream. When packages go through the kernel, they may also go through upstreamthat cannot take downstream.
    My idea is to let two different types of prefixes in different route tables. Table 100(All routing tables from BGP)and Table 101 (Only from Tier 1 ISP and can carry downstream routing table) and use IP rule command let ever prefixes that my downstream export to me via table 101. But there are so many prefixes so I do it by manual is impossible. and it seems bird2 doesn't support ip rule.

graph.png
--
Huize Team
HUIZE LTD

www.huize.asia www.ixp.su | Twitter


This e-mail and any attachments or any reproduction of this e-mail in whatever manner are confidential and for the use of the addressee(s) only. HUIZE LTD can’t take any liability and guarantee of the text of the email message and virus.