Hi folks,

I have a problem with routes learnt from BGP vpnv4 not being inserted into the FIB I'd expect. A tcpdump on the OpenBSD box shows we are receiving the prefixes (from a Cisco) with the labels intact. The MPE interface is configured in rdomain 1 with MPLS label 200. The loopback interface lo1 was automatically created as mentioned in the 6.1 changelog.

We have this working on OpenBSD 5.4. My colleagues have seen this same behaviour since OpenBSD 5.9 explaining why we're still using 5.4. All configs and output below is from OpenBSD 6.1.

Any help with this would be much appreciated.

Thank you


/etc/bgpd.conf:
----/----
# global configuration
AS 65002
router-id 192.168.1.2
holdtime 180
listen on 192.168.1.2
log updates

group "peering AS65520" {
        remote-as 65520
        neighbor 192.168.1.1 {
                descr   "AS 65520"
                announce capabilities yes
                announce self
                announce IPv4 vpn
                announce refresh yes
                announce restart yes
        }
}

rdomain 1 {
        descr "200:1"
        rd 200:1
        import-target rt 200:1
        export-target rt 200:1
        depend on mpe1
        network 10.10.10.2/32
}


----/----
bash-4.4# bgpctl show summary
Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd
AS 65520                65520         30         27     0 00:23:23      4


----/----
bash-4.4# bgpctl show rib
flags: * = Valid, > = Selected, I = via IBGP, A = Announced, S = Stale
origin: i = IGP, e = EGP, ? = Incomplete

flags destination          gateway          lpref   med aspath origin
AI*>  rd 200:1 10.10.10.2/32 rd 0:0 0.0.0.0     100     0 i
*>    rd 200:1 100.10.0.0/24 192.168.1.1        100     0 65520 ?
*>    rd 200:1 155.10.0.0/24 192.168.1.1        100     0 65520 ?
*>    rd 200:1 200.10.0.0/24 192.168.1.1        100     0 65520 ?
*>    rd 200:1 210.10.0.0/24 192.168.1.1        100     0 65520 ?


The next-hop for 155.10.0.0/24 is pingable
----/----
bash-4.4# ping -c 3 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.536 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=0.604 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=0.587 ms

--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.536/0.576/0.604/0.029 ms


----/----
bash-4.4# bgpctl show fib
flags: * = valid, B = BGP, C = Connected, S = Static, D = Dynamic
       N = BGP Nexthop reachable via this route R = redistributed
       r = reject route, b = blackhole route

flags prio destination          gateway
*S       8 0.0.0.0/0            10.0.2.1
*C       4 10.0.2.0/24          link#1
*C       0 127.0.0.0/8          link#0
*CN      4 192.168.1.0/30       link#2
*S       8 192.168.2.1/32       192.168.1.1
*        1 192.168.2.2/32       192.168.2.2
*S  r    8 224.0.0.0/4          127.0.0.1
*S  r    8 ::/96                ::1
*S  r    8 ::/104               ::1
*C       0 ::1/128              link#0
*        1 ::1/128              ::1
*S  r    8 ::127.0.0.0/104      ::1
*S  r    8 ::224.0.0.0/100      ::1
*S  r    8 ::255.0.0.0/104      ::1
*S  r    8 ::ffff:0.0.0.0/96    ::1
*S  r    8 2002::/24            ::1
*S  r    8 2002:7f00::/24       ::1
*S  r    8 2002:e000::/20       ::1
*S  r    8 2002:ff00::/24       ::1
*S  r    8 fe80::/10            ::1
*        1 fe80:4::1/128        fe80:4::1
*S  r    8 fec0::/10            ::1
*S  r    8 ff01::/16            ::1
*        4 ff01:4::/32          ::1
*S  r    8 ff02::/16            ::1
*        4 ff02:4::/32          ::1


The tables are coupled
----/----
bash-4.4# bgpctl show table
Table Description          State
    0 Loc-RIB              coupled
    1 200:1                coupled


I don't expect to be able to ping the destination, but not expecting "No route to host"
----/----
bash-4.4# ping -V 1 155.10.0.1
PING 155.10.0.1 (155.10.0.1): 56 data bytes
ping: sendmsg: No route to host
ping: wrote 155.10.0.1 64 chars, ret=-1
ping: sendmsg: No route to host
ping: wrote 155.10.0.1 64 chars, ret=-1
ping: sendmsg: No route to host


----/----
bash-4.4# ifconfig -a
lo0: flags=88049<UP,LOOPBACK,RUNNING,MULTICAST,MPLS> mtu 32768
        index 4 priority 0 llprio 3
        groups: lo
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet 192.168.2.2 netmask 0xffffffff
xnf0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 4a:2f:aa:55:45:89
        index 1 priority 0 llprio 3
        groups: egress
        media: Ethernet manual
        status: active
        inet 10.0.2.38 netmask 0xffffff00 broadcast 10.0.2.255
xnf1: flags=88843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,MPLS> mtu 1500
        lladdr 3a:fe:55:6f:ed:10
        index 2 priority 0 llprio 3
        media: Ethernet manual
        status: active
        inet 192.168.1.2 netmask 0xfffffffc broadcast 192.168.1.3
enc0: flags=0<>
        index 3 priority 0 llprio 3
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        index 5 priority 0 llprio 3
        groups: pflog
mpe1: flags=11<UP,POINTOPOINT> rdomain 1 mtu 1500
        index 6 priority 0 llprio 3
        mpls label: 200
        groups: mpe
        inet 10.10.10.2 --> 255.255.255.255 netmask 0xffffffff
lo1: flags=88008<LOOPBACK,MULTICAST,MPLS> rdomain 1 mtu 32768
        index 7 priority 0 llprio 3
        groups: lo


----/----
bash-4.4# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Mtu Prio Iface default 10.0.2.1 UGS 4 14416 - 8 xnf0 224/4 127.0.0.1 URS 0 2987 - 8 xnf0 10.0.2/24 10.0.2.38 UCn 1 19216 - 4 xnf0 10.0.2.1 00:09:0f:b5:58:8f UHLch 1 275 - 3 xnf0 10.0.2.38 4a:2f:aa:55:45:89 UHLl 0 2843 - 1 xnf0 10.0.2.255 10.0.2.38 UHb 0 3424 - 1 xnf0 192.168.1.0/30 192.168.1.2 UCn 1 0 - 4 xnf1 192.168.1.1 e8:ed:f3:79:7a:d8 UHLch 3 137 - 3 xnf1 192.168.1.2 3a:fe:55:6f:ed:10 UHLl 0 206 - 1 xnf1 192.168.1.3 192.168.1.2 UHb 0 0 - 1 xnf1 192.168.2.1 192.168.1.1 UGHS 0 0 - 8 xnf1 192.168.2.2 192.168.2.2 UHl 0 0 32768 1 lo0

Internet6:
Destination Gateway Flags Refs Use Mtu Prio Iface ::/96 ::1 UGRS 0 0 32768 8 lo0 ::/104 ::1 UGRS 0 0 32768 8 lo0 ::1 ::1 UHhl 14 28 32768 1 lo0 ::127.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::224.0.0.0/100 ::1 UGRS 0 0 32768 8 lo0 ::255.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::ffff:0.0.0.0/96 ::1 UGRS 0 0 32768 8 lo0 2002::/24 ::1 UGRS 0 0 32768 8 lo0 2002:7f00::/24 ::1 UGRS 0 0 32768 8 lo0 2002:e000::/20 ::1 UGRS 0 0 32768 8 lo0 2002:ff00::/24 ::1 UGRS 0 0 32768 8 lo0 fe80::/10 ::1 UGRS 0 0 32768 8 lo0 fec0::/10 ::1 UGRS 0 0 32768 8 lo0 fe80::1%lo0 fe80::1%lo0 UHl 0 0 32768 1 lo0 ff01::/16 ::1 UGRS 1 1 32768 8 lo0 ff01::%lo0/32 ::1 Um 0 1 32768 4 lo0 ff02::/16 ::1 UGRS 1 1 32768 8 lo0 ff02::%lo0/32 ::1 Um 0 1 32768 4 lo0

MPLS:
In label Out label Op Gateway Flags Refs Use Mtu Prio Interface 20 - LOCAL 192.168.1.1 UGT 0 0 - 8 xnf1


----/----
bash-4.4# netstat -rn -T1
Routing tables

Internet:
Destination Gateway Flags Refs Use Mtu Prio Iface 10.10.10.2 10.10.10.2 UHl 0 28 - 1 mpe1 255.255.255.255 10.10.10.2 UH 0 0 - 8 mpe1

MPLS:
In label Out label Op Gateway Flags Refs Use Mtu Prio Interface 200 - POP mpe1 UT 0 0 - 8 mpe1



Reply via email to