Skip to content

Commit 3a31224

Browse files
david-marchandkevintraynor
authored andcommitted
netdev-offload-dpdk: Fix build with v24.11-rc1.
Following introduction of a IPv6 address structure and its use in the rte_ipv6_hdr struct referenced by rte_flow IPv6 object, adjust code manipulating IPv6 rules in the offload code. Link: https://git.dpdk.org/dpdk/commit/?id=89b5642d0d45 Signed-off-by: David Marchand <[email protected]> Reviewed-by: Robin Jarry <[email protected]> Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Kevin Traynor <[email protected]>
1 parent 988fb1f commit 3a31224

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

lib/netdev-offload-dpdk.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -547,15 +547,15 @@ dump_flow_pattern(struct ds *s,
547547
if (!ipv6_mask) {
548548
ipv6_mask = &rte_flow_item_ipv6_mask;
549549
}
550-
memcpy(&addr, ipv6_spec->hdr.src_addr, sizeof addr);
551-
memcpy(&mask, ipv6_mask->hdr.src_addr, sizeof mask);
550+
memcpy(&addr, &ipv6_spec->hdr.src_addr, sizeof addr);
551+
memcpy(&mask, &ipv6_mask->hdr.src_addr, sizeof mask);
552552
ipv6_string_mapped(addr_str, &addr);
553553
ipv6_string_mapped(mask_str, &mask);
554554
DUMP_PATTERN_ITEM(mask, false, "src", "%s",
555555
addr_str, mask_str, "");
556556

557-
memcpy(&addr, ipv6_spec->hdr.dst_addr, sizeof addr);
558-
memcpy(&mask, ipv6_mask->hdr.dst_addr, sizeof mask);
557+
memcpy(&addr, &ipv6_spec->hdr.dst_addr, sizeof addr);
558+
memcpy(&mask, &ipv6_mask->hdr.dst_addr, sizeof mask);
559559
ipv6_string_mapped(addr_str, &addr);
560560
ipv6_string_mapped(mask_str, &mask);
561561
DUMP_PATTERN_ITEM(mask, false, "dst", "%s",
@@ -712,10 +712,10 @@ dump_vxlan_encap(struct ds *s, const struct rte_flow_item *items)
712712
struct in6_addr addr;
713713

714714
ds_put_cstr(s, "ip-src ");
715-
memcpy(&addr, ipv6->hdr.src_addr, sizeof addr);
715+
memcpy(&addr, &ipv6->hdr.src_addr, sizeof addr);
716716
ipv6_format_mapped(&addr, s);
717717
ds_put_cstr(s, " ip-dst ");
718-
memcpy(&addr, ipv6->hdr.dst_addr, sizeof addr);
718+
memcpy(&addr, &ipv6->hdr.dst_addr, sizeof addr);
719719
ipv6_format_mapped(&addr, s);
720720
ds_put_cstr(s, " ");
721721
}
@@ -851,7 +851,7 @@ dump_flow_action(struct ds *s, struct ds *s_extra,
851851
struct in6_addr addr;
852852

853853
ds_put_cstr(s, "ipv6_addr ");
854-
memcpy(&addr, set_ipv6->ipv6_addr, sizeof addr);
854+
memcpy(&addr, &set_ipv6->ipv6_addr, sizeof addr);
855855
ipv6_format_addr(&addr, s);
856856
ds_put_cstr(s, " ");
857857
}
@@ -1227,18 +1227,18 @@ parse_tnl_ip_match(struct flow_patterns *patterns,
12271227
spec->hdr.hop_limits = match->flow.tunnel.ip_ttl;
12281228
spec->hdr.vtc_flow = htonl((uint32_t) match->flow.tunnel.ip_tos <<
12291229
RTE_IPV6_HDR_TC_SHIFT);
1230-
memcpy(spec->hdr.src_addr, &match->flow.tunnel.ipv6_src,
1230+
memcpy(&spec->hdr.src_addr, &match->flow.tunnel.ipv6_src,
12311231
sizeof spec->hdr.src_addr);
1232-
memcpy(spec->hdr.dst_addr, &match->flow.tunnel.ipv6_dst,
1232+
memcpy(&spec->hdr.dst_addr, &match->flow.tunnel.ipv6_dst,
12331233
sizeof spec->hdr.dst_addr);
12341234

12351235
mask->hdr.proto = UINT8_MAX;
12361236
mask->hdr.hop_limits = match->wc.masks.tunnel.ip_ttl;
12371237
mask->hdr.vtc_flow = htonl((uint32_t) match->wc.masks.tunnel.ip_tos <<
12381238
RTE_IPV6_HDR_TC_SHIFT);
1239-
memcpy(mask->hdr.src_addr, &match->wc.masks.tunnel.ipv6_src,
1239+
memcpy(&mask->hdr.src_addr, &match->wc.masks.tunnel.ipv6_src,
12401240
sizeof mask->hdr.src_addr);
1241-
memcpy(mask->hdr.dst_addr, &match->wc.masks.tunnel.ipv6_dst,
1241+
memcpy(&mask->hdr.dst_addr, &match->wc.masks.tunnel.ipv6_dst,
12421242
sizeof mask->hdr.dst_addr);
12431243

12441244
consumed_masks->tunnel.ip_tos = 0;
@@ -1549,9 +1549,9 @@ parse_flow_match(struct netdev *netdev,
15491549
spec->hdr.hop_limits = match->flow.nw_ttl;
15501550
spec->hdr.vtc_flow =
15511551
htonl((uint32_t) match->flow.nw_tos << RTE_IPV6_HDR_TC_SHIFT);
1552-
memcpy(spec->hdr.src_addr, &match->flow.ipv6_src,
1552+
memcpy(&spec->hdr.src_addr, &match->flow.ipv6_src,
15531553
sizeof spec->hdr.src_addr);
1554-
memcpy(spec->hdr.dst_addr, &match->flow.ipv6_dst,
1554+
memcpy(&spec->hdr.dst_addr, &match->flow.ipv6_dst,
15551555
sizeof spec->hdr.dst_addr);
15561556
if ((match->wc.masks.nw_frag & FLOW_NW_FRAG_ANY)
15571557
&& (match->flow.nw_frag & FLOW_NW_FRAG_ANY)) {
@@ -1562,9 +1562,9 @@ parse_flow_match(struct netdev *netdev,
15621562
mask->hdr.hop_limits = match->wc.masks.nw_ttl;
15631563
mask->hdr.vtc_flow =
15641564
htonl((uint32_t) match->wc.masks.nw_tos << RTE_IPV6_HDR_TC_SHIFT);
1565-
memcpy(mask->hdr.src_addr, &match->wc.masks.ipv6_src,
1565+
memcpy(&mask->hdr.src_addr, &match->wc.masks.ipv6_src,
15661566
sizeof mask->hdr.src_addr);
1567-
memcpy(mask->hdr.dst_addr, &match->wc.masks.ipv6_dst,
1567+
memcpy(&mask->hdr.dst_addr, &match->wc.masks.ipv6_dst,
15681568
sizeof mask->hdr.dst_addr);
15691569

15701570
consumed_masks->nw_ttl = 0;

0 commit comments

Comments
 (0)