Thanks Ondrej, With your suggested changes, I notice both Kernel and BGP uses single table (master4) and both have the routes. However, the routes shown in the bird has labels attached to them, the routes shown in Kernel table do not show the labels to them.
bird> show route Table master4: 1.0.1.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1001 1.0.0.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1000 1.0.3.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1003 1.0.2.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1002 1.0.5.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1005 1.0.4.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1004 1.0.7.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1007 1.0.6.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1006 1.0.9.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1009 1.0.8.0/24 unicast [bgp1 11:48:56.097] * (100) [AS65001i] via 10.10.101.1 on bond0.11 mpls 1008 10.10.101.0/24 unicast [direct1 11:48:09.102] * (240) dev bond0.11 135.21.13.160/28 unicast [direct1 11:46:40.209] * (240) dev ens3 bird> root@ubuntu4-4-VM1:/usr/local/etc# ip -f mpls route show 100 as to 200 via inet 192.168.2.2 dev ens3 300 dev lo root@ubuntu4-4-VM1:/usr/local/etc# ip -f inet route show default via 135.21.13.161 dev ens3 onlink 1.0.0.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.1.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.2.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.3.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.4.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.5.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.6.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.7.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.8.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 1.0.9.0/24 via 10.10.101.1 dev bond0.11 proto bird metric 32 10.10.101.0/24 dev bond0.11 proto kernel scope link src 10.10.101.2 10.10.101.0/24 dev bond0.11 proto bird scope link metric 32 135.21.13.160/28 dev ens3 proto kernel scope link src 135.21.13.165 135.21.13.160/28 dev ens3 proto bird scope link metric 32 root@ubuntu4-4-VM1:/ bird> show protocols all Name Proto Table State Since Info kernel1 Kernel master4 up 11:46:40.203 Channel ipv4 State: UP Table: master4 Preference: 10 Input filter: ACCEPT Output filter: ACCEPT Routes: 0 imported, 12 exported Route change stats: received rejected filtered ignored accepted Import updates: 0 0 0 0 0 Import withdraws: 0 0 --- 0 0 Export updates: 13 0 0 --- 13 Export withdraws: 1 --- --- --- 1 direct1 Direct --- up 11:46:40.203 Channel ipv4 State: UP Table: master4 Preference: 240 Input filter: ACCEPT Output filter: ACCEPT Routes: 2 imported, 0 exported Route change stats: received rejected filtered ignored accepted Import updates: 3 0 0 0 3 Import withdraws: 1 0 --- 0 1 Export updates: 0 0 0 --- 0 Export withdraws: 0 --- --- --- 0 device1 Device --- up 11:46:40.203 bgp1 BGP --- up 11:48:56.087 Established BGP state: Established Neighbor address: 10.10.101.1 Neighbor AS: 65001 Neighbor ID: 192.0.0.1 Local capabilities Multiprotocol AF announced: ipv4-mpls Route refresh Graceful restart 4-octet AS numbers Enhanced refresh Neighbor capabilities Multiprotocol AF announced: vpn4-mpls ipv4-mpls Session: external Source address: 10.10.101.2 Hold timer: 66.292/90 Keepalive timer: 21.935/30 Channel ipv4-mpls State: UP Table: master4 Preference: 100 Input filter: ACCEPT Output filter: ACCEPT Routes: 10 imported, 2 exported Route change stats: received rejected filtered ignored accepted Import updates: 10 0 0 0 10 Import withdraws: 0 0 --- 0 0 Export updates: 12 10 0 --- 2 Export withdraws: 0 --- --- --- 0 BGP Next hop: 10.10.101.2 bird> root@ubuntu4-4-VM1:/usr/local/etc# more bird.conf router id 198.51.101.10; ipv4 table master4; ipv6 table master6; protocol kernel { persist; scan time 10; ipv4 { export all; import all; }; } protocol direct { ipv4 { export all; import all; }; interface "-eth*", "*"; } protocol device { scan time 10; # Scan interfaces every 10 seconds } protocol bgp { local 10.10.101.2 as 65110; # Use a private AS number neighbor 10.10.101.1 as 65001; # Our neighbor ... # IPv4 with MPLS labels (1/4) ipv4 mpls { # explicit IPv4 table import all; export all; next hop self; # advertise this router as next hop }; } root@ubuntu4-4-VM1:/usr/local/etc# Regards, Thiruvazhiyan L -----Original Message----- From: Ondrej Zajicek [mailto:santi...@crfreenet.org] Sent: Thursday, June 14, 2018 9:08 AM To: Thiruvazhiyan Lakshmanan Cc: bird-users@network.cz Subject: Re: BIRD - Config Support for RFC 3107 - Carrying Label Information in BGP On Wed, Jun 13, 2018 at 09:33:56PM +0000, Thiruvazhiyan Lakshmanan wrote: > Hi Ondrej, > > Thanks for your reply. I have upgraded the kernel on my VM and now I am > getting the 3107 routes in the mtab4 table in the bird. But the routes are > not programed to mpls Kernel table. Maybe I am missing some configuration in > the bird.conf. can you please help. > > Below is the bird.conf that I am using, Hi You have two pairs of routing tables (master4/6 and mtab4/6), BGP is connected to both (regular to master4/6 and 3107 to mtab4/6). But only the master4/6 is connected by kernel protocol to the real kernel routing table. You probably do not need regular BGP, only RFC 3107 (there are no routes in master4/6 other than from Direct protocol). So you should: Remove additional routing tables: ipv4 table mtab4; ipv6 table mtab6; Remove 'ipv4' block in BGP, keep only 'ipv4 mpls' block (RFC 3107 routes) Remove 'table mtab4' from 'ipv4 mpls' block. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so." ============================================================================================================================ Disclaimer: This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at http://www.techmahindra.com/Disclaimer.html <http://www.techmahindra.com/Disclaimer.html> externally http://tim.techmahindra.com/tim/disclaimer.html <http://tim.techmahindra.com/tim/disclaimer.html> internally within TechMahindra. ============================================================================================================================