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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to