netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joseph Gasparakis <joseph.gasparakis@intel.com>
To: Or Gerlitz <or.gerlitz@gmail.com>
Cc: Shahed Shaikh <shahed.shaikh@qlogic.com>,
	Joseph Gasparakis <joseph.gasparakis@intel.com>,
	John Fastabend <john.r.fastabend@intel.com>,
	David Miller <davem@davemloft.net>,
	netdev <netdev@vger.kernel.org>,
	Dept-HSG Linux NIC Dev <Dept-HSGLinuxNICDev@qlogic.com>
Subject: Re: [PATCH net-next 1/5] vxlan: Make VXLAN default UDP port number available for others
Date: Tue, 11 Mar 2014 10:28:45 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.2.03.1403111013570.16490@intel.com> (raw)
In-Reply-To: <CAJZOPZKBdZPuEe5uKLb3sw92q3Qko4RS-90uVAQK=+pFXVAfSA@mail.gmail.com>



On Mon, 10 Mar 2014, Or Gerlitz wrote:

> On Tue, Mar 11, 2014 at 7:41 AM, Shahed Shaikh <shahed.shaikh@qlogic.com> wrote:
> >> -----Original Message-----
> >> From: Or Gerlitz [mailto:or.gerlitz@gmail.com]
> >> Sent: Tuesday, March 11, 2014 1:28 AM
> >> To: Shahed Shaikh
> >> Cc: David Miller; netdev; Dept-HSG Linux NIC Dev
> >> Subject: Re: [PATCH net-next 1/5] vxlan: Make VXLAN default UDP port
> >> number available for others
> >>
> >> On Mon, Mar 10, 2014 at 6:48 PM, Shahed Shaikh
> >> <shahed.shaikh@qlogic.com> wrote:
> >> > From: Shahed Shaikh <shahed.shaikh@qlogic.com>
> >> >
> >> > Although vxlan module has capability to notify udp ports to other
> >> > interested net devices using .ndo_add_rx_vxlan_port and
> >> > .ndo_del_rx_vxlan_port, there could be some devices which support
> >> > vxlan offload but not interested in updating udp port numbers.
> >> > This may be because some hardware do not support programming multiple
> >> > udp ports and their drivers may decide to program only default udp
> >> > port into adapter. So that adapter, at least, can do offloading for
> >> > default udp port number.
> >>
> >> Indeed, but the default port number can be unused while another port is
> >> used. The ndo will be invoked only behalf of an actual instancing of udp port
> >> for listener socket (== destination port you want the hw to indentify), what's
> >> wrong with support this ndo also for devices that supported limited (say
> >> one) such port?
> >
> >
> >  If driver implements .ndo for udp port and user creates multiple vxlan device with different
> > udp ports, it may end up programming the udp port which may not go through the adapter
> > and no offload will happen. OTOH, if drive does not implement .ndo and if user is aware that driver
> >  is capable of offloading for default port, he can at least crate vxlan device on top of qlcnic interface
> >  with default udp port. So, there is no chance for other udp port numbers to replace default udp port and disturb offloading.
> 
> I see your point, but doesn't this suggests we need to somehow enhance
>  the current framework to
> let drivers know which vxlan traffic is expected to be received over
> them according to the current routing rules?
> I understand this is a bit tricky because  vxlan and routing  are l3
> constructs while drivers deal with l2, John/Joseph -
> what's your thinking here?
>

For the sake of simplicity: if you have say two VXLANs listening on two 
different UDP ports, and a single port NIC that can only offload traffic 
from one UDP port, how would you know which VXLAN is more useful to 
offload? There might be traffic from the one port (and in this case it 
might be the default one or not) or you might have traffic from both.
The fact is that you have a hw limitation, and you need something 
to help you predict what which VXLAN you are going to have traffic from 
which is not trivial at all.
Therefore even having a way to use the routing tables wouldn't help I 
think.

In other words, IMHO the best option for running a NIC that can offload X 
UDP ports, is to use up to X UDP ports. Anything else, requres guessing that 
might not be accurate and hence can make things worse instead of better.

 
> 
> > Like Stephen suggested, exporting udp port variable of vxlan driver will be more suitable approach.
> 

  parent reply	other threads:[~2014-03-11 17:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-10 16:48 [PATCH net-next 0/5] VXLAN offload support Shahed Shaikh
2014-03-10 16:48 ` [PATCH net-next 1/5] vxlan: Make VXLAN default UDP port number available for others Shahed Shaikh
2014-03-10 19:43   ` Stephen Hemminger
2014-03-11  5:37     ` Shahed Shaikh
2014-03-10 19:57   ` Or Gerlitz
2014-03-11  5:41     ` Shahed Shaikh
2014-03-11  6:42       ` Or Gerlitz
2014-03-11  7:22         ` Shahed Shaikh
2014-03-11 15:28           ` Stephen Hemminger
2014-03-12  9:44             ` Shahed Shaikh
2014-03-11 17:28         ` Joseph Gasparakis [this message]
2014-03-12 10:20           ` Shahed Shaikh
2014-03-10 16:48 ` [PATCH net-next 2/5] qlcnic: Get NIC capabilities using mailbox poll mode Shahed Shaikh
2014-03-10 16:49 ` [PATCH net-next 3/5] qlcnic: Add VXLAN Tx offload support Shahed Shaikh
2014-03-10 16:49 ` [PATCH net-next 4/5] qlcnic: Add VXLAN Rx offload support for 84xx Shahed Shaikh
2014-03-10 16:49 ` [PATCH net-next 5/5] qlcnic: Update version to 5.3.57 Shahed Shaikh

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=alpine.LFD.2.03.1403111013570.16490@intel.com \
    --to=joseph.gasparakis@intel.com \
    --cc=Dept-HSGLinuxNICDev@qlogic.com \
    --cc=davem@davemloft.net \
    --cc=john.r.fastabend@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=or.gerlitz@gmail.com \
    --cc=shahed.shaikh@qlogic.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 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).