netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jesse Gross <jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
To: Sven Eckelmann <sven.eckelmann-Mmb7MZpHnFY@public.gmane.org>
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	b.a.t.m.a.n-ZwoEplunGu2X36UT3dwllkB+6BGkLq7r@public.gmane.org,
	Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>,
	davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
	b.a.t.m.a.n-ZwoEplunGu2X36UT3dwlltHuzzzSOjJt@public.gmane.org
Subject: Re: [PATCHv4] net: Add batman-adv meshing protocol
Date: Wed, 8 Sep 2010 12:54:23 -0700	[thread overview]
Message-ID: <AANLkTi=FVyLE6OHTd+_qDbzSLk6fY5j6wBOWkYA810Dj@mail.gmail.com> (raw)
In-Reply-To: <201009082058.15533.sven.eckelmann-Mmb7MZpHnFY@public.gmane.org>

On Wed, Sep 8, 2010 at 11:58 AM, Sven Eckelmann <sven.eckelmann-Mmb7MZpHnFY@public.gmane.org> wrote:
> Jesse Gross wrote:
>> Potentially one way to do this is to build on top of Open vSwitch.  It
>> contains a pretty generic flow-based kernel module for forwarding data
>> packets and making simple modifications.  Control packets can be sent
>> to userspace to handle the routing logic, while data packets remain in
>> the kernel for performance.  This would dramatically reduce the amount
>> of code that needs to be in the kernel and may even help performance
>> by simplifying the fast path.
>>
>> I don't know the details of your protocol well enough to know if this
>> is feasible but it seems like something you might want to look into.
>> Open vSwitch is currently in the process of finalizing its interfaces
>> to prepare for upstreaming.
>
> It sounds interesting. I haven't looked into it yet, but maybe you could
> easily answer some questions:
>  * Does it allow to generate multiple net_devices on the system?

Yes.

>  * Does it allow to attach multiple net_devices to a single openvswitch
>   device?

Yes.

>  * Does the attaching of a net_device to a openvswitch device prevent it to be
>   added to another openvswitch device?

It can be set up in different ways, depending on the desired behavior.

>  * Does it propagate the information about the incoming device to the
>   userspace in case of the not routed packets (everything which should

I think the last part of your question got cut off.  However, packets
do include metadata about the input device.  Userspace would then be
able to use the normal Linux mechanisms to find out whatever it needs
(or look at its own information).

>  * Does it allow to append extra header information to the packet?
>  * Does it allow fragmentation of packets (not real fragmentation, but more
>   single split)?

I'm assuming that both of these questions are for tunneling.  Open
vSwitch currently supports a few different L2 over L3 tunneling
mechanisms and has a tunnel library that makes adding additional
protocols easy.  It probably can't do exactly what you need right now,
but it should be fairly easy to extend.

>  * Does it allow to define outgoing patterns (on which attached interface
>   goes the thing out again) on packet number or incoming device (the real
>   hardware device it was coming in)?

I'm not sure what you mean by "packet number".  It does allow you to
specify the output interface based on a number of factors, include the
input device.

>  * Is it possible to define rules like: "If this is a broadcast of an udp/ip
>   packet with target port 123 which may or may not have a vlan tag, but is
>   coming directly from the virtual device and is not routed by us, then
>   change the mac address to following"?

Yes.

>  * Can it be backported to old kernels (~2.6.21 - yes, their are "customers"
>   who need even older kernels due to the fantastic vendors out their)?

The kernel module currently supports 2.6.18+.

  parent reply	other threads:[~2010-09-08 19:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-05  0:25 [PATCHv4] net: Add batman-adv meshing protocol Sven Eckelmann
2010-09-07 17:19 ` Paul E. McKenney
2010-09-07 17:56   ` Sven Eckelmann
     [not found]     ` <201009071956.54499.sven.eckelmann-Mmb7MZpHnFY@public.gmane.org>
2010-09-07 18:10       ` Paul E. McKenney
     [not found]         ` <20100907181000.GF2448-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2010-09-07 18:24           ` Sven Eckelmann
2010-09-08  7:14 ` Andi Kleen
2010-09-08  9:42   ` Sven Eckelmann
2010-09-08 18:22     ` Jesse Gross
     [not found]       ` <AANLkTimnBqkiO26wqEQOm+AgSJgQLtQmAe8R-kB6CqtZ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-08 18:58         ` Sven Eckelmann
     [not found]           ` <201009082058.15533.sven.eckelmann-Mmb7MZpHnFY@public.gmane.org>
2010-09-08 19:54             ` Jesse Gross [this message]
     [not found]               ` <AANLkTi=FVyLE6OHTd+_qDbzSLk6fY5j6wBOWkYA810Dj-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-08 20:25                 ` Sven Eckelmann
     [not found]                   ` <201009082225.47498.sven.eckelmann-Mmb7MZpHnFY@public.gmane.org>
2010-09-08 20:42                     ` Sven Eckelmann
2010-09-08 23:13                   ` Justin Pettit
2010-09-08 23:37                   ` Jesse Gross
     [not found]                     ` <AANLkTim-jswWzG=H0AQP5Z3byxoR1uXoV-ZhdaZ7+Sqd-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-14 19:21                       ` Simon Wunderlich
2010-09-08 19:12         ` Marek Lindner
     [not found]           ` <201009082112.14877.lindner_marek-LWAfsSFWpa4@public.gmane.org>
2010-09-08 20:07             ` Jesse Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTi=FVyLE6OHTd+_qDbzSLk6fY5j6wBOWkYA810Dj@mail.gmail.com' \
    --to=jesse-l0m0p4e3n4lqt0dzr+alfa@public.gmane.org \
    --cc=andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org \
    --cc=b.a.t.m.a.n-ZwoEplunGu2X36UT3dwllkB+6BGkLq7r@public.gmane.org \
    --cc=b.a.t.m.a.n-ZwoEplunGu2X36UT3dwlltHuzzzSOjJt@public.gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sven.eckelmann-Mmb7MZpHnFY@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).