155cbe079SPetr Machata#!/bin/bash
255cbe079SPetr Machata# SPDX-License-Identifier: GPL-2.0
355cbe079SPetr Machata
455cbe079SPetr Machata# Check FDB default-remote handling across "ip link set".
555cbe079SPetr Machata
655cbe079SPetr Machatacheck_remotes()
755cbe079SPetr Machata{
855cbe079SPetr Machata	local what=$1; shift
955cbe079SPetr Machata	local N=$(bridge fdb sh dev vx | grep 00:00:00:00:00:00 | wc -l)
1055cbe079SPetr Machata
1155cbe079SPetr Machata	echo -ne "expected two remotes after $what\t"
1255cbe079SPetr Machata	if [[ $N != 2 ]]; then
1355cbe079SPetr Machata		echo "[FAIL]"
1455cbe079SPetr Machata		EXIT_STATUS=1
1555cbe079SPetr Machata	else
1655cbe079SPetr Machata		echo "[ OK ]"
1755cbe079SPetr Machata	fi
1855cbe079SPetr Machata}
1955cbe079SPetr Machata
2055cbe079SPetr Machataip link add name vx up type vxlan id 2000 dstport 4789
2155cbe079SPetr Machatabridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent
2255cbe079SPetr Machatabridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent
2355cbe079SPetr Machatacheck_remotes "fdb append"
2455cbe079SPetr Machata
2555cbe079SPetr Machataip link set dev vx type vxlan remote 192.0.2.30
2655cbe079SPetr Machatacheck_remotes "link set"
2755cbe079SPetr Machata
2855cbe079SPetr Machataip link del dev vx
2955cbe079SPetr Machataexit $EXIT_STATUS
30