From: Stephen Hemminger <shemminger@vyatta.com>
To: Jesse Gross <jesse@nicira.com>
Cc: davem@davemloft.net, netdev@vger.kernel.org
Subject: Re: [RFC] vxlan: use ether header as fallback hash
Date: Thu, 4 Oct 2012 09:43:33 -0700 [thread overview]
Message-ID: <20121004094333.748158e2@nehalam.linuxnetplumber.net> (raw)
In-Reply-To: <CAEP_g=8F_s3H4MCBf=xKWdASdtpZ7V_tOSGtZpv7ONULegP4ow@mail.gmail.com>
On Thu, 4 Oct 2012 09:27:14 -0700
Jesse Gross <jesse@nicira.com> wrote:
> On Wed, Oct 3, 2012 at 9:39 PM, Stephen Hemminger <shemminger@vyatta.com> wrote:
> > VXLAN bases source UDP port based on flow to help the
> > receiver to be able to load balance based on outer header
> > contents.
> >
> > This patches changes the algorithm to better handle packets
> > that can not be categorized by the rxhash() function.
> > It adds a fallback to use jhash on the Ether header.
> >
> > It also fixes a bug where the old code could assign 0 as a port
> > value.
> >
> >
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> >
> > ---
> > RFC for now, compile tested only
> >
> > --- a/drivers/net/vxlan.c 2012-10-03 21:25:43.747968165 -0700
> > +++ b/drivers/net/vxlan.c 2012-10-03 21:36:10.213805422 -0700
> > @@ -622,12 +622,30 @@ static inline u8 vxlan_ecn_encap(u8 tos,
> > return INET_ECN_encapsulate(tos, inner);
> > }
> >
> > +/* Compute hash to use for source port
> > + * first choice to use L4 flow hash since it will spread
> > + * better and maybe available from hardware
> > + * secondary choice is to use jhash on the Ethernet header
> > + * Always returns non-zero value
> > + */
> > +static u16 vxlan_flow_hash(struct sk_buff *skb)
> > +{
> > + u16 hash = skb_get_rxhash(skb);
> > +
> > + if (!hash)
> > + hash = jhash(skb->data, 3, skb->protocol);
>
> Shouldn't this be jhash2 for words?
No. for a couple of reasons. First, the ethernet header may not be aligned.
Second we want to get source/destination and type. The source/destination
is 12 bytes (3 words) and the ether type is already in skb->protocol.
next prev parent reply other threads:[~2012-10-04 16:44 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20121001223232.566037595@vyatta.com>
2012-10-01 22:32 ` [PATCH 1/3] netlink: add attributes to fdb interface Stephen Hemminger
2012-10-01 22:40 ` David Miller
2012-10-01 22:32 ` [PATCH 2/3] igmp: export symbol ip_mc_leave_group Stephen Hemminger
2012-10-01 22:40 ` David Miller
2012-10-01 22:32 ` [PATCH 3/3] vxlan: virtual extensible lan Stephen Hemminger
2012-10-01 22:40 ` David Miller
2012-10-04 1:54 ` Jesse Gross
2012-10-04 4:02 ` Stephen Hemminger
2012-10-04 6:34 ` Eric Dumazet
2012-10-04 15:12 ` Stephen Hemminger
2012-10-04 16:25 ` Jesse Gross
2012-10-04 4:39 ` [RFC] vxlan: use ether header as fallback hash Stephen Hemminger
2012-10-04 4:57 ` Eric Dumazet
2012-10-04 5:06 ` Stephen Hemminger
2012-10-04 16:27 ` Jesse Gross
2012-10-04 16:43 ` Stephen Hemminger [this message]
2012-10-04 17:06 ` Jesse Gross
2012-10-04 17:07 ` Eric Dumazet
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=20121004094333.748158e2@nehalam.linuxnetplumber.net \
--to=shemminger@vyatta.com \
--cc=davem@davemloft.net \
--cc=jesse@nicira.com \
--cc=netdev@vger.kernel.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 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.