Skip to content

Commit 541acde

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 645df77 commit 541acde

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

lib/netdev-offload-dpdk.c

+15-15
Original file line numberDiff line numberDiff line change
@@ -530,15 +530,15 @@ dump_flow_pattern(struct ds *s,
530530
if (!ipv6_mask) {
531531
ipv6_mask = &rte_flow_item_ipv6_mask;
532532
}
533-
memcpy(&addr, ipv6_spec->hdr.src_addr, sizeof addr);
534-
memcpy(&mask, ipv6_mask->hdr.src_addr, sizeof mask);
533+
memcpy(&addr, &ipv6_spec->hdr.src_addr, sizeof addr);
534+
memcpy(&mask, &ipv6_mask->hdr.src_addr, sizeof mask);
535535
ipv6_string_mapped(addr_str, &addr);
536536
ipv6_string_mapped(mask_str, &mask);
537537
DUMP_PATTERN_ITEM(mask, false, "src", "%s",
538538
addr_str, mask_str, "");
539539

540-
memcpy(&addr, ipv6_spec->hdr.dst_addr, sizeof addr);
541-
memcpy(&mask, ipv6_mask->hdr.dst_addr, sizeof mask);
540+
memcpy(&addr, &ipv6_spec->hdr.dst_addr, sizeof addr);
541+
memcpy(&mask, &ipv6_mask->hdr.dst_addr, sizeof mask);
542542
ipv6_string_mapped(addr_str, &addr);
543543
ipv6_string_mapped(mask_str, &mask);
544544
DUMP_PATTERN_ITEM(mask, false, "dst", "%s",
@@ -695,10 +695,10 @@ dump_vxlan_encap(struct ds *s, const struct rte_flow_item *items)
695695
struct in6_addr addr;
696696

697697
ds_put_cstr(s, "ip-src ");
698-
memcpy(&addr, ipv6->hdr.src_addr, sizeof addr);
698+
memcpy(&addr, &ipv6->hdr.src_addr, sizeof addr);
699699
ipv6_format_mapped(&addr, s);
700700
ds_put_cstr(s, " ip-dst ");
701-
memcpy(&addr, ipv6->hdr.dst_addr, sizeof addr);
701+
memcpy(&addr, &ipv6->hdr.dst_addr, sizeof addr);
702702
ipv6_format_mapped(&addr, s);
703703
ds_put_cstr(s, " ");
704704
}
@@ -834,7 +834,7 @@ dump_flow_action(struct ds *s, struct ds *s_extra,
834834
struct in6_addr addr;
835835

836836
ds_put_cstr(s, "ipv6_addr ");
837-
memcpy(&addr, set_ipv6->ipv6_addr, sizeof addr);
837+
memcpy(&addr, &set_ipv6->ipv6_addr, sizeof addr);
838838
ipv6_format_addr(&addr, s);
839839
ds_put_cstr(s, " ");
840840
}
@@ -1210,18 +1210,18 @@ parse_tnl_ip_match(struct flow_patterns *patterns,
12101210
spec->hdr.hop_limits = match->flow.tunnel.ip_ttl;
12111211
spec->hdr.vtc_flow = htonl((uint32_t) match->flow.tunnel.ip_tos <<
12121212
RTE_IPV6_HDR_TC_SHIFT);
1213-
memcpy(spec->hdr.src_addr, &match->flow.tunnel.ipv6_src,
1213+
memcpy(&spec->hdr.src_addr, &match->flow.tunnel.ipv6_src,
12141214
sizeof spec->hdr.src_addr);
1215-
memcpy(spec->hdr.dst_addr, &match->flow.tunnel.ipv6_dst,
1215+
memcpy(&spec->hdr.dst_addr, &match->flow.tunnel.ipv6_dst,
12161216
sizeof spec->hdr.dst_addr);
12171217

12181218
mask->hdr.proto = UINT8_MAX;
12191219
mask->hdr.hop_limits = match->wc.masks.tunnel.ip_ttl;
12201220
mask->hdr.vtc_flow = htonl((uint32_t) match->wc.masks.tunnel.ip_tos <<
12211221
RTE_IPV6_HDR_TC_SHIFT);
1222-
memcpy(mask->hdr.src_addr, &match->wc.masks.tunnel.ipv6_src,
1222+
memcpy(&mask->hdr.src_addr, &match->wc.masks.tunnel.ipv6_src,
12231223
sizeof mask->hdr.src_addr);
1224-
memcpy(mask->hdr.dst_addr, &match->wc.masks.tunnel.ipv6_dst,
1224+
memcpy(&mask->hdr.dst_addr, &match->wc.masks.tunnel.ipv6_dst,
12251225
sizeof mask->hdr.dst_addr);
12261226

12271227
consumed_masks->tunnel.ip_tos = 0;
@@ -1532,9 +1532,9 @@ parse_flow_match(struct netdev *netdev,
15321532
spec->hdr.hop_limits = match->flow.nw_ttl;
15331533
spec->hdr.vtc_flow =
15341534
htonl((uint32_t) match->flow.nw_tos << RTE_IPV6_HDR_TC_SHIFT);
1535-
memcpy(spec->hdr.src_addr, &match->flow.ipv6_src,
1535+
memcpy(&spec->hdr.src_addr, &match->flow.ipv6_src,
15361536
sizeof spec->hdr.src_addr);
1537-
memcpy(spec->hdr.dst_addr, &match->flow.ipv6_dst,
1537+
memcpy(&spec->hdr.dst_addr, &match->flow.ipv6_dst,
15381538
sizeof spec->hdr.dst_addr);
15391539
if ((match->wc.masks.nw_frag & FLOW_NW_FRAG_ANY)
15401540
&& (match->flow.nw_frag & FLOW_NW_FRAG_ANY)) {
@@ -1545,9 +1545,9 @@ parse_flow_match(struct netdev *netdev,
15451545
mask->hdr.hop_limits = match->wc.masks.nw_ttl;
15461546
mask->hdr.vtc_flow =
15471547
htonl((uint32_t) match->wc.masks.nw_tos << RTE_IPV6_HDR_TC_SHIFT);
1548-
memcpy(mask->hdr.src_addr, &match->wc.masks.ipv6_src,
1548+
memcpy(&mask->hdr.src_addr, &match->wc.masks.ipv6_src,
15491549
sizeof mask->hdr.src_addr);
1550-
memcpy(mask->hdr.dst_addr, &match->wc.masks.ipv6_dst,
1550+
memcpy(&mask->hdr.dst_addr, &match->wc.masks.ipv6_dst,
15511551
sizeof mask->hdr.dst_addr);
15521552

15531553
consumed_masks->nw_ttl = 0;

0 commit comments

Comments
 (0)