mirror of
https://github.com/openvswitch/ovs
synced 2025-08-22 09:58:01 +00:00
33 lines
1.1 KiB
Plaintext
33 lines
1.1 KiB
Plaintext
|
# Add port to ovs bridge by using afxdp mode.
|
||
|
# This will use generic XDP support in the veth driver.
|
||
|
m4_define([ADD_VETH],
|
||
|
[ AT_CHECK([ip link add $1 type veth peer name ovs-$1 || return 77])
|
||
|
CONFIGURE_VETH_OFFLOADS([$1])
|
||
|
AT_CHECK([ip link set $1 netns $2])
|
||
|
AT_CHECK([ip link set dev ovs-$1 up])
|
||
|
AT_CHECK([ovs-vsctl add-port $3 ovs-$1 -- \
|
||
|
set interface ovs-$1 external-ids:iface-id="$1" type="afxdp"])
|
||
|
NS_CHECK_EXEC([$2], [ip addr add $4 dev $1 $7])
|
||
|
NS_CHECK_EXEC([$2], [ip link set dev $1 up])
|
||
|
if test -n "$5"; then
|
||
|
NS_CHECK_EXEC([$2], [ip link set dev $1 address $5])
|
||
|
fi
|
||
|
if test -n "$6"; then
|
||
|
NS_CHECK_EXEC([$2], [ip route add default via $6])
|
||
|
fi
|
||
|
on_exit 'ip link del ovs-$1'
|
||
|
]
|
||
|
)
|
||
|
|
||
|
m4_define([OVS_CHECK_8021AD],
|
||
|
[AT_SKIP_IF([:])])
|
||
|
|
||
|
# CONFIGURE_VETH_OFFLOADS([VETH])
|
||
|
#
|
||
|
# Disable TX offloads and VLAN offloads for veths used in AF_XDP.
|
||
|
m4_define([CONFIGURE_VETH_OFFLOADS],
|
||
|
[AT_CHECK([ethtool -K $1 tx off], [0], [ignore], [ignore])
|
||
|
AT_CHECK([ethtool -K $1 txvlan off], [0], [ignore], [ignore])
|
||
|
]
|
||
|
)
|