* Is there a preferred way to get the VXLAN port number?
@ 2013-03-26 22:02 Alexander Duyck
2013-03-27 17:26 ` Jesse Gross
2013-03-27 17:52 ` Stephen Hemminger
0 siblings, 2 replies; 7+ messages in thread
From: Alexander Duyck @ 2013-03-26 22:02 UTC (permalink / raw)
To: netdev; +Cc: Gasparakis, Joseph, Stephen Hemminger, pshelar, David Miller
I was wondering if someone would happen to know if there is already a
preferred way to get the VXLAN port number for things such as
configuring a device to recognize a VXLAN frame on receive for parsing
purposes?
I just wanted to check to make sure I hadn't missed something before
submitting a patch that would export a simple function for supplying the
vxlan_port value.
Thanks,
Alex
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is there a preferred way to get the VXLAN port number?
2013-03-26 22:02 Is there a preferred way to get the VXLAN port number? Alexander Duyck
@ 2013-03-27 17:26 ` Jesse Gross
2013-03-27 18:32 ` Alexander Duyck
2013-03-27 17:52 ` Stephen Hemminger
1 sibling, 1 reply; 7+ messages in thread
From: Jesse Gross @ 2013-03-27 17:26 UTC (permalink / raw)
To: Alexander Duyck
Cc: netdev, Gasparakis, Joseph, Stephen Hemminger, pshelar,
David Miller
On Tue, Mar 26, 2013 at 3:02 PM, Alexander Duyck
<alexander.h.duyck@intel.com> wrote:
> I was wondering if someone would happen to know if there is already a
> preferred way to get the VXLAN port number for things such as
> configuring a device to recognize a VXLAN frame on receive for parsing
> purposes?
>
> I just wanted to check to make sure I hadn't missed something before
> submitting a patch that would export a simple function for supplying the
> vxlan_port value.
There isn't a good way to do this at the moment. One thing that would
be nice though is if we can make this as generic as possible to
different tunneling formats that might need to be configured in this
way rather than specific to VXLAN.
Another area think about is how best to supply the information to
GRO/RPS to do the software version of these offloads.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is there a preferred way to get the VXLAN port number?
2013-03-26 22:02 Is there a preferred way to get the VXLAN port number? Alexander Duyck
2013-03-27 17:26 ` Jesse Gross
@ 2013-03-27 17:52 ` Stephen Hemminger
2013-03-27 18:35 ` David Stevens
1 sibling, 1 reply; 7+ messages in thread
From: Stephen Hemminger @ 2013-03-27 17:52 UTC (permalink / raw)
To: Alexander Duyck
Cc: netdev, Gasparakis, Joseph, Stephen Hemminger, pshelar,
David Miller
On Tue, 26 Mar 2013 15:02:45 -0700
Alexander Duyck <alexander.h.duyck@intel.com> wrote:
> I was wondering if someone would happen to know if there is already a
> preferred way to get the VXLAN port number for things such as
> configuring a device to recognize a VXLAN frame on receive for parsing
> purposes?
>
> I just wanted to check to make sure I hadn't missed something before
> submitting a patch that would export a simple function for supplying the
> vxlan_port value.
>
> Thanks,
>
> Alex
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
There are two views of the world. One view is that the UDP port number
should be a fixed assigned number by IANA, and since VXLAN looks exactly
like Cisco LISP, that is what most people use. Others like DOVE seem
to want to use lots of values.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is there a preferred way to get the VXLAN port number?
2013-03-27 17:26 ` Jesse Gross
@ 2013-03-27 18:32 ` Alexander Duyck
2013-03-27 19:01 ` David Stevens
0 siblings, 1 reply; 7+ messages in thread
From: Alexander Duyck @ 2013-03-27 18:32 UTC (permalink / raw)
To: Jesse Gross
Cc: netdev, Gasparakis, Joseph, Stephen Hemminger, pshelar,
David Miller
On 03/27/2013 10:26 AM, Jesse Gross wrote:
> On Tue, Mar 26, 2013 at 3:02 PM, Alexander Duyck
> <alexander.h.duyck@intel.com> wrote:
>> I was wondering if someone would happen to know if there is already a
>> preferred way to get the VXLAN port number for things such as
>> configuring a device to recognize a VXLAN frame on receive for parsing
>> purposes?
>>
>> I just wanted to check to make sure I hadn't missed something before
>> submitting a patch that would export a simple function for supplying the
>> vxlan_port value.
> There isn't a good way to do this at the moment. One thing that would
> be nice though is if we can make this as generic as possible to
> different tunneling formats that might need to be configured in this
> way rather than specific to VXLAN.
>
> Another area think about is how best to supply the information to
> GRO/RPS to do the software version of these offloads.
The problem is what I am looking for is very specific to VXLAN. I need
the port number so I can tell the hardware where to expect the VXLAN
frames to be bound to so that the hardware will recognize them and parse
them correctly.
In the case of GRO/RPS the situation is somewhat reversed. You have a
packet with a given port number and you need to offload it. In that
case you can probably do a socket search to determine which offload to
use and have those offloads associated with the socket via something
like the encap_rcv pointer that exists in the udp socket.
The main think I want to do is keep this simple since I would prefer to
not build up any infrastructure that will just get in the way. My
thought for now is to just export a function to allow drivers to fetch
the port number of VXLAN. The only downside is that it forces the VXLAN
module to load if a driver comes up with offload support, similar to how
we have been loading the 8021q module for many of the drivers that
support VLAN offloads. Hopefully if the fixed port number approach wins
out we can simplify things by replacing the function call with a static
define.
Thanks,
Alex
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is there a preferred way to get the VXLAN port number?
2013-03-27 17:52 ` Stephen Hemminger
@ 2013-03-27 18:35 ` David Stevens
0 siblings, 0 replies; 7+ messages in thread
From: David Stevens @ 2013-03-27 18:35 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Alexander Duyck, David Miller, Gasparakis, Joseph, netdev,
netdev-owner, pshelar, Stephen Hemminger
netdev-owner@vger.kernel.org wrote on 03/27/2013 01:52:54 PM:
> On Tue, 26 Mar 2013 15:02:45 -0700
> Alexander Duyck <alexander.h.duyck@intel.com> wrote:
>
> > I was wondering if someone would happen to know if there is already a
> > preferred way to get the VXLAN port number for things such as
> > configuring a device to recognize a VXLAN frame on receive for parsing
> > purposes?
> >
> > I just wanted to check to make sure I hadn't missed something before
> > submitting a patch that would export a simple function for supplying
the
> > vxlan_port value.
To answer your question, though, the current vxlan can only listen
on one port per host, supplied with by a module parameter. You can find
what port it's listening on by:
cat /sys/modules/vxlan/parameters/udp_port
[which you can also read with a program, of course].
If multi-port server support is added, that should probably include the
port as part of the current "ip -d link show dev XXX" output, where other
per-device parameters are found.
+-DLS
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is there a preferred way to get the VXLAN port number?
2013-03-27 18:32 ` Alexander Duyck
@ 2013-03-27 19:01 ` David Stevens
2013-03-27 21:30 ` Jesse Gross
0 siblings, 1 reply; 7+ messages in thread
From: David Stevens @ 2013-03-27 19:01 UTC (permalink / raw)
To: Alexander Duyck
Cc: David Miller, Jesse Gross, Gasparakis, Joseph, netdev,
netdev-owner, pshelar, Stephen Hemminger
netdev-owner@vger.kernel.org wrote on 03/27/2013 02:32:59 PM:
> The main think I want to do is keep this simple since I would prefer to
> not build up any infrastructure that will just get in the way. My
> thought for now is to just export a function to allow drivers to fetch
> the port number of VXLAN. The only downside is that it forces the VXLAN
> module to load if a driver comes up with offload support, similar to how
> we have been loading the 8021q module for many of the drivers that
> support VLAN offloads. Hopefully if the fixed port number approach wins
> out we can simplify things by replacing the function call with a static
> define.
I guess you mean you need to find it within the kernel.
I think whether or not it remains a single port for the machine,
it would be just silly to make it a fixed port, period. Virtually any
service allows an administrator to specify an alternate port to run a
service on.
I think one of the primary reasons is that you may want to run
more than one instance on the same host (e.g., a sandbox installation
alongside a production installation) -- a capability not there now,
even though you can specify an alternate port now.
But if for whatever reason an adminstrator cares that it uses
a particular port number, even in a single instance, there is no
technical reason to disallow it. It'd be bad to assume all VXLAN
must be on the particular port, and equally bad to assume all traffic
for that port is VXLAN (esp. on a host that is not using VXLAN at all,
but very well may want to use a lot of ports, including 8472).
I think it ought to be fully general -- different devices may
use different ports and one device may use multiple listeners on different
ports (to split flows for security, load balancing, or whatever).
I'd make it a per-device function interface that gives you a port
list
for that device (e.g., an array and length or count). Right now, all
devices
would return the single module parameter value, but in the future those
ought
to be capable of being entirely distinct lists of ports.
+-DLS
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Is there a preferred way to get the VXLAN port number?
2013-03-27 19:01 ` David Stevens
@ 2013-03-27 21:30 ` Jesse Gross
0 siblings, 0 replies; 7+ messages in thread
From: Jesse Gross @ 2013-03-27 21:30 UTC (permalink / raw)
To: David Stevens
Cc: Alexander Duyck, David Miller, Gasparakis, Joseph, netdev,
netdev-owner, pshelar, Stephen Hemminger
On Wed, Mar 27, 2013 at 12:01 PM, David Stevens <dlstevens@us.ibm.com> wrote:
> netdev-owner@vger.kernel.org wrote on 03/27/2013 02:32:59 PM:
>
>> The main think I want to do is keep this simple since I would prefer to
>> not build up any infrastructure that will just get in the way. My
>> thought for now is to just export a function to allow drivers to fetch
>> the port number of VXLAN. The only downside is that it forces the VXLAN
>> module to load if a driver comes up with offload support, similar to how
>> we have been loading the 8021q module for many of the drivers that
>> support VLAN offloads. Hopefully if the fixed port number approach wins
>> out we can simplify things by replacing the function call with a static
>> define.
>
> I guess you mean you need to find it within the kernel.
>
> I think whether or not it remains a single port for the machine,
> it would be just silly to make it a fixed port, period. Virtually any
> service allows an administrator to specify an alternate port to run a
> service on.
> I think one of the primary reasons is that you may want to run
> more than one instance on the same host (e.g., a sandbox installation
> alongside a production installation) -- a capability not there now,
> even though you can specify an alternate port now.
> But if for whatever reason an adminstrator cares that it uses
> a particular port number, even in a single instance, there is no
> technical reason to disallow it. It'd be bad to assume all VXLAN
> must be on the particular port, and equally bad to assume all traffic
> for that port is VXLAN (esp. on a host that is not using VXLAN at all,
> but very well may want to use a lot of ports, including 8472).
>
> I think it ought to be fully general -- different devices may
> use different ports and one device may use multiple listeners on different
> ports (to split flows for security, load balancing, or whatever).
> I'd make it a per-device function interface that gives you a port
> list
> for that device (e.g., an array and length or count). Right now, all
> devices
> would return the single module parameter value, but in the future those
> ought
> to be capable of being entirely distinct lists of ports.
Agreed, the likelihood of a single port winning in the foreseeable
future seems low and not really consistent with the usage of other L4
ports. Even settling on a single tunneling protocol is unlikely to
happen, so I don't think this problem is specific to VXLAN. From a
layering perspective, it also seems better to have the protocol
implementation tell the driver what to use rather than inferring it
the other way around.
As far as GRO/RPS, we really want to do this as early in the
processing path as possible and not wait until the socket lookup since
the more work we do first, the less the benefit. I think the position
in the stack for both the hardware and software versions are very
analogous.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-03-27 21:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-26 22:02 Is there a preferred way to get the VXLAN port number? Alexander Duyck
2013-03-27 17:26 ` Jesse Gross
2013-03-27 18:32 ` Alexander Duyck
2013-03-27 19:01 ` David Stevens
2013-03-27 21:30 ` Jesse Gross
2013-03-27 17:52 ` Stephen Hemminger
2013-03-27 18:35 ` David Stevens
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).