mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
New tests were introduced based on lcov report, which reveals apparent code is not covered by ovs test suites. Signed-off-by: Damijan Skvarc <damjan.skvarc@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
1036 lines
29 KiB
Plaintext
1036 lines
29 KiB
Plaintext
dnl VTEP_OVSDB_INIT([$1])
|
|
dnl
|
|
dnl Creates an empty database named $1.
|
|
m4_define([VTEP_OVSDB_INIT],
|
|
[AT_CHECK(
|
|
[ovsdb-tool create $1 $abs_top_srcdir/vtep/vtep.ovsschema],
|
|
[0], [stdout], [ignore])
|
|
AT_CHECK(
|
|
[[ovsdb-tool transact $1 \
|
|
'["hardware_vtep",
|
|
{"op": "insert",
|
|
"table": "Global",
|
|
"row": {}}]']],
|
|
[0], [ignore], [ignore])])
|
|
|
|
dnl VTEP_CTL_SETUP
|
|
dnl
|
|
dnl Creates an empty database in the current directory and then starts
|
|
dnl an ovsdb-server on it for vtep-ctl to connect to.
|
|
m4_define([VTEP_CTL_SETUP],
|
|
[VTEP_OVSDB_INIT([db])
|
|
AT_CHECK([ovsdb-server --detach --no-chdir --pidfile --remote=punix:socket db >/dev/null 2>&1], [0], [ignore], [ignore])])
|
|
|
|
dnl VTEP_CTL_CLEANUP
|
|
dnl
|
|
dnl Kills off the database server.
|
|
m4_define([VTEP_CTL_CLEANUP], [OVSDB_SERVER_SHUTDOWN])
|
|
|
|
dnl RUN_VTEP_CTL(COMMAND, ...)
|
|
dnl
|
|
dnl Executes each vtep-ctl COMMAND.
|
|
m4_define([RUN_VTEP_CTL],
|
|
[m4_foreach([command], [$@], [vtep-ctl -vreconnect:emer --db=unix:socket command
|
|
])])
|
|
m4_define([RUN_VTEP_CTL_ONELINE],
|
|
[m4_foreach([command], [$@], [vtep-ctl -vreconnect:emer --db=unix:socket --oneline -- command
|
|
])])
|
|
|
|
dnl RUN_VTEP_CTL_TOGETHER(COMMAND, ...)
|
|
dnl
|
|
dnl Executes each vtep-ctl COMMAND in a single run of vtep-ctl.
|
|
m4_define([RUN_VTEP_CTL_TOGETHER],
|
|
[vtep-ctl -vreconnect:emer --db=unix:socket --oneline dnl
|
|
m4_foreach([command], [$@], [ -- command])])
|
|
|
|
dnl CHECK_PSWITCHES([PSWITCH], ...)
|
|
dnl
|
|
dnl Verifies that "vtep-ctl list-ps" prints the specified list of
|
|
dnl physical switches, which must be in alphabetical order.
|
|
m4_define([CHECK_PSWITCHES],
|
|
[dnl Check that the pswitches appear on list-ps, without --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL([list-ps])],
|
|
[0],
|
|
[m4_foreach([psinfo], [$@], [m4_car(psinfo)
|
|
])],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check that the pswitches appear on list-ps, with --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL_ONELINE([list-ps])],
|
|
[0],
|
|
[m4_join([\n], m4_foreach([psinfo], [$@], [m4_car(psinfo),]))
|
|
],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check that each pswitch exists according to ps-exists and that
|
|
dnl a pswitch that should not exist does not.
|
|
m4_foreach([psinfo], [$@],
|
|
[AT_CHECK([RUN_VTEP_CTL([ps-exists m4_car(psinfo)])], [0], [],
|
|
[], [VTEP_CTL_CLEANUP])])
|
|
AT_CHECK([RUN_VTEP_CTL([ps-exists nonexistent])], [2], [], [],
|
|
[VTEP_CTL_CLEANUP])])
|
|
|
|
dnl CHECK_PORTS(PSWITCH, PORT[, PORT...])
|
|
dnl
|
|
dnl Verifies that "vtep-ctl list-ports PSWITCH" prints the specified
|
|
dnl list of ports, which must be in alphabetical order.
|
|
m4_define([CHECK_PORTS],
|
|
[dnl Check ports without --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL([list-ports $1])],
|
|
[0],
|
|
[m4_foreach([port], m4_cdr($@), [port
|
|
])],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check ports with --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL_ONELINE([list-ports $1])],
|
|
[0],
|
|
[m4_join([\n], m4_shift($@))
|
|
],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])])
|
|
|
|
|
|
dnl CHECK_LSWITCHES([LSWITCH], ...)
|
|
dnl
|
|
dnl Verifies that "vtep-ctl list-ls" prints the specified list of
|
|
dnl logical switches, which must be in alphabetical order.
|
|
m4_define([CHECK_LSWITCHES],
|
|
[dnl Check that the lswitches appear on list-ls, without --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL([list-ls])],
|
|
[0],
|
|
[m4_foreach([lsinfo], [$@], [m4_car(lsinfo)
|
|
])],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check that the lswitches appear on list-ls, with --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL_ONELINE([list-ls])],
|
|
[0],
|
|
[m4_join([\n], m4_foreach([lsinfo], [$@], [m4_car(lsinfo),]))
|
|
],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check that each lswitch exists according to ls-exists and that
|
|
dnl a pswitch that should not exist does not.
|
|
m4_foreach([lsinfo], [$@],
|
|
[AT_CHECK([RUN_VTEP_CTL([ls-exists m4_car(lsinfo)])], [0], [],
|
|
[], [VTEP_CTL_CLEANUP])])
|
|
AT_CHECK([RUN_VTEP_CTL([ls-exists nonexistent])], [2], [], [],
|
|
[VTEP_CTL_CLEANUP])])
|
|
|
|
|
|
dnl CHECK_LROUTERS([LROUTER], ...)
|
|
dnl
|
|
dnl Verifies that "vtep-ctl list-lr" prints the specified list of
|
|
dnl logical routers, which must be in alphabetical order.
|
|
m4_define([CHECK_LROUTERS],
|
|
[dnl Check that the lrouters appear on list-lr, without --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL([list-lr])],
|
|
[0],
|
|
[m4_foreach([lrinfo], [$@], [m4_car(lrinfo)
|
|
])],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check that the lswitches appear on list-lr, with --oneline.
|
|
AT_CHECK(
|
|
[RUN_VTEP_CTL_ONELINE([list-lr])],
|
|
[0],
|
|
[m4_join([\n], m4_foreach([lrinfo], [$@], [m4_car(lrinfo),]))
|
|
],
|
|
[],
|
|
[VTEP_CTL_CLEANUP])
|
|
|
|
dnl Check that each lrouter exists according to lr-exists and that
|
|
dnl a prouter that should not exist does not.
|
|
m4_foreach([lrinfo], [$@],
|
|
[AT_CHECK([RUN_VTEP_CTL([lr-exists m4_car(lrinfo)])], [0], [],
|
|
[], [VTEP_CTL_CLEANUP])])
|
|
AT_CHECK([RUN_VTEP_CTL([lr-exists nonexistent])], [2], [], [],
|
|
[VTEP_CTL_CLEANUP])])
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
AT_BANNER([vtep-ctl unit tests -- physical switch tests])
|
|
|
|
AT_SETUP([add-ps a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ps a])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a, add-ps a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ps a])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([add-ps a])], [1], [],
|
|
[vtep-ctl: cannot create physical switch a because it already exists
|
|
], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a, add-ps b])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ps a], [add-ps b])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a], [b])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a, add-ps b, del-ps a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ps a], [add-ps b], [del-ps a])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([b])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a, del-ps a, add-ps a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL_TOGETHER(
|
|
[add-ps a],
|
|
[del-ps a],
|
|
[add-ps a])], [0], [
|
|
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a, add-port a a1, add-port a a2])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps a],
|
|
[--if-exists del-ps b],
|
|
[add-port a a1],
|
|
[add-port a a2])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a])
|
|
CHECK_PORTS([a], [a1], [a2])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a, add-port a a1, add-port a a1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps a],
|
|
[add-port a a1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([add-port a a1])], [1], [],
|
|
[vtep-ctl: cannot create a port named a1 on a because a port with that name already exists
|
|
], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a b, add-port a a1, add-port b b1, del-ps a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL_TOGETHER(
|
|
[add-ps a],
|
|
[add-ps b],
|
|
[add-port a a1],
|
|
[add-port b b1],
|
|
[--if-exists del-port b b2],
|
|
[del-ps a])], [0], [
|
|
|
|
|
|
|
|
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([b])
|
|
CHECK_PORTS([b], [b1])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a b, add-port a a1, add-port b b1, del-port a a1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps a],
|
|
[add-ps b],
|
|
[add-port a a1],
|
|
[--may-exist add-port b b1],
|
|
[del-port a a1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([--may-exist add-port b b1])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a], [b])
|
|
CHECK_PORTS([a])
|
|
CHECK_PORTS([b], [b1])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ps a b, add-port a p1, add-port b p1, del-port a p1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps a],
|
|
[add-ps b],
|
|
[add-port a p1],
|
|
[add-port b p1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a], [b])
|
|
CHECK_PORTS([a], [p1])
|
|
CHECK_PORTS([b], [p1])
|
|
AT_CHECK([RUN_VTEP_CTL([del-port a p1])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([a], [b])
|
|
CHECK_PORTS([a])
|
|
CHECK_PORTS([b], [p1])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
AT_BANNER([vtep-ctl unit tests -- logical switch tests])
|
|
|
|
AT_SETUP([add-ls a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ls a])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([a])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, add-ls a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ls a])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([add-ls a])], [1], [],
|
|
[vtep-ctl: cannot create logical switch a because it already exists
|
|
], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, add-ls b])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ls a], [add-ls b])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([a], [b])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, add-ls b, del-ls a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-ls a], [add-ls b], [del-ls a])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([b])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, del-ls a, add-ls a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL_TOGETHER(
|
|
[add-ls a],
|
|
[del-ls a],
|
|
[add-ls a])], [0], [
|
|
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([a])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, get-replication-mode a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls a],
|
|
[get-replication-mode a])],
|
|
[0], [[(null)]
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, set-replication-mode a source_node])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls a],[set-replication-mode a source_node],
|
|
[get-replication-mode a])],
|
|
[0], [source_node
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ls a, set-replication-mode a service_node])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls a],[set-replication-mode a service_node],
|
|
[get-replication-mode a])],
|
|
[0], [service_node
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
AT_BANNER([vtep-ctl unit tests -- logical router tests])
|
|
|
|
AT_SETUP([add-lr a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-lr a])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LROUTERS([a])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-lr a, add-lr a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-lr a])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([add-lr a])], [1], [],
|
|
[vtep-ctl: cannot create logical router a because it already exists
|
|
], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-lr a, add-lr b])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-lr a], [add-lr b])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_LROUTERS([a], [b])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-lr a, add-lr b, del-lr a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL([add-lr a], [add-lr b], [del-lr a])], [0], [], [],
|
|
[VTEP_CTL_CLEANUP])
|
|
CHECK_LROUTERS([b])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-lr a, del-lr a, add-lr a])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL_TOGETHER(
|
|
[add-lr a],
|
|
[del-lr a],
|
|
[add-lr a])], [0], [
|
|
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LROUTERS([a])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
AT_BANNER([vtep-ctl unit tests -- logical binding tests])
|
|
|
|
AT_SETUP([bind-ls ps1 pp1 300 ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps ps1],
|
|
[add-port ps1 pp1],
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([ps1])
|
|
CHECK_PORTS([ps1], [pp1])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[bind-ls ps1 pp1 300 ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-bindings ps1 pp1])], [0],
|
|
[0300 ls1
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([bind-ls ps1 pp1 300 ls1, bind-ls ps1 pp1 400 ls2])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps ps1],
|
|
[add-port ps1 pp1],
|
|
[add-ls ls1],
|
|
[add-ls ls2])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([ps1])
|
|
CHECK_PORTS([ps1], [pp1])
|
|
CHECK_LSWITCHES([ls1], [ls2])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[bind-ls ps1 pp1 300 ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[bind-ls ps1 pp1 400 ls2])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-bindings ps1 pp1])], [0],
|
|
[0300 ls1
|
|
0400 ls2
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([bind-ls ps1 pp1 300, bind-ls ps2 pp2 300 ls2])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ps ps1],
|
|
[add-ps ps2],
|
|
[add-port ps1 pp1],
|
|
[add-port ps2 pp2],
|
|
[add-ls ls1],
|
|
[add-ls ls2])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_PSWITCHES([ps1], [ps2])
|
|
CHECK_PORTS([ps1], [pp1])
|
|
CHECK_PORTS([ps2], [pp2])
|
|
CHECK_LSWITCHES([ls1], [ls2])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[bind-ls ps1 pp1 300 ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[bind-ls ps2 pp2 300 ls2])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-bindings ps1 pp1])], [0],
|
|
[0300 ls1
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-bindings ps2 pp2])], [0],
|
|
[0300 ls2
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
AT_BANNER([vtep-ctl unit tests -- MAC binding tests])
|
|
|
|
AT_SETUP([add-ucast-local ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-local ls1 00:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ucast-local ls1, overwrite])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ucast-local ls1, del-ucast-local ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-local ls1 00:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[del-ucast-local ls1 00:11:22:33:44:55])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ucast-remote ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-remote ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-remote ls1 00:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ucast-remote ls1, overwrite])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-remote ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-remote ls1 00:11:22:33:44:55 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ucast-remote ls1, del-ucast-remote ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-remote ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-remote ls1 00:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[del-ucast-remote ls1 00:11:22:33:44:55])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-ucast-local ls1, add-ucast-remote ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-local ls1 00:11:22:33:44:66 10.0.0.11],
|
|
[add-ucast-remote ls1 02:11:22:33:44:55 10.0.0.10],
|
|
[add-ucast-remote ls1 02:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
00:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
02:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
02:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-mcast-local ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-mcast-local ls1, del-mcast-local ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.12],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.13])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.13
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[del-mcast-local ls1 01:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.13
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-mcast-remote ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-mcast-remote ls1, del-mcast-remote ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.12],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.13])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.13
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[del-mcast-remote ls1 01:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.13
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add-mcast-local ls1, add-mcast-remote ls1])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:66 10.0.0.11],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.12],
|
|
[add-mcast-remote ls1 03:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 03:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-remote ls1 03:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
03:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
03:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
03:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add local and remote macs, clear-local-macs])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.12],
|
|
[add-ucast-remote ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
|
|
mcast-mac-remote
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[clear-local-macs ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
|
|
mcast-mac-local
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
|
|
mcast-mac-remote
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([add local and remote macs, clear-remote-macs])
|
|
AT_KEYWORDS([vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ls ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
CHECK_LSWITCHES([ls1])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[add-ucast-local ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-local ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-local ls1 01:11:22:33:44:55 10.0.0.12],
|
|
[add-ucast-remote ls1 00:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.10],
|
|
[add-mcast-remote ls1 01:11:22:33:44:66 vxlan_over_ipv4 10.0.0.11],
|
|
[add-mcast-remote ls1 01:11:22:33:44:55 10.0.0.12])
|
|
], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
|
|
mcast-mac-remote
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[clear-remote-macs ls1])], [0], [], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-local-macs ls1])], [0],
|
|
[ucast-mac-local
|
|
00:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
|
|
mcast-mac-local
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.10
|
|
01:11:22:33:44:55 -> vxlan_over_ipv4/10.0.0.12
|
|
01:11:22:33:44:66 -> vxlan_over_ipv4/10.0.0.11
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
AT_CHECK([RUN_VTEP_CTL([list-remote-macs ls1])], [0],
|
|
[ucast-mac-remote
|
|
|
|
mcast-mac-remote
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
AT_BANNER([vtep-ctl unit tests -- manager commands])
|
|
|
|
AT_SETUP([managers])
|
|
AT_KEYWORDS([manager vtep-ctl])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL_TOGETHER(
|
|
[del-manager],
|
|
[get-manager],
|
|
[set-manager tcp:4.5.6.7],
|
|
[get-manager],
|
|
[set-manager tcp:8.9.10.11 tcp:5.4.3.2],
|
|
[get-manager],
|
|
[--inactivity-probe=30000 set-manager tcp:1.2.3.4],
|
|
[get-manager],
|
|
[del-manager],
|
|
[get-manager])], [0], [
|
|
|
|
|
|
tcp:4.5.6.7
|
|
|
|
tcp:5.4.3.2\ntcp:8.9.10.11
|
|
|
|
tcp:1.2.3.4
|
|
|
|
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([show command])
|
|
AT_KEYWORDS([vtep-ctl show])
|
|
VTEP_CTL_SETUP
|
|
AT_CHECK([RUN_VTEP_CTL(
|
|
[set-manager tcp:4.5.6.7],
|
|
[add-ps a],
|
|
[add-port a a1],
|
|
[add-ls ls1],
|
|
[bind-ls a a1 100 ls1],
|
|
[set Physical_Switch a management_ips=[[4.3.2.1]] tunnel_ips=[[1.2.3.4]]])], [0], [ignore], [], [VTEP_CTL_CLEANUP])
|
|
|
|
AT_CHECK([vtep-ctl -vreconnect:emer --db=unix:socket show | tail -n+2 | sed 's/=[[a-f0-9-]][[a-f0-9-]]*}/=<ls>}/' ], [0], [dnl
|
|
Manager "tcp:4.5.6.7"
|
|
Physical_Switch a
|
|
management_ips: [["4.3.2.1"]]
|
|
tunnel_ips: [["1.2.3.4"]]
|
|
Physical_Port a1
|
|
vlan_bindings:
|
|
100=ls1
|
|
], [], [VTEP_CTL_CLEANUP])
|
|
|
|
VTEP_CTL_CLEANUP
|
|
AT_CLEANUP
|