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

[Xen-devel] [PATCH 0 of 4 RFC] xl - Remus network buffering support



This patch series adds support for network buffering in the Remus
codebase in xl/libxl. In previous emails, I had proposed for a script
invocation to setup network buffering. After digging through libnl API,
I managed to find most of what I needed (except for one command, which
right now is executed through system() call).

The patch series in its current state would allow xl to dynamically setup
and teardown buffering devices, qdiscs, etc associated with the guest,
instead of resorting to clunky one time configurations.

The series is organized as follows:
 1/4 - Network buffering setup functions - abstractions built on top of libnl3 
API
       to implement functionality such as add/delete qdisc, interface up/down,
       search for free ifb devices, etc.           

 2/4 - xl cmdline utility uses these abstractions to setup network buffers and
       provides libxl with a list of ifb devices where packets would be buffered

 3/4 - Libxl interaction with network buffer module in the kernel via libnl3.

 4/4 - adds libnl3 (>= v3.2.17) dependency to autoconf scripts and linker flags
       in tools/libxl/Makefile. 

Functionality tested on debian squeeze (kernel 3.4) + openvswitch + 64-bit PV 
domU (kernel 3.4).

Couple of things to note:
 1. I am not well versed with the autoconf stuff. I fixed the configure.ac
    as best as I could. However, the libxl/Makefile patching is still clunky
    [hard coded -I/usr/local/include/libnl3..]

 2. I have kept most of the setup related C code in a separate file, that
    I am also planning to submit to libvirt mailing list.  Other toolstacks can 
choose to 
    setup network buffers in their own way (scripts or a different 
implementation).
    As long as libxl gets as input a list of IFB devices to act on, things are 
good.

    The code to control the network buffer, when Remus is operational, 
    is incorporated into libxl in the remus callbacks. This is something that 
only libxl 
    can do and [should do].


thanks
shriram

_______________________________________________
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®.