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