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

Flavio Leitner fbl at redhat.com
Thu Dec 7 02:22:18 UTC 2017


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



More information about the dev mailing list