mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-06 06:58:33 +07:00
selftests: forwarding: lib: Extract interface-init functions
The function simple_if_init() does two things: it creates a VRF, then moves an interface into this VRF and configures addresses. The latter comes in handy when adding more interfaces into a VRF later on. The situation is similar for simple_if_fini(). Therefore split the interface remastering and address de/initialization logic to a new pair of helpers __simple_if_init() / __simple_if_fini(), and defer to these helpers from simple_if_init() and simple_if_fini(). Signed-off-by: Petr Machata <petrm@mellanox.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a66d62d842
commit
3368b22379
@ -287,6 +287,29 @@ __addr_add_del()
|
||||
done
|
||||
}
|
||||
|
||||
__simple_if_init()
|
||||
{
|
||||
local if_name=$1; shift
|
||||
local vrf_name=$1; shift
|
||||
local addrs=("${@}")
|
||||
|
||||
ip link set dev $if_name master $vrf_name
|
||||
ip link set dev $if_name up
|
||||
|
||||
__addr_add_del $if_name add "${addrs[@]}"
|
||||
}
|
||||
|
||||
__simple_if_fini()
|
||||
{
|
||||
local if_name=$1; shift
|
||||
local addrs=("${@}")
|
||||
|
||||
__addr_add_del $if_name del "${addrs[@]}"
|
||||
|
||||
ip link set dev $if_name down
|
||||
ip link set dev $if_name nomaster
|
||||
}
|
||||
|
||||
simple_if_init()
|
||||
{
|
||||
local if_name=$1
|
||||
@ -298,11 +321,8 @@ simple_if_init()
|
||||
array=("${@}")
|
||||
|
||||
vrf_create $vrf_name
|
||||
ip link set dev $if_name master $vrf_name
|
||||
ip link set dev $vrf_name up
|
||||
ip link set dev $if_name up
|
||||
|
||||
__addr_add_del $if_name add "${array[@]}"
|
||||
__simple_if_init $if_name $vrf_name "${array[@]}"
|
||||
}
|
||||
|
||||
simple_if_fini()
|
||||
@ -315,9 +335,7 @@ simple_if_fini()
|
||||
vrf_name=v$if_name
|
||||
array=("${@}")
|
||||
|
||||
__addr_add_del $if_name del "${array[@]}"
|
||||
|
||||
ip link set dev $if_name down
|
||||
__simple_if_fini $if_name "${array[@]}"
|
||||
vrf_destroy $vrf_name
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user