summaryrefslogtreecommitdiff
path: root/test-cmdline.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2012-01-21 00:35:55 +0000
committerBen Hutchings <bhutchings@solarflare.com>2012-01-21 00:53:35 +0000
commit52e837ff42b2cd7ce5550cdbef3832c36fb756c0 (patch)
treecde5f73fb9b837ee1df1db97fe700404f81d43f4 /test-cmdline.c
parent7caba1e5c5832c2bd331b9196c7f1669cce9b8ba (diff)
downloadethtool-52e837ff42b2cd7ce5550cdbef3832c36fb756c0.tar.gz
Merge RX NFC options
Santwona Behera originally intended to extend the -n and -N options to cover querying and setting rules as well as flow hash options. However, his patch fell between the cracks and the ethtool utility got n-tuple support first, using the -u and -U options. When RX NFC rule support was finally added I insisted that it should not require different command syntax, so rules must be accessed through these options. The sets of valid argument lists following the -n and -u options are still non-overlapping, and similarly for the -N and -U options. Since the top level argument parser now supports arbitrary numbers of option aliases, we can merge these pairs together and achieve the original intent. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'test-cmdline.c')
-rw-r--r--test-cmdline.c52
1 files changed, 27 insertions, 25 deletions
diff --git a/test-cmdline.c b/test-cmdline.c
index 56a26d8..4718842 100644
--- a/test-cmdline.c
+++ b/test-cmdline.c
@@ -130,12 +130,15 @@ static struct test_case {
{ 0, "-S devname" },
{ 0, "--statistics devname" },
{ 1, "-S" },
- /* Argument parsing for -n is specialised */
+ /* Argument parsing for -n/-u is specialised */
{ 0, "-n devname rx-flow-hash tcp4" },
+ { 0, "-u devname rx-flow-hash sctp4" },
{ 0, "--show-nfc devname rx-flow-hash udp6" },
+ { 0, "--show-ntuple devname rx-flow-hash esp6" },
{ 1, "-n devname rx-flow-hash foo" },
+ { 1, "-u devname rx-flow-hash foo" },
{ 1, "--show-nfc devname rx-flow-hash" },
- { 1, "-n devname foo" },
+ { 1, "--show-ntuple devname rx-flow-hash" },
{ 1, "-n" },
/* Argument parsing for -f is specialised */
{ 1, "-f devname" },
@@ -143,14 +146,32 @@ static struct test_case {
{ 0, "-f devname filename 1" },
{ 1, "-f devname filename 1 foo" },
{ 1, "-f" },
- /* Argument parsing for -N is specialised */
+ /* Argument parsing for -N/-U is specialised */
{ 0, "-N devname rx-flow-hash tcp4 mvtsdfn" },
- { 0, "--config-nfc devname rx-flow-hash tcp4 r" },
- { 1, "-N devname rx-flow-hash tcp4" },
+ { 0, "--config-ntuple devname rx-flow-hash tcp4 r" },
+ { 1, "-U devname rx-flow-hash tcp4" },
{ 1, "--config-nfc devname rx-flow-hash foo" },
{ 1, "-N devname rx-flow-hash" },
- { 1, "--config-nfc devname foo" },
+ { 1, "--config-ntuple devname foo" },
+ { 0, "-U devname delete 1" },
+ { 1, "--config-nfc devname delete foo" },
+ { 1, "-N devname delete" },
+ { 0, "--config-ntuple devname flow-type ether src 01:23:45:67:89:ab m cd:ef:01:23:45:67 dst 89:ab:cd:ef:01:23 m 45:67:89:ab:cd:ef proto 0x0123 m 0x4567 vlan 0x89ab m 0xcdef action 0" },
+ { 0, "-U devname flow-type ether src 01:23:45:67:89:ab src-mask cd:ef:01:23:45:67 dst 89:ab:cd:ef:01:23 dst-mask 45:67:89:ab:cd:ef proto 0x0123 proto-mask 0x4567 vlan 0x89ab vlan-mask 0xcdef action 1" },
+ { 1, "--config-nfc devname flow-type ether src 01:23:45:67:89: action 3" },
+ { 1, "-N devname flow-type ether src 01:23:45:67:89 action 4" },
+ { 0, "--config-ntuple devname flow-type ip4 src-ip 0.123.45.67 m 89.0.123.45 dst-ip 67.89.0.123 m 45.67.89.0 tos 1 m 1 l4proto 0x23 m 0x45 l4data 0xfedcba98 m 76543210 vlan 0x89ab m 0xcdef action 6" },
+ { 0, "-U devname flow-type ip4 src-ip 0.123.45.67 src-ip-mask 89.0.123.45 dst-ip 67.89.0.123 dst-ip-mask 45.67.89.0 tos 1 tos-mask 1 l4proto 0x23 l4proto-mask 0x45 l4data 0xfedcba98 l4data-mask 76543210 vlan 0x89ab vlan-mask 0xcdef action 7" },
+ { 0, "--config-nfc devname flow-type tcp4 src-ip 0.123.45.67 m 89.0.123.45 dst-ip 67.89.0.123 m 45.67.89.0 tos 1 m 1 src-port 23456 m 7890 dst-port 12345 m 6789 vlan 0x89ab m 0xcdef action 8" },
+ { 0, "-N devname flow-type tcp4 src-ip 0.123.45.67 src-ip-mask 89.0.123.45 dst-ip 67.89.0.123 dst-ip-mask 45.67.89.0 tos 1 tos-mask 1 src-port 23456 src-port-mask 7890 dst-port 12345 dst-port-mask 6789 vlan 0x89ab vlan-mask 0xcdef action 9" },
+ { 0, "--config-ntuple devname flow-type ah4 src-ip 0.123.45.67 m 89.0.123.45 dst-ip 67.89.0.123 m 45.67.89.0 tos 1 m 1 spi 2 m 3 vlan 0x89ab m 0xcdef action 10" },
+ { 0, "-U devname flow-type ah4 src-ip 0.123.45.67 src-ip-mask 89.0.123.45 dst-ip 67.89.0.123 dst-ip-mask 45.67.89.0 tos 1 tos-mask 1 spi 2 spi-mask 3 vlan 0x89ab vlan-mask 0xcdef action 11" },
+ { 1, "--config-nfc devname flow-type tcp4 action foo" },
+ { 1, "-N devname flow-type foo" },
+ { 1, "--config-ntuple devname flow-type" },
+ { 1, "-U devname foo" },
{ 1, "-N" },
+ { 1, "-U" },
{ 0, "-x devname" },
{ 0, "--show-rxfh-indir devname" },
{ 1, "-x" },
@@ -163,25 +184,6 @@ static struct test_case {
{ 0, "--set-rxfh-indir devname weight 1 2 3 4" },
{ 1, "-X devname foo" },
{ 1, "-X" },
- /* Argument parsing for -U is specialised */
- { 0, "-U devname delete 1" },
- { 1, "--config-ntuple devname delete foo" },
- { 1, "-U devname delete" },
- { 0, "--config-ntuple devname flow-type ether src 01:23:45:67:89:ab m cd:ef:01:23:45:67 dst 89:ab:cd:ef:01:23 m 45:67:89:ab:cd:ef proto 0x0123 m 0x4567 vlan 0x89ab m 0xcdef action 0" },
- { 0, "-U devname flow-type ether src 01:23:45:67:89:ab src-mask cd:ef:01:23:45:67 dst 89:ab:cd:ef:01:23 dst-mask 45:67:89:ab:cd:ef proto 0x0123 proto-mask 0x4567 vlan 0x89ab vlan-mask 0xcdef action 1" },
- { 1, "--config-ntuple devname flow-type ether src 01:23:45:67:89: action 3" },
- { 1, "-U devname flow-type ether src 01:23:45:67:89 action 4" },
- { 0, "--config-ntuple devname flow-type ip4 src-ip 0.123.45.67 m 89.0.123.45 dst-ip 67.89.0.123 m 45.67.89.0 tos 1 m 1 l4proto 0x23 m 0x45 l4data 0xfedcba98 m 76543210 vlan 0x89ab m 0xcdef action 6" },
- { 0, "-U devname flow-type ip4 src-ip 0.123.45.67 src-ip-mask 89.0.123.45 dst-ip 67.89.0.123 dst-ip-mask 45.67.89.0 tos 1 tos-mask 1 l4proto 0x23 l4proto-mask 0x45 l4data 0xfedcba98 l4data-mask 76543210 vlan 0x89ab vlan-mask 0xcdef action 7" },
- { 0, "--config-ntuple devname flow-type tcp4 src-ip 0.123.45.67 m 89.0.123.45 dst-ip 67.89.0.123 m 45.67.89.0 tos 1 m 1 src-port 23456 m 7890 dst-port 12345 m 6789 vlan 0x89ab m 0xcdef action 8" },
- { 0, "-U devname flow-type tcp4 src-ip 0.123.45.67 src-ip-mask 89.0.123.45 dst-ip 67.89.0.123 dst-ip-mask 45.67.89.0 tos 1 tos-mask 1 src-port 23456 src-port-mask 7890 dst-port 12345 dst-port-mask 6789 vlan 0x89ab vlan-mask 0xcdef action 9" },
- { 0, "--config-ntuple devname flow-type ah4 src-ip 0.123.45.67 m 89.0.123.45 dst-ip 67.89.0.123 m 45.67.89.0 tos 1 m 1 spi 2 m 3 vlan 0x89ab m 0xcdef action 10" },
- { 0, "-U devname flow-type ah4 src-ip 0.123.45.67 src-ip-mask 89.0.123.45 dst-ip 67.89.0.123 dst-ip-mask 45.67.89.0 tos 1 tos-mask 1 spi 2 spi-mask 3 vlan 0x89ab vlan-mask 0xcdef action 11" },
- { 1, "--config-ntuple devname flow-type tcp4 action foo" },
- { 1, "-U devname flow-type foo" },
- { 1, "--config-ntuple devname flow-type" },
- { 1, "-U devname foo" },
- { 1, "-U" },
{ 0, "-P devname" },
{ 0, "--show-permaddr devname" },
{ 1, "-P" },