[ovs-dev] [PATCH v3 0/6] Add minimum network namespace support.

Ben Pfaff blp at ovn.org
Thu Jan 11 00:07:38 UTC 2018


Thanks for the series.  I actually think that it's pretty close.  For
me, this series falls into the category of "obviously the right
direction but impossible to fully validate before applying it".  It
builds fine and I was about to push it when I realized that it breaks
most of the unit tests with failures like:

    --- /dev/null   2017-07-26 15:46:07.674034656 -0700
    +++ /home/blp/nicira/ovs/_build/tests/testsuite.dir/at-groups/3/stdout  2018-01-10 16:03:35.309361001 -0800
    @@ -0,0 +1 @@
    +2018-01-11T00:03:35Z|00007|dpif_netlink|WARN|Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded.

The unit tests are supposed to work without the kernel module loaded (I
run them on a system that doesn't even have the module).  Previously
they didn't even try to interact with the kernel module and now clearly
they do.  Can you figure out how that changed?  It would be best to fix
it.

Probably, this series should add something to NEWS and possibly to other
documentation that describes the new feature.

Thanks,

Ben.

On Fri, Jan 05, 2018 at 11:05:05AM -0200, Flavio Leitner wrote:
> 
> Hi,
> 
> I know this change is not easy to review, but at the same time
> we are getting close to the release date.  I am afraid that
> delaying the acceptance will reduce its exposure and testing.
> 
> Please let me know the questions you might have to help you
> reviewing this patchset.
> 
> Thanks,
> fbl
> 
> 
> 
> On Thu, Dec 07, 2017 at 12:22:18AM -0200, Flavio Leitner wrote:
> > Today Open vSwitch doesn't know about network namespaces (netns), but
> > users are moving internal ports to other namespaces.  Although packets
> > are still flowing, the daemon fails to find out basic port information,
> > like if it is UP or DOWN, for instance.
> > 
> > This patchset rely on a new kernel vport API recently accepted to find
> > out the new network namespace ID of a bridge's port. This information
> > along with the port's name recorded in the database is used to match the
> > corresponding netlink messages.
> > 
> > This patchset also leverages another kernel API that allows the daemon
> > to listen to all netlink messages from all netns which has an ID assigned
> > into it.  This and the previous change allows the userspace to track ports
> > in other network namespaces.
> > 
> > If any of the APIs aren't available, it falls back to the older APIs to
> > not break backwards compatibility.
> > 
> > 
> > ChangeLog:
> > 
> > * V3:
> >   - Fixed long line (Greg)
> >   - Rewrote assuming that the kernel will not send negative
> >     numbers as valid network namespace id. (Ben, Flavio, Jiri)
> > 
> > * V2:
> >   - report and close unexpected file descriptors (Ben)
> > 
> > Flavio Leitner (6):
> >   netlink: provide network namespace id from a msg.
> >   netnsid: update device only if netnsid matches.
> >   netdev-linux: use netlink to update netdev.
> >   netlink linux: enable listening to all nsids
> >   nlmon: added netns support.
> >   netdev-linux: fail ops not supporting remote netns.
> > 
> >  configure.ac                                      |   3 +-
> >  datapath/linux/compat/include/linux/openvswitch.h |   2 +
> >  lib/automake.mk                                   |   1 +
> >  lib/daemon-unix.c                                 |   3 +-
> >  lib/daemon.man                                    |   6 +-
> >  lib/daemon.xml                                    |   8 +-
> >  lib/dpif-netlink.c                                |  14 +-
> >  lib/dpif-netlink.h                                |   1 +
> >  lib/netdev-linux.c                                | 312 ++++++++++++++++++++--
> >  lib/netlink-notifier.c                            |   2 +-
> >  lib/netlink-protocol.h                            |   6 +
> >  lib/netlink-socket.c                              |  80 +++++-
> >  lib/netlink-socket.h                              |   4 +-
> >  lib/netnsid.h                                     | 139 ++++++++++
> >  tests/ofproto-macros.at                           |   1 +
> >  tests/ovn-controller-vtep.at                      |   1 +
> >  utilities/nlmon.c                                 |  10 +-
> >  17 files changed, 549 insertions(+), 44 deletions(-)
> >  create mode 100644 lib/netnsid.h
> > 
> > -- 
> > 2.14.3
> > 
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 
> -- 
> Flavio
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list