Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2014 20:30:21 +0100
From:      Michael Tuexen <tuexen@freebsd.org>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        Lawrence Stewart <lstewart@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>, np@freebsd.org
Subject:   Re: [RFC] Removal of M_FLOWID flag from m_flags [WAS: Add support for hardware transmit rate limiting queues]
Message-ID:  <BC71CEFF-FD2D-4DB8-8D73-D4C05767B43A@freebsd.org>
In-Reply-To: <546CE948.2070105@selasky.org>
References:  <546CE948.2070105@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 19 Nov 2014, at 20:02, Hans Petter Selasky <hps@selasky.org> wrote:

> Hi,
>=20
> The M_FLOWID flag is marked as deprecated in the FreeBSD kernel code =
and the patch below completely removes it. I suggest we will now be =
using the "m_pkthdr.rsstype" also known as "M_HASHTYPE" to decide if the =
flowid value is valid or not. When the "rsstype" is set to =
"M_HASHTYPE_NONE" the "m_pkthdr.flowid" field is not valid. Else this =
field contains valid data for both TX and RX direction.
>=20
> Background:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>=20
> The network drivers today use the "rsstype" field only when receiving =
traffic. After my patch it is also used when sending traffic, and =
probably we should rename it.
>=20
> The reason for using the rsstype field for transmit, is to avoid =
introducing another field in the MBUF's packet header in order to steer =
outgoing traffic into special multiple purpose hardware FIFOs. This new =
feature should coexist with the existing flowid mechanism, and this is =
achieved by introducing a new hash type which I've named =
"M_HASHTYPE_HWRING" in my patch. This type can be selected by upper =
layers when generating traffic for lower layers, to indicate that the =
traffic is of a special kind and should have special treatment by the =
hardware, like rate-limiting. Hardware which doesn't support =
M_HASHTYPE_HWRING will send out the packets like usual.
>=20
>=20
> Patch is available from here:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> http://home.selasky.org:8192/m_flowid_removal.diff
>=20
>=20
> Comments are appreciated!
Before finally committing this, drop me a note. All the SCTP changes =
need to be ported upstream.
Depending on the time and if it is OK for you, I would try to integrate =
this upstream and push
it down to FreeBSD. Then you can commit the rest. This is simpler for me =
than reintegrating your
changes upstream...

Best regards
Michael
>=20
>=20
> --HPS
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to =
"freebsd-current-unsubscribe@freebsd.org"
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BC71CEFF-FD2D-4DB8-8D73-D4C05767B43A>