RE: [PATCH net-next 0/6] net: stmmac: Improvements for -next

From: Jose Abreu
Date: Wed Sep 11 2019 - 04:59:52 EST

From: David Miller <davem@xxxxxxxxxxxxx>
Date: Sep/11/2019, 09:21:55 (UTC+00:00)

> From: Jose Abreu <Jose.Abreu@xxxxxxxxxxxx>
> Date: Tue, 10 Sep 2019 16:41:21 +0200
> > Misc patches for -next. It includes:
> > - Two fixes for features in -next only
> > - New features support for GMAC cores (which includes GMAC4 and GMAC5)
> Series applied, but what exactly does "ARP offload" even do?

ARP Offload allows the IP to reply to ARP_REQUEST packets automatically
without passing by the application.

As net doesn't support this offloading I'm currently using this feature
to test endianness issues in the IP and check if MAC Address is
correctly configured, the logic is as follows:
- MAC is set in loopback mode and ARP offload is activated
- selftests create a dummy ARP_REQUEST packet and send it out
- IP will detect the ARP_REQUEST packet and generate an ARP_REPLY
- As MAC is in loopback mode then selftests will receive the ARP_REPLY
- selftests logic will check if ARP_REPLY packet is correct (i.e. MAC
address and packet type)

This way if this test fails it probably indicates that MAC address of IP
is not correctly configured or that endianness of the IP was changed
from default setting (which is LE).

By default the feature is off because user may not want to reply to
ARP_REQUEST and I'm more using it as a diagnose facility. Let me know if
you agree with this approach.

Jose Miguel Abreu