Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Apr 2017 14:23:01 +0300
From:      "Andrey V. Elsukov" <bu7cher@yandex.ru>
To:        Harry Schmalzbauer <freebsd@omnilan.de>, "freebsd-net@freebsd.org" <freebsd-net@FreeBSD.org>
Subject:   Re: if_igb(4) VLAN(4) and [RT]XCSUM_IPV6, TSO6
Message-ID:  <5c2fb7b8-5289-deff-618d-16495addf96c@yandex.ru>
In-Reply-To: <58CAD8CB.3060101@omnilan.de>
References:  <58CAD8CB.3060101@omnilan.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--Sah625pKv3Tr25lSijItIuQQOEM7r8hFw
Content-Type: multipart/mixed; boundary="Lfj8CcMb0B6Q4eBtaNHB65DOT5dGLi9bq";
 protected-headers="v1"
From: "Andrey V. Elsukov" <bu7cher@yandex.ru>
To: Harry Schmalzbauer <freebsd@omnilan.de>,
 "freebsd-net@freebsd.org" <freebsd-net@FreeBSD.org>
Message-ID: <5c2fb7b8-5289-deff-618d-16495addf96c@yandex.ru>
Subject: Re: if_igb(4) VLAN(4) and [RT]XCSUM_IPV6, TSO6
References: <58CAD8CB.3060101@omnilan.de>
In-Reply-To: <58CAD8CB.3060101@omnilan.de>

--Lfj8CcMb0B6Q4eBtaNHB65DOT5dGLi9bq
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 16.03.2017 21:26, Harry Schmalzbauer wrote:
> So TSO6 is inherited, but RC/TXCSUM_IPV6 dropped?
>=20
> In general, how is offloading implemented? If enabled, does the API
> simply generate packets lacking the checksum header and NIC (silicon)
> fills in the checksum if not adviesd not to do so (by the driver)?
> Or is the driver utilizing NIC registers for calculation, but ensures
> every packet will have a checksum?

Since IPv6 header doesn't have checksum, such offloading is related to
TCP/UDP/SCTP checksums.

When RXCSUM_IPV6 is enabled, the NIC calculates the checksum and saves
its value into the auxiliary packet's data. When the network stack
handles the packet, it checks the presence of this data, and it uses
stored checksum to reduce the needed calculation.

For outgoing packets the L4 protocol marks a packet that the checksum
calculation is needed before sending. And when TXCSUM_IPV6 is enabled,
IPv6 output routine sees this flag and skips checksum calculation. And
the NIC does this calculation.

--=20
WBR, Andrey V. Elsukov


--Lfj8CcMb0B6Q4eBtaNHB65DOT5dGLi9bq--

--Sah625pKv3Tr25lSijItIuQQOEM7r8hFw
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEzBAEBCAAdFiEE5lkeG0HaFRbwybwAAcXqBBDIoXoFAljmJRUACgkQAcXqBBDI
oXqy7Af/QPD2Sl+ugwEU1H6oIB9Ie/4aQP1Up9IfDkuoxUjU2PSoCBC32Nnr/iF9
U4Kz6/MJ7K2TPS4tN1mSAKz59g14C3l2qgsE/OtblsR1WYQaHG+9ZACCO5d96DKd
9GowtkhqGDhsc+qW670bwNSSZQm7y97QjrtkSAefDMcUNohTsrVh1zT/lJdivr1i
3r5v2cxfnV+6CVqCo4uyWpdsoCQ45DCn5uCQM/657HvTAxpO91zwv0ReqYgJ5Q1C
6buDW84kgEaRoK4Ggl1E1nSxWy+xaiN6HXwfZl2OaO1o1v1cT1LZFHRultz78FCa
/2eEZjDvvGL5oggy8tJv2WUjrMIoew==
=3mp7
-----END PGP SIGNATURE-----

--Sah625pKv3Tr25lSijItIuQQOEM7r8hFw--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5c2fb7b8-5289-deff-618d-16495addf96c>