IPv6 flowid hash calculation

Venkat Duvvuru venkatduvvuru.ml at gmail.com
Tue Jul 17 10:55:28 UTC 2012


Hi Lev,
Thanks for your response.
I browsed through Freebsd's network stack code and here is my observation.
If driver sets the queue index in receive path and sets FLOWID flag in mbuf
then this information will be stored in tcp control block and the same
queue index will be used while transmitting and further in the stack, the
same information will be used irrespective of enabling and disabling
FLOWTABLE. But I observed that irrespective of on which queue,
the ipv6 packet is received, transmit is happening always on queue 0.

/Venkat

On Thu, May 17, 2012 at 1:51 PM, Lev Serebryakov <lev at freebsd.org> wrote:

> Hello, Venkat.
> You wrote 16 мая 2012 г., 10:09:29:
>
> VD> This question is related to the hash calculation done as part of
> selecting
> VD> the transmit queue for IPv6 traffic.
> VD> I observed that no matter how many queues you use in the driver, the tx
> VD> traffic is always coming on queue 0.
> VD> Did anybody else observed this behaviour?
> VD> Note: IPv4 traffic is coming on all the tx queues.
>  flowid   is   specified  by  MS  &  Intel only for IPv4 traffic (hash
> function,  which  is  used to determine queue is defined only for IPv4
> packet header). All other traffic (PPPoE,  IPv6, etc.) goes into queue
> 0. There is nothing could be done on driver level, it is firmware (and
> "standard") problem.
>
>   I  was  told,  that top-level ("server-grade") 1G and 10G Intel NICs
> have  configurable  user-defined  filters  (think: firewall and QoS in
> hardware), and, may be, it could be done on this level, but I don't
> know any open-source drivers, which support this feature.
>
> --
> // Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>
>
>


More information about the freebsd-net mailing list