Add team_create() and team_destroy() to manage team netdevices.

Signed-off-by: Petr Machata <pe...@mellanox.com>
---
 tools/testing/selftests/net/forwarding/lib.sh | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh 
b/tools/testing/selftests/net/forwarding/lib.sh
index 81e36157bf16..3a4eba4f0d08 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -8,6 +8,7 @@
 PING=${PING:=ping}
 PING6=${PING6:=ping6}
 MZ=${MZ:=mausezahn}
+TEAMD=${TEAMD:=teamd}
 WAIT_TIME=${WAIT_TIME:=5}
 PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no}
 PAUSE_ON_CLEANUP=${PAUSE_ON_CLEANUP:=no}
@@ -425,6 +426,28 @@ vlan_destroy()
        ip link del dev $name
 }
 
+team_create()
+{
+       local if_name=$1; shift
+       local mode=$1; shift
+
+       require_command $TEAMD
+       $TEAMD -t $if_name -d -c '{"runner": {"name": "'$mode'"}}'
+       for slave in "$@"; do
+               ip link set dev $slave down
+               ip link set dev $slave master $if_name
+               ip link set dev $slave up
+       done
+       ip link set dev $if_name up
+}
+
+team_destroy()
+{
+       local if_name=$1; shift
+
+       $TEAMD -t $if_name -k
+}
+
 master_name_get()
 {
        local if_name=$1
-- 
2.4.11

Reply via email to