Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

[PATCH 0/4] vbus: venet macvlan support

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


pmullaney at novell

Nov 10, 2009, 2:27 PM

Post #1 of 5 (136 views)
Permalink
[PATCH 0/4] vbus: venet macvlan support

(Applies to alacrityvm.git/master:34534534)

This patchset implements a vbus venet device with a
macvlan backend.

These patches allow an alacrityvm guest to send and receive
directly over a macvlan, avoiding the bridge entirely.
This driver inherits all of the benefits of the work done
to date on vbus/venet driver(SAR offloading, zero-copy
in the guest->host path, configurable tx-complete mitigation,
interrupt coalescing at the vbus level). Some of the work to
re-factor and share the common code between venet-tap and
venet-macvlan was done prior because it should be generally
useful to anyone wanting to implement a venet type of device.

Once the driver is built and installed, you may use it
just like you would a venet-tap device. In order to
instantiate a venet-macvlan, there are just two differences
from the procedure to instantiating a venet-tap. In order
to create the venet-macvlan device, just:

echo venet-macvlan > /config/vbus/devices/<device-name>/type

and

echo "lower-devicename" > /sys/vbus/devices/<device-name>/ll_ifname

where lower-devicename is something like eth0, eth1, eth2 etc.

The second step associates the lower-devicename, usually
a physical device, with the venet-macvlan device being created.
This step must be perform prior to enabling the venet-macvlan
device.

After that, a guest can make use of the venet-macvlan in
exactly the same manner as a venet-tap. In fact, the guest
actually sees venet-tap and venet-macvlan as identical
types of the devices on the vbus.

Using the venet-macvlan driver will reduce some overhead by
eliminating the linux bridge from the send and receive
paths. For a lightly loaded network segment and system,
we have measured this to be aproximately 1-3 us per side
depending on what hardware is involved.

Since this driver layered over the macvlan driver, it will
have that same limitations as the macvlan driver. For example,
forwarding between macvlan devices on the same host is not
supported. This driver targeted toward VEPA environments as
described by the 'Edge Virtual Bridging' working group.

---

Patrick Mullaney (4):
venet-macvlan: add new driver to connect a venet to a macvlan netdevice
venetdev: support common venet netdev routines
macvlan: allow in-kernel modules to create and manage macvlan devices
macvlan: derived from Arnd Bergmann's patch for macvtap


drivers/net/macvlan.c | 105 +++--
drivers/net/vbus-enet.c | 8
include/linux/macvlan.h | 43 ++
include/linux/venet.h | 5
kernel/vbus/devices/venet/Kconfig | 11 +
kernel/vbus/devices/venet/Makefile | 10 -
kernel/vbus/devices/venet/device.c | 53 ++-
kernel/vbus/devices/venet/macvlan.c | 598 +++++++++++++++++++++++++++++++
kernel/vbus/devices/venet/venetdevice.h | 12 +
9 files changed, 785 insertions(+), 60 deletions(-)
create mode 100644 include/linux/macvlan.h
create mode 100644 kernel/vbus/devices/venet/macvlan.c

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregory.haskins at gmail

Nov 12, 2009, 7:44 AM

Post #2 of 5 (128 views)
Permalink
Re: [PATCH 0/4] vbus: venet macvlan support [In reply to]

Patrick Mullaney wrote:
> (Applies to alacrityvm.git/master:34534534)
>
> This patchset implements a vbus venet device with a
> macvlan backend.

Thanks Pat, applied.

If possible, please submit a patch for the userspace side "-net
venet-macvlan[,macaddr][,lower-devname]" feature ASAP and I will merge
that as well.

-Greg
Attachments: signature.asc (0.26 KB)


kaber at trash

Nov 12, 2009, 7:53 AM

Post #3 of 5 (126 views)
Permalink
Re: [PATCH 0/4] vbus: venet macvlan support [In reply to]

Gregory Haskins wrote:
> Patrick Mullaney wrote:
>> (Applies to alacrityvm.git/master:34534534)
>>
>> This patchset implements a vbus venet device with a
>> macvlan backend.
>
> Thanks Pat, applied.

As I mentioned in my response to these patches, the macvlan part
need more work.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gregory.haskins at gmail

Nov 12, 2009, 7:54 AM

Post #4 of 5 (127 views)
Permalink
Re: [PATCH 0/4] vbus: venet macvlan support [In reply to]

Patrick McHardy wrote:
> Gregory Haskins wrote:
>> Patrick Mullaney wrote:
>>> (Applies to alacrityvm.git/master:34534534)
>>>
>>> This patchset implements a vbus venet device with a
>>> macvlan backend.
>> Thanks Pat, applied.
>
> As I mentioned in my response to these patches, the macvlan part
> need more work.

Yeah, I talked to Pat offline. He is going to patch it incrementally as
its not a trivial problem to cleanup. For the time being, they are
sitting in the alacrityvm tree, but they are not going upstream until
the macvlan stuff is resolved. All but the last patch are not really my
business to push up, anyway.

In the meantime, Pat or others can enhance the work that he's done to
date, so I will carry them out-of-tree.

Kind Regards,
-Greg
Attachments: signature.asc (0.26 KB)


kaber at trash

Nov 12, 2009, 7:59 AM

Post #5 of 5 (128 views)
Permalink
Re: [PATCH 0/4] vbus: venet macvlan support [In reply to]

Gregory Haskins wrote:
> Patrick McHardy wrote:
>> Gregory Haskins wrote:
>>> Patrick Mullaney wrote:
>>>> (Applies to alacrityvm.git/master:34534534)
>>>>
>>>> This patchset implements a vbus venet device with a
>>>> macvlan backend.
>>> Thanks Pat, applied.
>> As I mentioned in my response to these patches, the macvlan part
>> need more work.
>
> Yeah, I talked to Pat offline. He is going to patch it incrementally as
> its not a trivial problem to cleanup. For the time being, they are
> sitting in the alacrityvm tree, but they are not going upstream until
> the macvlan stuff is resolved.

I see, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.