There are switches in the code to drop MPLS labels when the kernel doesn't support it.
If you run $ grep '^#define HAVE_MPLS_KERNEL' config.log (config.log is a product of ./configure) it should show that it is defined to 1. If not, try running ./configure to check whether it shows you Kernel MPLS Support: yes If not, install also kernel headers for your current kernel. Maria On 06/14/2018 08:13 PM, Thiruvazhiyan Lakshmanan wrote: > 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 externally > http://tim.techmahindra.com/tim/disclaimer.html internally within > TechMahindra. > > ============================================================================================================================ >