diff mbox

[iproute2,4/6] bridge/link: add new offload hwmode swdev

Message ID 1417683438-10935-5-git-send-email-jiri@resnulli.us
State Awaiting Upstream, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Jiri Pirko Dec. 4, 2014, 8:57 a.m. UTC
From: Scott Feldman <sfeldma@gmail.com>

To support full-featured switch devices offloading bridge funtionality,
add new hwmode 'swdev'.  Like 'vepa' and 'veb', 'swdev' indicated bridge
port functionality is being offloaded to hardware.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
---
 bridge/link.c             |  6 ++++--
 include/linux/if_bridge.h |  1 +
 man/man8/bridge.8         | 13 ++++++++-----
 3 files changed, 13 insertions(+), 7 deletions(-)

Comments

Jamal Hadi Salim Dec. 4, 2014, 1:23 p.m. UTC | #1
On 12/04/14 03:57, Jiri Pirko wrote:
> From: Scott Feldman <sfeldma@gmail.com>
>
> To support full-featured switch devices offloading bridge funtionality,
> add new hwmode 'swdev'.  Like 'vepa' and 'veb', 'swdev' indicated bridge
> port functionality is being offloaded to hardware.
>

Unhappy with the name swdev ..
Ok, go ahead and beat up on me.

cheers,
jamal
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Feldman Dec. 4, 2014, 8:55 p.m. UTC | #2
On Thu, Dec 4, 2014 at 5:23 AM, Jamal Hadi Salim <jhs@mojatatu.com> wrote:
> On 12/04/14 03:57, Jiri Pirko wrote:
>>
>> From: Scott Feldman <sfeldma@gmail.com>
>>
>> To support full-featured switch devices offloading bridge funtionality,
>> add new hwmode 'swdev'.  Like 'vepa' and 'veb', 'swdev' indicated bridge
>> port functionality is being offloaded to hardware.
>>
>
> Unhappy with the name swdev ..
> Ok, go ahead and beat up on me.

Lack of creativity, I know.  But, I doubt anyone is confused by the name.

Hopefully it's short-lived and replace with what Roopa comes up with
for switch port offload flag.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger Dec. 24, 2014, 8:37 p.m. UTC | #3
On Thu,  4 Dec 2014 09:57:16 +0100
Jiri Pirko <jiri@resnulli.us> wrote:

> From: Scott Feldman <sfeldma@gmail.com>
> 
> To support full-featured switch devices offloading bridge funtionality,
> add new hwmode 'swdev'.  Like 'vepa' and 'veb', 'swdev' indicated bridge
> port functionality is being offloaded to hardware.
> 
> Signed-off-by: Scott Feldman <sfeldma@gmail.com>
> Signed-off-by: Jiri Pirko <jiri@resnulli.us>

Please resubmit when the functionality is in net-next.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/bridge/link.c b/bridge/link.c
index 90d9e7f..efe0b8c 100644
--- a/bridge/link.c
+++ b/bridge/link.c
@@ -65,7 +65,7 @@  static const char *oper_states[] = {
 	"TESTING", "DORMANT",	 "UP"
 };
 
-static const char *hw_mode[] = {"VEB", "VEPA"};
+static const char *hw_mode[] = {"VEB", "VEPA", "swdev"};
 
 static void print_operstate(FILE *f, __u8 state)
 {
@@ -315,10 +315,12 @@  static int brlink_modify(int argc, char **argv)
 				mode = BRIDGE_MODE_VEPA;
 			else if (strcmp(*argv, "veb") == 0)
 				mode = BRIDGE_MODE_VEB;
+			else if (strcmp(*argv, "swdev") == 0)
+				mode = BRIDGE_MODE_SWDEV;
 			else {
 				fprintf(stderr,
 					"Mode argument must be \"vepa\" or "
-					"\"veb\".\n");
+					"\"veb\" or \"swdev\".\n");
 				exit(-1);
 			}
 		} else {
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
index ed6868e..6b4eb66 100644
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -105,6 +105,7 @@  struct __fdb_entry {
 
 #define BRIDGE_MODE_VEB		0	/* Default loopback mode */
 #define BRIDGE_MODE_VEPA	1	/* 802.1Qbg defined VEPA mode */
+#define BRIDGE_MODE_SWDEV	2	/* Full switch device offload */
 
 /* Bridge management nested attributes
  * [IFLA_AF_SPEC] = {
diff --git a/man/man8/bridge.8 b/man/man8/bridge.8
index af31d41..d3d64d1 100644
--- a/man/man8/bridge.8
+++ b/man/man8/bridge.8
@@ -38,7 +38,7 @@  bridge \- show / manipulate bridge addresses and devices
 .BR root_block " { " on " | " off " } ] [ "
 .BR learning " { " on " | " off " } ] [ "
 .BR flood " { " on " | " off " } ] [ "
-.BR hwmode " { " vepa " | " veb " } ] "
+.BR hwmode " { " vepa " | " veb " | " swdev " } ] "
 
 .ti -8
 .BR "bridge link" " [ " show " ] [ "
@@ -247,15 +247,18 @@  Controls whether a given port will flood unicast traffic for which there is no F
 
 .TP
 .BI hwmode
-Some network interface cards support HW bridge functionality and they may be
+Some port devices support HW bridge functionality and they may be
 configured in different modes.  Currently support modes are:
 
 .B vepa
-- Data sent between HW ports is sent on the wire to the external
-switch.
+- NIC interface supports VEPA: data sent between HW ports is sent on
+the wire to the external switch.
 
 .B veb
-- bridging happens in hardware.
+- NIC interface supports VEB: bridging happens in hardware.
+
+.B swdev
+- Full Ethernet switch offload device: bridging happens in hardware.
 
 .SS bridge link show - list bridge port configuration.