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 <[email protected]> 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=
> [email protected]> napsal:
>
>> Hoi,
>>
>> Is bird running in the 'dataplane' network namespace ?
>>
>> groet,
>> Pim
>>
>> On Thu, Dec 22, 2022 at 12:52 AM Christopher Adigun <[email protected]>
>> 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 <[email protected]>
>> 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: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-