+Matthew Smith <mgsm...@netgate.com> and +Jon Loeliger <j...@netgate.com> can
you let me know what you think?
Does Netgate value the 'lcp default netns' or ability to create LIPs in a
namespace other than 'dataplane'?
As I described, I think the ability to change these in the API, or set them
in 'lcp create' yields erratic behavior.

groet,
Pim

On Thu, Dec 22, 2022 at 4:28 PM Pim van Pelt <p...@ipng.nl> wrote:

> Hoi,
>
>
> On Thu, Dec 22, 2022 at 4:08 PM Matthew Smith via lists.fd.io <mgsmith=
> netgate....@lists.fd.io> wrote:
>
>>
>> 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.
>>
> I run VPP in default netns and Bird2 & iproute2 in the dataplane netns. I
> set default netns dataplane in startup.conf also.
>
> I think OP has a different problem, because I do see their netlink
> messages arriving otherwise. One test that you can do, is in the network
> namespace, change the link attribute (like ip link set <dev> mtu 1500; or
> ip link set <dev> up; or down; and then see if 'vppctl show int' reflects
> that change. That would demonstrate that end-to-end, netlink messages are
> arriving from the dataplane netns, through kernel, through linux_nl plugin
> and finally into the dataplane.
>
> One plausible explanation for the behavior is that linux_nl starts the
> netlink listener immediately, based on startup.conf, and it does not change
> its mind when you specify 'lcp netns default' on the CLI, in other words:
> it will only listen to one namespace, namely the one it found when it
> started up. I think this is OP's issue, and if so, then 'lcp netns' is
> broken in linux-cp, it can never work, and actually should be considered
> harmful because there will only be one netns listened to, so changing it
> midflight will give erratic results. The same is true for the 'netns'
> argument to lcp create -- the only place where linux_nl will ever pick up
> netlink messages is in the very first namespace it started in, as specified
> in startup.conf.
>
> As a point of comparison - lcpng will start a netlink listener *once the
> first LIP is created*; which is why it will start the listener in either
> what was setup in startup.conf, or what it changed to with 'lcp default
> netns', to any value set before the very first interface pair is created.
> 'lcp default netns' works there, but as with linux_nl, if any LIP is
> created in a netns other than the initial one which has the (one and only)
> netlink listener in it), it will give unexpected results.
>
> I think we should:
> - remove lcp netns default from CLI
> - remove changing the netns from API
> - force use of only startup.conf to start the netlink listener in that,
> and only that, network namespace.
>
> Thoughts ?
>
> --
> Pim van Pelt <p...@ipng.nl>
> PBVP1-RIPE - http://www.ipng.nl/
>


-- 
Pim van Pelt <p...@ipng.nl>
PBVP1-RIPE - http://www.ipng.nl/
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22434): https://lists.fd.io/g/vpp-dev/message/22434
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