All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Amir Vadai <amir@vadai.me>, Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Shmulik Ladkani <shmulik.ladkani@gmail.com>,
	Jiri Pirko <jiri@resnulli.us>,
	Cong Wang <xiyou.wangcong@gmail.com>,
	Jiri Pirko <jiri@mellanox.com>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Hadar Har-Zion <hadarh@mellanox.com>,
	Oded Shanoon <odeds@mellanox.com>,
	Amir Vadai <amirva@mellanox.com>
Subject: Re: [RFC net-next 0/2] net/sched: cls_flower, act_mirred: VXLAN redirect using TC
Date: Mon, 15 Aug 2016 09:35:50 -0700	[thread overview]
Message-ID: <57B1EF66.9060100@gmail.com> (raw)
In-Reply-To: <20160815113653.GD19058@office.localdomain>

On 16-08-15 04:36 AM, Amir Vadai wrote:
> On Mon, Aug 15, 2016 at 06:41:14AM -0400, Jamal Hadi Salim wrote:
>> On 16-08-15 06:24 AM, Shmulik Ladkani wrote:
>>> On Mon, 15 Aug 2016 06:08:10 -0400, jhs@mojatatu.com wrote:
>>
>>>> Assuming $VXLAN is actually not a linux netdev of type vxlan?
>>>> then the action does vxlan encap redirect sends it to the $VXLAN
>>>> dev with encapsulation in place.
>>>
>>> I assume Amir refers to vxlan netdev in VXLAN_F_COLLECT_METADATA mode,
>>> using the tun_info metadata found in skb_metadata_dst.
>>> The action is supposed to assign the tun metadata.
>>>
>>
>> I see - so you let the vxlan netdev do the encap?
>> Would it still scale to a _very large_ number of tunnels?
>> How many netdevs are you going to use? I am assuming you will hit
>> a nasty lock somewhere(qdisc?) if you use only one.
> Having a netdev per tunnel is problematic in its memory use [1].
> User can take each of the approaches. Can have a shared netdev, but will
> have some contention on the qdisc lock, or create a vxlan dev per VNI
> and increase memory use.
> When offloading will be added, shared netdev will enjoy all worlds - low
> memory use and no lock contention.
> 

vxlan devices are lockless if your worried about many netdevs using
shared netdev with metadata is a good approach.


static void vxlan_setup(struct net_device *dev)
{
        struct vxlan_dev *vxlan = netdev_priv(dev);
        unsigned int h;

        eth_hw_addr_random(dev);
        ether_setup(dev);

        dev->destructor = free_netdev;
        SET_NETDEV_DEVTYPE(dev, &vxlan_type);

        dev->features   |= NETIF_F_LLTX;		<--- ;) here
        dev->features   |= NETIF_F_SG | NETIF_F_HW_CSUM;
        dev->features   |= NETIF_F_RXCSUM;
        dev->features   |= NETIF_F_GSO_SOFTWARE;


> 
> [1] - http://www.netdevconf.org/1.1/proceedings/slides/ahern-aleksandrov-prabhu-scaling-network-cumulus.pdf
> 
>>
>> cheers,
>> jamal

  reply	other threads:[~2016-08-15 16:36 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-14 14:06 [RFC net-next 0/2] net/sched: cls_flower, act_mirred: VXLAN redirect using TC Amir Vadai
2016-08-14 14:06 ` [RFC net-next 1/2] net/sched: cls_flower: Introduce classify by vxlan outer headers Amir Vadai
2016-08-14 14:06 ` [RFC net-next 2/2] net/sched: act_mirred: Introduce vxlan support Amir Vadai
2016-08-14 17:53 ` [RFC net-next 0/2] net/sched: cls_flower, act_mirred: VXLAN redirect using TC Cong Wang
2016-08-15  5:05   ` John Fastabend
2016-08-15  7:11   ` Jiri Pirko
2016-08-15  8:17     ` Amir Vadai
2016-08-15  9:08       ` Amir Vadai
2016-08-15  9:48         ` Jiri Pirko
2016-08-15  9:50         ` Shmulik Ladkani
2016-08-15  9:58           ` Amir Vadai
2016-08-15 10:42             ` Shmulik Ladkani
2016-08-15 10:08         ` Jamal Hadi Salim
2016-08-15 10:24           ` Shmulik Ladkani
2016-08-15 10:41             ` Jamal Hadi Salim
2016-08-15 11:36               ` Amir Vadai
2016-08-15 16:35                 ` John Fastabend [this message]
2016-08-15 12:34           ` Jiri Pirko
2016-08-15 12:59             ` Amir Vadai
2016-08-15 16:37               ` John Fastabend

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=57B1EF66.9060100@gmail.com \
    --to=john.fastabend@gmail.com \
    --cc=amir@vadai.me \
    --cc=amirva@mellanox.com \
    --cc=hadarh@mellanox.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@mellanox.com \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=odeds@mellanox.com \
    --cc=ogerlitz@mellanox.com \
    --cc=shmulik.ladkani@gmail.com \
    --cc=xiyou.wangcong@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.