diff options
author | Jiri Pirko <jiri@resnulli.us> | 2014-11-28 08:34:17 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-02 23:01:20 -0500 |
commit | 007f790c8276271de26416f90d55561bcc96588a (patch) | |
tree | 03a55b7897402e9daa8af64ea2c81d5236f77367 /include/net/switchdev.h | |
parent | 02637fce3e0103ba086b9c33b6d529e69460e4b6 (diff) |
net: introduce generic switch devices support
The goal of this is to provide a possibility to support various switch
chips. Drivers should implement relevant ndos to do so. Now there is
only one ndo defined:
- for getting physical switch id is in place.
Note that user can use random port netdevice to access the switch.
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Reviewed-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Andy Gospodarek <gospo@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/switchdev.h')
-rw-r--r-- | include/net/switchdev.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/net/switchdev.h b/include/net/switchdev.h new file mode 100644 index 000000000000..7a52360a1446 --- /dev/null +++ b/include/net/switchdev.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * include/net/switchdev.h - Switch device API | ||
3 | * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | */ | ||
10 | #ifndef _LINUX_SWITCHDEV_H_ | ||
11 | #define _LINUX_SWITCHDEV_H_ | ||
12 | |||
13 | #include <linux/netdevice.h> | ||
14 | |||
15 | #ifdef CONFIG_NET_SWITCHDEV | ||
16 | |||
17 | int netdev_switch_parent_id_get(struct net_device *dev, | ||
18 | struct netdev_phys_item_id *psid); | ||
19 | |||
20 | #else | ||
21 | |||
22 | static inline int netdev_switch_parent_id_get(struct net_device *dev, | ||
23 | struct netdev_phys_item_id *psid) | ||
24 | { | ||
25 | return -EOPNOTSUPP; | ||
26 | } | ||
27 | |||
28 | #endif | ||
29 | |||
30 | #endif /* _LINUX_SWITCHDEV_H_ */ | ||