summaryrefslogtreecommitdiff
path: root/include/linux/if_team.h
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2012-04-10 05:15:44 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-11 10:03:52 -0400
commit71472ec12c61dd305ab4d11822af7ecc4f9717f9 (patch)
tree4f0470a410a76eb59530100dd757be6753fda55f /include/linux/if_team.h
parent14f066bab19946545130a7379f420af860a02ae8 (diff)
downloadlinux-rpi-71472ec12c61dd305ab4d11822af7ecc4f9717f9.tar.gz
linux-rpi-71472ec12c61dd305ab4d11822af7ecc4f9717f9.tar.bz2
linux-rpi-71472ec12c61dd305ab4d11822af7ecc4f9717f9.zip
team: add user_linkup and user_linkup_enabled per-port option
Allows userspace to setup linkup for ports. Default is to take linkup directly from ethtool state. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_team.h')
-rw-r--r--include/linux/if_team.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/include/linux/if_team.h b/include/linux/if_team.h
index 78c84fd9a170..5fd5ab171165 100644
--- a/include/linux/if_team.h
+++ b/include/linux/if_team.h
@@ -33,6 +33,24 @@ struct team_port {
struct team *team;
int index;
+ bool linkup; /* either state.linkup or user.linkup */
+
+ struct {
+ bool linkup;
+ u32 speed;
+ u8 duplex;
+ } state;
+
+ /* Values set by userspace */
+ struct {
+ bool linkup;
+ bool linkup_enabled;
+ } user;
+
+ /* Custom gennetlink interface related flags */
+ bool changed;
+ bool removed;
+
/*
* A place for storing original values of the device before it
* become a port.
@@ -42,14 +60,6 @@ struct team_port {
unsigned int mtu;
} orig;
- bool linkup;
- u32 speed;
- u8 duplex;
-
- /* Custom gennetlink interface related flags */
- bool changed;
- bool removed;
-
struct rcu_head rcu;
};