Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Oct 2013 13:05:41 -0400
From:      Ryan Stone <rysto32@gmail.com>
To:        hiren panchasara <hiren.panchasara@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>
Subject:   Re: netmap: understanding pkg-gen.c
Message-ID:  <CAFMmRNyoCs1QApfr7kFxg%2Bv6X_xTwL5FnNzouMBGnprLtgp0qw@mail.gmail.com>
In-Reply-To: <CALCpEUH_wnjtcqVtE=AT9PbKvbCoMpBjO-sZ-6dOxyOMJemFjQ@mail.gmail.com>
References:  <CALCpEUHj_Mke_njM0NwzCUa1f_pXZdCy3_aaqJtKz5NUJUU8Mg@mail.gmail.com> <CA%2BhQ2%2BjYyoxpLEoz0kHm8Hikfgf8Fke-o_ctkO3fKBdGqEz7wQ@mail.gmail.com> <CALCpEUG1dM9Z6OG1BqRAPAfHciANXxaYVpezDEOUNug22QN6HQ@mail.gmail.com> <CALCpEUGi%2Boaq9JftSWX%2BR-UL%2BCVHaYwpmjvzksKANjhLcn-niA@mail.gmail.com> <CALCpEUFA6Z3ASgKFKPsWjt1HfUCFNM1iAhSte5ChNHLpi6oJLw@mail.gmail.com> <CALCpEUFJu_S2Q-EPOV1dm7q5aDYe%2BZj_MgkVoAwQP047KV8suw@mail.gmail.com> <CALCpEUGd837x5vNmsCXrUGV=0St7a0LeXXeOeNbLQOR8h8bgKw@mail.gmail.com> <CA%2BhQ2%2Bg0K-TfyZTjoY=oSp6rDuqT=AMiJBdyaxMxTOMUO03MzQ@mail.gmail.com> <CALCpEUH_wnjtcqVtE=AT9PbKvbCoMpBjO-sZ-6dOxyOMJemFjQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 3, 2013 at 2:51 AM, hiren panchasara
<hiren.panchasara@gmail.com> wrote:
> What/where is the exact logic/code of how card determines what traffic goes
> to what queue?
> Is it based on DST-MAC always?

RSS is based off of a hash of the 4-tuple (src/dst ip, src/dst port).
Note that this is very dependent on the hardware's ability to parse
the packet.  The hardware supported by ixgbe only understands vlan
encapsulation, so if you use any other type of L2 encapsulation (e.g.
MPLS, PPPoE, etc)  RSS will not be able to balance your traffic across
multiple queues.  Layer 3 encapsulations like GRE are not supported
either, but the hardware will be able to parse the packet up to the
outer IP header and will load balance based on the src/dst address of
the outer IP.

The ixgbe hardware of course will understand unencapsulated TCP/IP or
UDP/IP in ethernet.  All hardware supports IPv6 as well as IPv4.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNyoCs1QApfr7kFxg%2Bv6X_xTwL5FnNzouMBGnprLtgp0qw>