Hi Petr, Thanks for the response, bird is actually running in the dataplane ns:
root@nat-gw-697d886cb4-xn62q:/etc/bird# *ip netns exec dataplane ip a* 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever *2: loop0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000 link/ether de:ad:00:00:00:00 brd ff:ff:ff:ff:ff:ff inet 192.168.163.2/32 <http://192.168.163.2/32> scope global loop0 valid_lft forever preferred_lft forever inet6 fe80::dcad:ff:fe00:0/64 scope link valid_lft forever preferred_lft forever3: xe0-1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UNKNOWN group default qlen 1000 link/ether 02:40:0a:84:e3:83 brd ff:ff:ff:ff:ff:ff inet 10.0.5.10/24 <http://10.0.5.10/24> scope global xe0-1 valid_lft forever preferred_lft forever inet6 fe80::40:aff:fe84:e383/64 scope link valid_lft forever preferred_lft forever* root@nat-gw-697d886cb4-xn62q:/etc/bird# root@nat-gw-697d886cb4-xn62q:/etc/bird# root@nat-gw-697d886cb4-xn62q:/etc/bird# ip netns exec *dataplane *ip r 10.0.5.0/24 dev xe0-1 proto kernel scope link src 10.0.5.10 10.45.0.0/16 via 10.0.5.9 dev xe0-1 proto bird One other thing, I am running this in a kubernetes POD, maybe this might be affecting something. Also can you clarify how to perform *plugin "linux_nl_plugin.so" ignore "lcp default netns" configuration?* Should this be placed in the startup.conf or init.conf? I want to test without netns, I tried the following in the startup config but vpp was crashing plugin "linux_nl_plugin.so" { ignore "lcp default netns" } I also tried using the full command in init.conf but that did not work. On Thu, Dec 22, 2022 at 4:22 AM Petr Boltík <petr.bol...@gmail.com> wrote: > Hi, > > there can be a few misconfigurations: > 1. "lcp default netns dataplane" start synchronizing > interfaces/address/etc inside netns "dataplane" (netns "dataplane" must > exist) - NOT synchronizing routes > 2. plugin "linux_nl_plugin.so" ignore "lcp default netns" configuration > => "linux_nl_plugin.so" will synchronize VPP with default namespace "0" > > Solution with netns: > 0. Create netns "dataplane" with systemd > 1. run VPP inside netns "dataplane" (edit systemd, start after previous > point) > 2. run Bird inside netns "dataplane" (edit systemd, start after previous > point) > 3. do not use "lcp default netns dataplane", it is controlled by VPP netns > > For running without netns only skip "lcp default netns dataplane". > > Petr > > čt 22. 12. 2022 v 10:07 odesílatel Pim van Pelt via lists.fd.io <pim= > ipng...@lists.fd.io> napsal: > >> Hoi, >> >> Is bird running in the 'dataplane' network namespace ? >> >> groet, >> Pim >> >> On Thu, Dec 22, 2022 at 12:52 AM Christopher Adigun <future...@gmail.com> >> wrote: >> >>> Hi, >>> >>> I am currently trying to use linx-cp plugins to sync routes learned via >>> BGP, bird is seeing the BGP route but I can't see the routes in VPP. >>> >>> Details: >>> >>> *vpp v22.10-release built by root on ff42e25458af at 2022-10-26T14:00:24* >>> >>> *startup.conf:* >>> >>> unix { >>> nodaemon >>> log /tmp/vpp.log >>> full-coredump >>> gid vpp >>> interactive >>> cli-listen /run/vpp/cli.sock >>> exec /etc/vpp/init.conf >>> } >>> >>> cpu { >>> main-core 1 >>> corelist-workers 19 >>> } >>> >>> memory { >>> main-heap-size 2G >>> } >>> api-trace { >>> on >>> } >>> >>> dpdk { >>> dev 0000:00:09.0 {name n6} >>> dev 0000:00:07.0 {name internet} >>> } >>> >>> api-segment { >>> gid vpp >>> } >>> >>> plugins { >>> path /usr/lib/x86_64-linux-gnu/vpp_plugins/ >>> plugin ping_plugin.so { disable } >>> plugin linux_cp_plugin.so { enable } >>> plugin linux_nl_plugin.so { enable } >>> plugin dpdk_plugin.so { enable } >>> } >>> >>> *Init.conf:* >>> >>> lcp default netns dataplane >>> lcp lcp-sync on >>> lcp lcp-auto-subint on >>> create loopback interface instance 0 >>> lcp create loop0 host-if loop0 >>> set interface state loop0 up >>> set interface ip address loop0 192.168.163.2/32 >>> lcp create n6 host-if xe0-1 >>> set interface mtu 9001 n6 >>> set interface mtu 9001 internet >>> set interface ip address n6 10.0.5.10/24 >>> set interface ip address internet 10.0.4.9/24 >>> set interface state n6 up >>> set interface state internet up >>> ip route add 0.0.0.0/0 via 10.0.4.1 internet >>> set cnat snat-policy addr 10.0.4.9 >>> set cnat snat-policy if-pfx >>> set cnat snat-policy if table include-v4 internet >>> set cnat snat-policy prefix 10.45.0.0/16 >>> set interface feature internet cnat-snat-ip4 arc ip4-unicast >>> >>> *BIRD routes:* >>> >>> root@nat-gw-697d886cb4-xn62q:/etc/bird# birdc show route all >>> BIRD 1.6.8 ready. >>> 10.45.0.0/16 via 10.0.5.9 on xe0-1 [neighbor_v4_1 23:13:04] * >>> (100) [i] >>> Type: BGP unicast univ >>> BGP.origin: IGP >>> BGP.as_path: >>> BGP.next_hop: 10.0.5.9 >>> BGP.med: 0 >>> BGP.local_pref: 100 >>> >>> root@nat-gw-697d886cb4-xn62q:/etc/bird# ip r >>> 10.0.5.0/24 dev xe0-1 proto kernel scope link src 10.0.5.10 >>> 10.45.0.0/16 via 10.0.5.9 dev xe0-1 proto bird >>> >>> >>> *BIRD config:* >>> >>> router id 194.1.163.2; >>> >>> protocol device { scan time 30; } >>> protocol kernel kernel4 { >>> import none; >>> export where source != RTS_DEVICE; >>> learn off; >>> scan time 300; >>> } >>> >>> protocol bgp neighbor_v4_1 { >>> local as 65001; >>> direct; >>> neighbor 10.0.5.9 as 65001; >>> } >>> >>> Need any hint on troubleshooting this. >>> >>> Thanks >>> >>> >>> >>> >>> >> >> -- >> Pim van Pelt <p...@ipng.nl> >> PBVP1-RIPE - http://www.ipng.nl/ >> >> >> >> > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22365): https://lists.fd.io/g/vpp-dev/message/22365 Mute This Topic: https://lists.fd.io/mt/95817807/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-