]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nfp: flower: fix ABI mismatch between driver and firmware
authorLouis Peens <louis.peens@netronome.com>
Wed, 2 Sep 2020 15:04:58 +0000 (17:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Sep 2020 23:00:13 +0000 (16:00 -0700)
Fix an issue where the driver wrongly detected ipv6 neighbour updates
from the NFP as corrupt. Add a reserved field on the kernel side so
it is similar to the ipv4 version of the struct and has space for the
extra bytes from the card.

Fixes: 21a61842f1e2 ("nfp: flower: support ipv6 tunnel keep-alive messages from fw")
Signed-off-by: Louis Peens <louis.peens@netronome.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c

index 2df3deedf9fd85bd4de664e333a468eb923a499a..7248d248f60416f18b7263622b2866da8627e410 100644 (file)
@@ -61,6 +61,7 @@ struct nfp_tun_active_tuns {
  * @flags:             options part of the request
  * @tun_info.ipv6:             dest IPv6 address of active route
  * @tun_info.egress_port:      port the encapsulated packet egressed
+ * @tun_info.extra:            reserved for future use
  * @tun_info:          tunnels that have sent traffic in reported period
  */
 struct nfp_tun_active_tuns_v6 {
@@ -70,6 +71,7 @@ struct nfp_tun_active_tuns_v6 {
        struct route_ip_info_v6 {
                struct in6_addr ipv6;
                __be32 egress_port;
+               __be32 extra[2];
        } tun_info[];
 };