On Thu, Dec 22, 2022 at 7:09 AM Petr Boltík <petr.bol...@gmail.com> wrote:
> > - To make "plugin linux_nl_plugin.so" working, you need to run VPP inside > netns dataplane (same as bird). This can be done by editing VPP systemd > startup file (add something like " > NetworkNamespacePath=/var/run/netns/dataplane" ) and ensuring that netns > "dataplane" will be started first. > I run VPP in the default netns and use FRR & iproute2 in the dataplane netns and it works fine. I test this regularly on AWS, Azure, KVM, and bare metal. I don't set the netns with vppctl CLI commands though, I set it in startup.conf with 'linux-cp { default netns dataplane }'. I will look into whether something is broken with the CLI command. -Matt > čt 22. 12. 2022 v 13:53 odesílatel Christopher Adigun <future...@gmail.com> > napsal: > >> 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 (#22369): https://lists.fd.io/g/vpp-dev/message/22369 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] -=-=-=-=-=-=-=-=-=-=-=-