diff options
author | Dave Barach <dave@barachs.net> | 2019-05-08 19:18:18 -0400 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2019-05-09 20:08:58 +0000 |
commit | 7d31ab2a5cc2124ddd973ac5dfac2219619f345a (patch) | |
tree | c348cd84cf2c4edc0bb73890830ed2bc280117bf /src/plugins/mactime | |
parent | 016d4cc327f1980605db7a9e436597e8f36fe9ed (diff) |
add mactime plugin unit / code coverage tests
The unit and code coverage tests are boring. The rest of the patch
involves test and packet-generator infra cleanups.
Teach the "make test-xxx" family of targets to set the api test plugin
path correctly, to make "binary-api <api-message-name> <args>" debug
CLI commands work correctly in the "make test"
environment. Unfortunately involves both the top-level and test
Makefiles.
Add a minor pg cli feature, a CLI to manually set
s->sw_if_index[VLIB_TX].
Consider the case where one configures an interface with both a
device-input and an output feature. To test the output feature using
the pg, it's necessary to inject packets into the interface output
node with both b->sw_if_index[VLIB_TX] and b->sw_if_index[VLIB_RX] set
correctly. For example:
packet-generator new {
name tx
limit 15
size 128-128
interface local0 # rx: device input feature not configured on local0
tx-interface loop0 # tx: output node requires b->sw_if_index[VLIB_TX]
node loop0-output
data {
hex 0x01005e7ffffa000dead0000008000102030405060708090a0b0c0d0e0f0102030405
}
}
Fix a longstanding bug in the packet generator stream setup. Remove
kludges which set b->sw_if_index[VLIB_TX] to ~0 [in multiple places]
instead of using the stream value s->sw_if_index[VLIB_TX], and setting
THAT datum correctly.
Change-Id: I1097a18e8db73661ded6b822c1d718f7e5cf36ed
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/plugins/mactime')
-rw-r--r-- | src/plugins/mactime/mactime.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/plugins/mactime/mactime.c b/src/plugins/mactime/mactime.c index 6cbddbc7a44..1b053faa2e8 100644 --- a/src/plugins/mactime/mactime.c +++ b/src/plugins/mactime/mactime.c @@ -126,6 +126,8 @@ mactime_enable_disable_command_fn (vlib_main_t * vm, else if (unformat (input, "%U", unformat_vnet_sw_interface, mm->vnet_main, &sw_if_index)) ; + else if (unformat (input, "sw_if_index %d", &sw_if_index)) + ; else break; } @@ -145,11 +147,6 @@ mactime_enable_disable_command_fn (vlib_main_t * vm, (0, "Invalid interface, only works on physical ports"); break; - case VNET_API_ERROR_UNIMPLEMENTED: - return clib_error_return (0, - "Device driver doesn't support redirection"); - break; - default: return clib_error_return (0, "mactime_enable_disable returned %d", rv); } |