Page MenuHomeFreeBSD

dpaa2: dpaa2_ni_rx() RX checksum EN/ERR information for L3/4
AcceptedPublic

Authored by bz on Tue, Feb 17, 3:14 AM.
Tags
None
Referenced Files
F145456039: D55320.diff
Fri, Feb 20, 3:42 AM
Unknown Object (File)
Wed, Feb 18, 10:05 PM
Unknown Object (File)
Wed, Feb 18, 10:05 PM
Unknown Object (File)
Tue, Feb 17, 2:52 PM
Unknown Object (File)
Tue, Feb 17, 1:00 PM
Unknown Object (File)
Tue, Feb 17, 11:43 AM
Unknown Object (File)
Tue, Feb 17, 11:43 AM
Subscribers

Details

Reviewers
dsl
tuexen
Summary

In order to enable RX checksum offloading we need to check the
meta-information for the (good) frames to see if the L3/4 checksums
were calculated and if there was an error.

The way the buffere are setup, the needed frame meta-information is
already requested. All we have to do is make sure it is really part
of the RX frame, that it is valid, and if the respective bits are set.

Also do not forget to set the (dummy) csum_data as otherwise upper
layers will just be cranky. An artefact of the past which likely
should disappear.

MFC after: 3 days

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 70720
Build 67603: arc lint + arc unit

Event Timeline

bz requested review of this revision.Tue, Feb 17, 3:14 AM

I tested it on a ten64 machine, it works as expected.

This revision is now accepted and ready to land.Tue, Feb 17, 8:07 PM
sys/dev/dpaa2/dpaa2_ni.c
3239

Are always all fields part of the reply and just not valid if the bit is not set in the FRC? I thought the reason of ASAL was that the length be flexible. And then the idea of that struct breaks as soon as one adds any of the later fields but FAS not being valid. I need to go and read the datasheet again to see.