On 12/11/2025 17:04, David Marchand via dev wrote:
> In case no inner checksum is requested, we can consider the inner data
> as opaque since there is nothing to do and rely on simple HW UDP checksum
> without considering support for HW outer UDP checksum.
>
> Cleanup the DPDK helper accordingly.
>
> Signed-off-by: David Marchand <[email protected]>
> ---
> lib/dp-packet.c | 16 +++++++++++-----
> lib/netdev-dpdk.c | 5 +----
> 2 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/lib/dp-packet.c b/lib/dp-packet.c
> index b34bcf26f3..3093bd2163 100644
> --- a/lib/dp-packet.c
> +++ b/lib/dp-packet.c
> @@ -553,12 +553,18 @@ dp_packet_compare_offsets(struct dp_packet *b1, struct
> dp_packet *b2,
> void
> dp_packet_ol_send_prepare(struct dp_packet *p, uint64_t flags)
> {
> - if (!dp_packet_ip_checksum_partial(p)
> - && !dp_packet_l4_checksum_partial(p)
> - && !dp_packet_inner_ip_checksum_partial(p)
> + if (!dp_packet_inner_ip_checksum_partial(p)
> && !dp_packet_inner_l4_checksum_partial(p)) {
> - /* Only checksumming needs actions. */
> - return;
> +
> + if (!dp_packet_ip_checksum_partial(p)
> + && !dp_packet_l4_checksum_partial(p)) {
> + /* Only checksumming needs actions. */
nit: not added by this commit and the comment is true, but
"No checksumming needed." or similar would be better for the path this
comment is placed in.
> + return;
> + }
> +
> + if (OVS_UNLIKELY(dp_packet_tunnel(p))) {
> + p->offloads &= ~DP_PACKET_OL_TUNNEL_MASK;
> + }
> }
>
> if (!dp_packet_tunnel(p)) {
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index f6ae235af3..29b1b21d64 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
> @@ -2647,10 +2647,7 @@ netdev_dpdk_prep_hwol_packet(struct netdev_dpdk *dev,
> struct rte_mbuf *mbuf)
> return true;
> }
>
> - if (dp_packet_tunnel(pkt)
> - && (dp_packet_inner_ip_checksum_partial(pkt)
> - || dp_packet_inner_l4_checksum_partial(pkt)
> - || mbuf->tso_segsz)) {
I'm a bit confused about why mbuf->tso_segsz is not considered anymore
> + if (dp_packet_tunnel(pkt)) {
> if (dp_packet_ip_checksum_partial(pkt)
> || dp_packet_l4_checksum_partial(pkt)) {
> mbuf->outer_l2_len = (char *) dp_packet_l3(pkt) -
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev