[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 00/10 V7] Remus/Libxl: Network buffering support



Hi, Ian Campbell, Ian Jackson

Ping.
This patchset is ready for 4.5-unstable.
It went through several rounds and got decent reviews&comments.

Could you merge it for 4.5-unstable. Or any comments?

Thanks,
Lai

On 02/10/2014 05:19 PM, Lai Jiangshan wrote:
> This patch series adds support for network buffering in the Remus
> codebase in libxl. 
> 
> Changes in V7:
>   Applied missing comments(by IanJ).
>   Applied Shriram comments.
> 
>   merge netbufering tangled setup/teardown code into one patch.
>   (2/6/8 in V6 => 5 in V7. 9/10 in V6 => 7 in V7)
> 
> Changes in V6:
>   Applied Ian Jackson's comments of V5 series.
>   the [PATCH 2/4 V5] is split by small functionalities.
> 
>   [PATCH 4/4 V5] --> [PATCH 13/13] netbuffer is default enabled.
> 
> Changes in V5:
> 
> Merge hotplug script patch (2/5) and hotplug script setup/teardown
> patch (3/5) into a single patch.
> 
> Changes in V4:
> 
> [1/5] Remove check for libnl command line utils in autoconf checks
> 
> [2/5] minor nits
> 
> [3/5] define LIBXL_HAVE_REMUS_NETBUF in libxl.h
> 
> [4/5] clean ups. Make the usleep in checkpoint callback asynchronous
> 
> [5/5] minor nits
> 
> Changes in V3:
> [1/5] Fix redundant checks in configure scripts
>       (based on Ian Campbell's suggestions)
> 
> [2/5] Introduce locking in the script, during IFB setup.
>       Add xenstore paths used by netbuf scripts
>       to xenstore-paths.markdown
> 
> [3/5] Hotplug scripts setup/teardown invocations are now asynchronous
>       following IanJ's feedback.  However, the invocations are still
>       sequential. 
> 
> [5/5] Allow per-domain specification of netbuffer scripts in xl remus
>       commmand.
> 
> And minor nits throughout the series based on feedback from
> the last version
> 
> Changes in V2:
> [1/5] Configure script will automatically enable/disable network
>       buffer support depending on the availability of the appropriate
>       libnl3 version. [If libnl3 is unavailable, a warning message will be
>       printed to let the user know that the feature has been disabled.]
> 
>       use macros from pkg.m4 instead of pkg-config commands
>       removed redundant checks for libnl3 libraries.
> 
> [3,4/5] - Minor nits.
> 
> Version 1:
> 
> [1/5] Changes to autoconf scripts to check for libnl3. Add linker flags
>       to libxl Makefile.
> 
> [2/5] External script to setup/teardown network buffering using libnl3's
>       CLI. This script will be invoked by libxl before starting Remus.
>       The script's main job is to bring up an IFB device with plug qdisc
>       attached to it.  It then re-routes egress traffic from the guest's
>       vif to the IFB device.
> 
> [3/5] Libxl code to invoke the external setup script, followed by netlink
>       related setup to obtain a handle on the output buffers attached
>       to each vif.
> 
> [4/5] Libxl interaction with network buffer module in the kernel via
>       libnl3 API.
> 
> [5/5] xl cmdline switch to explicitly enable network buffering when
>       starting remus.
> 
> 
>   Few things to note(by shriram): 
> 
>     a) Based on previous email discussions, the setup/teardown task has
>     been moved to a hotplug style shell script which can be customized as
>     desired, instead of implementing it as C code inside libxl.
> 
>     b) Libnl3 is not available on NetBSD. Nor is it available on CentOS
>    (Linux).  So I have made network buffering support an optional feature
>    so that it can be disabled if desired.
> 
>    c) NetBSD does not have libnl3. So I have put the setup script under
>    tools/hotplug/Linux folder.
> 
> thanks
> Lai
> 
> 
> 
> Shriram Rajagopalan (8):
>   remus: add libnl3 dependency to autoconf scripts
>   tools/libxl: update libxl_domain_remus_info
>   tools/libxl: introduce a new structure libxl__remus_state
>   remus: introduce a function to check whether network buffering is
>     enabled
>   remus: Remus network buffering core and APIs to setup/teardown
>   remus: implement the APIs to buffer/release packages
>   libxl: use the APIs to setup/teardown network buffering
>   libxl: rename remus_failover_cb() to remus_replication_failure_cb()
>   libxl: control network buffering in remus callbacks
>   libxl: network buffering cmdline switch
> 
>  README                                 |    4 +
>  config/Tools.mk.in                     |    3 +
>  docs/man/xl.conf.pod.5                 |    6 +
>  docs/man/xl.pod.1                      |   11 +-
>  docs/misc/xenstore-paths.markdown      |    4 +
>  tools/configure.ac                     |   15 +
>  tools/hotplug/Linux/Makefile           |    1 +
>  tools/hotplug/Linux/remus-netbuf-setup |  183 +++++++++++
>  tools/libxl/Makefile                   |   11 +
>  tools/libxl/libxl.c                    |   48 ++-
>  tools/libxl/libxl.h                    |   13 +
>  tools/libxl/libxl_dom.c                |  118 ++++++--
>  tools/libxl/libxl_internal.h           |   54 +++-
>  tools/libxl/libxl_netbuffer.c          |  561 
> ++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_nonetbuffer.c        |   56 ++++
>  tools/libxl/libxl_remus.c              |   64 ++++
>  tools/libxl/libxl_types.idl            |    2 +
>  tools/libxl/xl.c                       |    4 +
>  tools/libxl/xl.h                       |    1 +
>  tools/libxl/xl_cmdimpl.c               |   28 ++-
>  tools/libxl/xl_cmdtable.c              |    3 +
>  tools/remus/README                     |    6 +
>  22 files changed, 1155 insertions(+), 41 deletions(-)
>  create mode 100644 tools/hotplug/Linux/remus-netbuf-setup
>  create mode 100644 tools/libxl/libxl_netbuffer.c
>  create mode 100644 tools/libxl/libxl_nonetbuffer.c
>  create mode 100644 tools/libxl/libxl_remus.c
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.