Use 2-factor argument form kvcalloc() instead of kvzalloc().
Signed-off-by: Gustavo A. R. Silva <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 7fec4d39198beb4322ba5039a01649b43ee663f2)
Signed-off-by: Khalid Elmously <email address hidden>
The gve_set_coalesce/gve_get_coalesce signatures match the 5.15/5.16 kernel ABI but the additional parameters are not actually used in the 5.15 GVE code.
Remove the unused parameters to match the 5.4 signatures of the .get_coalesce/.set_coalesce ethtool_ops.
Adding ethtool support for changing rx-coalesce-usec and tx-coalesce-usec
when using the DQO queue format.
Signed-off-by: Tao Liu <email address hidden>
Signed-off-by: Jeroen de Borst <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 6081ac2013ab9f1a8743f90ef13d973888359cda)
Signed-off-by: Khalid Elmously <email address hidden>
Being able to see how many descriptors are in-use is helpful
when diagnosing certain issues.
Signed-off-by: Jeroen de Borst <email address hidden>
Signed-off-by: Jordan Kim <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 2c9198356d56a8e035702cfd1a0fde27edbcc338)
Signed-off-by: Khalid Elmously <email address hidden>
6f62fc7...
by
Catherine Sullivan <email address hidden>
Giving the device access to other kernel structs is not ideal.
Move the indexes into their own array and just keep pointers to
them in the ntfy block struct.
Signed-off-by: Catherine Sullivan <email address hidden>
Signed-off-by: David Awogbemila <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit d30baacc04948bbfded609cf7fb298e5ae754fcd)
Signed-off-by: Khalid Elmously <email address hidden>
4aa3747...
by
Willem de Bruijn <email address hidden>
gve: Add optional metadata descriptor type GVE_TXD_MTD
Allow drivers to pass metadata along with packet data to the device.
Introduce a new metadata descriptor type
* GVE_TXD_MTD
This descriptor is optional. If present it immediate follows the
packet descriptor and precedes the segment descriptor.
This descriptor may be repeated. Multiple metadata descriptors may
follow. There are no immediate uses for this, this is for future
proofing. At present devices allow only 1 MTD descriptor.
The lower four bits of the type_flags field encode GVE_TXD_MTD.
The upper four bits of the type_flags field encodes a *sub*type.
Introduce one such metadata descriptor subtype
* GVE_MTD_SUBTYPE_PATH
This shares path information with the device for network failure
discovery and robust response:
Linux derives ipv6 flowlabel and ECMP multipath from sk->sk_txhash,
and updates this field on error with sk_rethink_txhash. Allow the host
stack to do the same. Pass the tx_hash value if set. Also communicate
whether the path hash is set, or more exactly, what its type is. Define
two common types
GVE_MTD_PATH_HASH_NONE
GVE_MTD_PATH_HASH_L4
Concrete examples of error conditions that are resolved are
mentioned in the commits that add sk_rethink_txhash calls. Such as
commit 7788174e8726 ("tcp: change IPv6 flow-label upon receiving
spurious retransmission").
Experimental results mirror what the theory suggests: where IPv6
FlowLabel is included in path selection (e.g., LAG/ECMP), flowlabel
rotation on TCP timeout avoids the vast majority of TCP disconnects
that would otherwise have occurred during link failures in long-haul
backbones, when an alternative path is available.
Rotation can be applied to various bad connection signals, such as
timeouts and spurious retransmissions. In aggregate, such flow level
signals can help locate network issues. Define initial common states:
Signed-off-by: Willem de Bruijn <email address hidden>
Signed-off-by: David Awogbemila <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 497dbb2b97a0642ecd478d441643bf26804d5f96)
Signed-off-by: Khalid Elmously <email address hidden>
3412fd2...
by
Jeroen de Borst <email address hidden>
The legacy raw addressing device option was processed before the
new RDA queue format option. This caused the supported features mask,
which is provided only on the RDA queue format option, not to be set.
This disabled jumbo-frame support when using raw adressing.
Fixes: 255489f5b33c ("gve: Add a jumbo-frame device option")
Signed-off-by: Jeroen de Borst <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit a10834a36c8ab59b1a76df48d526fd9ddc090fca)
Signed-off-by: Khalid Elmously <email address hidden>