Re: [ovs-dev] [PATCH v2 0/8] Add minimum network namespace support.

2017-11-16 Thread Flavio Leitner
On Tue, 14 Nov 2017 14:54:20 -0800
Gregory Rose  wrote:

> On 11/9/2017 9:30 AM, 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.
> >
> >
> > Flavio Leitner (8):
> >netlink: provide network namespace id from a msg.
> >netdev-linux: initialize netns as invalid.
> >vport: retrieve the netnsid if available.
> >netdev: update device info only if netns 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|  12 +-
> >   lib/dpif-netlink.h|   2 +
> >   lib/netdev-linux.c| 314 
> > --
> >   lib/netlink-notifier.c|   2 +-
> >   lib/netlink-protocol.h|   6 +
> >   lib/netlink-socket.c  |  80 +-
> >   lib/netlink-socket.h  |   6 +-
> >   lib/netns.h   | 119 
> >   tests/ofproto-macros.at   |   1 +
> >   tests/ovn-controller-vtep.at  |   1 +
> >   utilities/nlmon.c |   9 +-
> >   17 files changed, 531 insertions(+), 44 deletions(-)
> >   create mode 100644 lib/netns.h
> >  
> 
> Besides one little nit in patch 3 it all looks good.  I'll let someone 
> who knows the namespace code
> better than I give it an ack but...
> 
> Reviewed-by: Greg Rose 
> Tested-by: Greg Rose 

Thanks for the review and tests!

Jiri is busy and he works inside of the kernel so maybe someone else
can review?

-- 
Flavio
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 0/8] Add minimum network namespace support.

2017-11-14 Thread Gregory Rose

On 11/9/2017 9:30 AM, 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.


Flavio Leitner (8):
   netlink: provide network namespace id from a msg.
   netdev-linux: initialize netns as invalid.
   vport: retrieve the netnsid if available.
   netdev: update device info only if netns 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|  12 +-
  lib/dpif-netlink.h|   2 +
  lib/netdev-linux.c| 314 --
  lib/netlink-notifier.c|   2 +-
  lib/netlink-protocol.h|   6 +
  lib/netlink-socket.c  |  80 +-
  lib/netlink-socket.h  |   6 +-
  lib/netns.h   | 119 
  tests/ofproto-macros.at   |   1 +
  tests/ovn-controller-vtep.at  |   1 +
  utilities/nlmon.c |   9 +-
  17 files changed, 531 insertions(+), 44 deletions(-)
  create mode 100644 lib/netns.h



Besides one little nit in patch 3 it all looks good.  I'll let someone 
who knows the namespace code

better than I give it an ack but...

Reviewed-by: Greg Rose 
Tested-by: Greg Rose 

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH v2 0/8] Add minimum network namespace support.

2017-11-09 Thread Flavio Leitner
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.


Flavio Leitner (8):
  netlink: provide network namespace id from a msg.
  netdev-linux: initialize netns as invalid.
  vport: retrieve the netnsid if available.
  netdev: update device info only if netns 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|  12 +-
 lib/dpif-netlink.h|   2 +
 lib/netdev-linux.c| 314 --
 lib/netlink-notifier.c|   2 +-
 lib/netlink-protocol.h|   6 +
 lib/netlink-socket.c  |  80 +-
 lib/netlink-socket.h  |   6 +-
 lib/netns.h   | 119 
 tests/ofproto-macros.at   |   1 +
 tests/ovn-controller-vtep.at  |   1 +
 utilities/nlmon.c |   9 +-
 17 files changed, 531 insertions(+), 44 deletions(-)
 create mode 100644 lib/netns.h

-- 
2.13.6

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev