Commit | Line | Data |
---|---|---|
cfc80d9a SS |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* Copyright (c) 2018, Intel Corporation. */ | |
3 | ||
4 | #ifndef _NET_FAILOVER_H | |
5 | #define _NET_FAILOVER_H | |
6 | ||
7 | #include <net/failover.h> | |
8 | ||
9 | /* failover state */ | |
10 | struct net_failover_info { | |
11 | /* primary netdev with same MAC */ | |
12 | struct net_device __rcu *primary_dev; | |
13 | ||
14 | /* standby netdev */ | |
15 | struct net_device __rcu *standby_dev; | |
16 | ||
17 | /* primary netdev stats */ | |
18 | struct rtnl_link_stats64 primary_stats; | |
19 | ||
20 | /* standby netdev stats */ | |
21 | struct rtnl_link_stats64 standby_stats; | |
22 | ||
23 | /* aggregated stats */ | |
24 | struct rtnl_link_stats64 failover_stats; | |
25 | ||
26 | /* spinlock while updating stats */ | |
27 | spinlock_t stats_lock; | |
28 | }; | |
29 | ||
30 | struct failover *net_failover_create(struct net_device *standby_dev); | |
31 | void net_failover_destroy(struct failover *failover); | |
32 | ||
33 | #define FAILOVER_VLAN_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \ | |
34 | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \ | |
35 | NETIF_F_HIGHDMA | NETIF_F_LRO) | |
36 | ||
37 | #define FAILOVER_ENC_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \ | |
38 | NETIF_F_RXCSUM | NETIF_F_ALL_TSO) | |
39 | ||
40 | #endif /* _NET_FAILOVER_H */ |