diff mbox series

[ovs-dev,V3,1/2] netdev-offload-dpdk: Fix IPv6 rewrite cast-align warning

Message ID 20210725085437.28303-1-elibr@nvidia.com
State Accepted
Headers show
Series [ovs-dev,V3,1/2] netdev-offload-dpdk: Fix IPv6 rewrite cast-align warning | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot success github build: passed

Commit Message

Eli Britstein July 25, 2021, 8:54 a.m. UTC
Fixes: b6207b1d2711 ("netdev-offload-dpdk: Support offload of set IPv6 actions.")
Signed-off-by: Eli Britstein <elibr@nvidia.com>
---
 lib/netdev-offload-dpdk.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Ilya Maximets July 26, 2021, 12:46 a.m. UTC | #1
On 7/25/21 10:54 AM, Eli Britstein wrote:
> Fixes: b6207b1d2711 ("netdev-offload-dpdk: Support offload of set IPv6 actions.")
> Signed-off-by: Eli Britstein <elibr@nvidia.com>
> ---
>  lib/netdev-offload-dpdk.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
> index e7913292e..4112fc3a5 100644
> --- a/lib/netdev-offload-dpdk.c
> +++ b/lib/netdev-offload-dpdk.c
> @@ -568,8 +568,11 @@ dump_flow_action(struct ds *s, struct ds *s_extra,
>  
>          ds_put_format(s, "set_ipv6_%s ", dirstr);
>          if (set_ipv6) {
> +            struct in6_addr addr;
> +
>              ds_put_cstr(s, "ipv6_addr ");
> -            ipv6_format_addr((struct in6_addr *) &set_ipv6->ipv6_addr, s);
> +            memcpy(&addr, set_ipv6->ipv6_addr, sizeof addr);
> +            ipv6_format_addr(&addr, s);
>              ds_put_cstr(s, " ");
>          }
>          ds_put_cstr(s, "/ ");
> 

Thanks!  Applied and backported down to 2.14.

Best regards, Ilya Maximets.
diff mbox series

Patch

diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
index e7913292e..4112fc3a5 100644
--- a/lib/netdev-offload-dpdk.c
+++ b/lib/netdev-offload-dpdk.c
@@ -568,8 +568,11 @@  dump_flow_action(struct ds *s, struct ds *s_extra,
 
         ds_put_format(s, "set_ipv6_%s ", dirstr);
         if (set_ipv6) {
+            struct in6_addr addr;
+
             ds_put_cstr(s, "ipv6_addr ");
-            ipv6_format_addr((struct in6_addr *) &set_ipv6->ipv6_addr, s);
+            memcpy(&addr, set_ipv6->ipv6_addr, sizeof addr);
+            ipv6_format_addr(&addr, s);
             ds_put_cstr(s, " ");
         }
         ds_put_cstr(s, "/ ");