Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: 1) Fix endless loop in nf_tables, from Phil Sutter. 2) Fix cross namespace ip6_gre tunnel hash list corruption, from Olivier Matz. 3) Don't be too strict in phy_start_aneg() otherwise we might not allow restarting auto negotiation. From Heiner Kallweit. 4) Fix various KMSAN uninitialized value cases in tipc, from Ying Xue. 5) Memory leak in act_tunnel_key, from Davide Caratti. 6) Handle chip errata of mv88e6390 PHY, from Andrew Lunn. 7) Remove linear SKB assumption in fou/fou6, from Eric Dumazet. 8) Missing udplite rehash callbacks, from Alexey Kodanev. 9) Log dirty pages properly in vhost, from Jason Wang. 10) Use consume_skb() in neigh_probe() as this is a normal free not a drop, from Yang Wei. Likewise in macvlan_process_broadcast(). 11) Missing device_del() in mdiobus_register() error paths, from Thomas Petazzoni. 12) Fix checksum handling of short packets in mlx5, from Cong Wang. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (96 commits) bpf: in __bpf_redirect_no_mac pull mac only if present virtio_net: bulk free tx skbs net: phy: phy driver features are mandatory isdn: avm: Fix string plus integer warning from Clang net/mlx5e: Fix cb_ident duplicate in indirect block register net/mlx5e: Fix wrong (zero) TX drop counter indication for representor net/mlx5e: Fix wrong error code return on FEC query failure net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames tools: bpftool: Cleanup license mess bpf: fix inner map masking to prevent oob under speculation bpf: pull in pkt_sched.h header for tooling to fix bpftool build selftests: forwarding: Add a test case for externally learned FDB entries selftests: mlxsw: Test FDB offload indication mlxsw: spectrum_switchdev: Do not treat static FDB entries as sticky net: bridge: Mark FDB entries that were added by user as such mlxsw: spectrum_fid: Update dummy FID index mlxsw: pci: Return error on PCI reset timeout mlxsw: pci: Increase PCI SW reset timeout mlxsw: pci: Ring CQ's doorbell before RDQ's MAINTAINERS: update email addresses of liquidio driver maintainers ...
This commit is contained in:
@@ -93,9 +93,16 @@ BFD_SRCS = jit_disasm.c
|
||||
SRCS = $(filter-out $(BFD_SRCS),$(wildcard *.c))
|
||||
|
||||
ifeq ($(feature-libbfd),1)
|
||||
LIBS += -lbfd -ldl -lopcodes
|
||||
else ifeq ($(feature-libbfd-liberty),1)
|
||||
LIBS += -lbfd -ldl -lopcodes -liberty
|
||||
else ifeq ($(feature-libbfd-liberty-z),1)
|
||||
LIBS += -lbfd -ldl -lopcodes -liberty -lz
|
||||
endif
|
||||
|
||||
ifneq ($(filter -lbfd,$(LIBS)),)
|
||||
CFLAGS += -DHAVE_LIBBFD_SUPPORT
|
||||
SRCS += $(BFD_SRCS)
|
||||
LIBS += -lbfd -lopcodes
|
||||
endif
|
||||
|
||||
OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(OUTPUT)disasm.o
|
||||
|
@@ -1,15 +1,10 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
|
||||
/*
|
||||
* Simple streaming JSON writer
|
||||
*
|
||||
* This takes care of the annoying bits of JSON syntax like the commas
|
||||
* after elements
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* Authors: Stephen Hemminger <stephen@networkplumber.org>
|
||||
*/
|
||||
|
||||
|
@@ -5,11 +5,6 @@
|
||||
* This takes care of the annoying bits of JSON syntax like the commas
|
||||
* after elements
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* Authors: Stephen Hemminger <stephen@networkplumber.org>
|
||||
*/
|
||||
|
||||
|
1163
tools/include/uapi/linux/pkt_sched.h
Normal file
1163
tools/include/uapi/linux/pkt_sched.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -65,6 +65,17 @@ static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,
|
||||
return syscall(__NR_bpf, cmd, attr, size);
|
||||
}
|
||||
|
||||
static inline int sys_bpf_prog_load(union bpf_attr *attr, unsigned int size)
|
||||
{
|
||||
int fd;
|
||||
|
||||
do {
|
||||
fd = sys_bpf(BPF_PROG_LOAD, attr, size);
|
||||
} while (fd < 0 && errno == EAGAIN);
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
int bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr)
|
||||
{
|
||||
__u32 name_len = create_attr->name ? strlen(create_attr->name) : 0;
|
||||
@@ -232,7 +243,7 @@ int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr,
|
||||
memcpy(attr.prog_name, load_attr->name,
|
||||
min(name_len, BPF_OBJ_NAME_LEN - 1));
|
||||
|
||||
fd = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
|
||||
fd = sys_bpf_prog_load(&attr, sizeof(attr));
|
||||
if (fd >= 0)
|
||||
return fd;
|
||||
|
||||
@@ -269,7 +280,7 @@ int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr,
|
||||
break;
|
||||
}
|
||||
|
||||
fd = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
|
||||
fd = sys_bpf_prog_load(&attr, sizeof(attr));
|
||||
|
||||
if (fd >= 0)
|
||||
goto done;
|
||||
@@ -283,7 +294,7 @@ int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr,
|
||||
attr.log_size = log_buf_sz;
|
||||
attr.log_level = 1;
|
||||
log_buf[0] = 0;
|
||||
fd = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
|
||||
fd = sys_bpf_prog_load(&attr, sizeof(attr));
|
||||
done:
|
||||
free(finfo);
|
||||
free(linfo);
|
||||
@@ -328,7 +339,7 @@ int bpf_verify_program(enum bpf_prog_type type, const struct bpf_insn *insns,
|
||||
attr.kern_version = kern_version;
|
||||
attr.prog_flags = prog_flags;
|
||||
|
||||
return sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
|
||||
return sys_bpf_prog_load(&attr, sizeof(attr));
|
||||
}
|
||||
|
||||
int bpf_map_update_elem(int fd, const void *key, const void *value,
|
||||
|
@@ -56,6 +56,7 @@ TEST_PROGS := test_kmod.sh \
|
||||
test_xdp_vlan.sh
|
||||
|
||||
TEST_PROGS_EXTENDED := with_addr.sh \
|
||||
with_tunnels.sh \
|
||||
tcp_client.py \
|
||||
tcp_server.py
|
||||
|
||||
|
@@ -1188,7 +1188,9 @@ static void test_stacktrace_build_id(void)
|
||||
int i, j;
|
||||
struct bpf_stack_build_id id_offs[PERF_MAX_STACK_DEPTH];
|
||||
int build_id_matches = 0;
|
||||
int retry = 1;
|
||||
|
||||
retry:
|
||||
err = bpf_prog_load(file, BPF_PROG_TYPE_TRACEPOINT, &obj, &prog_fd);
|
||||
if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno))
|
||||
goto out;
|
||||
@@ -1301,6 +1303,19 @@ static void test_stacktrace_build_id(void)
|
||||
previous_key = key;
|
||||
} while (bpf_map_get_next_key(stackmap_fd, &previous_key, &key) == 0);
|
||||
|
||||
/* stack_map_get_build_id_offset() is racy and sometimes can return
|
||||
* BPF_STACK_BUILD_ID_IP instead of BPF_STACK_BUILD_ID_VALID;
|
||||
* try it one more time.
|
||||
*/
|
||||
if (build_id_matches < 1 && retry--) {
|
||||
ioctl(pmu_fd, PERF_EVENT_IOC_DISABLE);
|
||||
close(pmu_fd);
|
||||
bpf_object__close(obj);
|
||||
printf("%s:WARN:Didn't find expected build ID from the map, retrying\n",
|
||||
__func__);
|
||||
goto retry;
|
||||
}
|
||||
|
||||
if (CHECK(build_id_matches < 1, "build id match",
|
||||
"Didn't find expected build ID from the map\n"))
|
||||
goto disable_pmu;
|
||||
@@ -1341,7 +1356,9 @@ static void test_stacktrace_build_id_nmi(void)
|
||||
int i, j;
|
||||
struct bpf_stack_build_id id_offs[PERF_MAX_STACK_DEPTH];
|
||||
int build_id_matches = 0;
|
||||
int retry = 1;
|
||||
|
||||
retry:
|
||||
err = bpf_prog_load(file, BPF_PROG_TYPE_PERF_EVENT, &obj, &prog_fd);
|
||||
if (CHECK(err, "prog_load", "err %d errno %d\n", err, errno))
|
||||
return;
|
||||
@@ -1436,6 +1453,19 @@ static void test_stacktrace_build_id_nmi(void)
|
||||
previous_key = key;
|
||||
} while (bpf_map_get_next_key(stackmap_fd, &previous_key, &key) == 0);
|
||||
|
||||
/* stack_map_get_build_id_offset() is racy and sometimes can return
|
||||
* BPF_STACK_BUILD_ID_IP instead of BPF_STACK_BUILD_ID_VALID;
|
||||
* try it one more time.
|
||||
*/
|
||||
if (build_id_matches < 1 && retry--) {
|
||||
ioctl(pmu_fd, PERF_EVENT_IOC_DISABLE);
|
||||
close(pmu_fd);
|
||||
bpf_object__close(obj);
|
||||
printf("%s:WARN:Didn't find expected build ID from the map, retrying\n",
|
||||
__func__);
|
||||
goto retry;
|
||||
}
|
||||
|
||||
if (CHECK(build_id_matches < 1, "build id match",
|
||||
"Didn't find expected build ID from the map\n"))
|
||||
goto disable_pmu;
|
||||
|
@@ -25,6 +25,7 @@ ALL_TESTS="
|
||||
lag_unlink_slaves_test
|
||||
lag_dev_deletion_test
|
||||
vlan_interface_uppers_test
|
||||
bridge_extern_learn_test
|
||||
devlink_reload_test
|
||||
"
|
||||
NUM_NETIFS=2
|
||||
@@ -541,6 +542,25 @@ vlan_interface_uppers_test()
|
||||
ip link del dev br0
|
||||
}
|
||||
|
||||
bridge_extern_learn_test()
|
||||
{
|
||||
# Test that externally learned entries added from user space are
|
||||
# marked as offloaded
|
||||
RET=0
|
||||
|
||||
ip link add name br0 type bridge
|
||||
ip link set dev $swp1 master br0
|
||||
|
||||
bridge fdb add de:ad:be:ef:13:37 dev $swp1 master extern_learn
|
||||
|
||||
bridge fdb show brport $swp1 | grep de:ad:be:ef:13:37 | grep -q offload
|
||||
check_err $? "fdb entry not marked as offloaded when should"
|
||||
|
||||
log_test "externally learned fdb entry"
|
||||
|
||||
ip link del dev br0
|
||||
}
|
||||
|
||||
devlink_reload_test()
|
||||
{
|
||||
# Test that after executing all the above configuration tests, a
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
ALL_TESTS="ping_ipv4 ping_ipv6 learning flooding vlan_deletion"
|
||||
ALL_TESTS="ping_ipv4 ping_ipv6 learning flooding vlan_deletion extern_learn"
|
||||
NUM_NETIFS=4
|
||||
CHECK_TC="yes"
|
||||
source lib.sh
|
||||
@@ -109,6 +109,38 @@ vlan_deletion()
|
||||
ping_ipv6
|
||||
}
|
||||
|
||||
extern_learn()
|
||||
{
|
||||
local mac=de:ad:be:ef:13:37
|
||||
local ageing_time
|
||||
|
||||
# Test that externally learned FDB entries can roam, but not age out
|
||||
RET=0
|
||||
|
||||
bridge fdb add de:ad:be:ef:13:37 dev $swp1 master extern_learn vlan 1
|
||||
|
||||
bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37
|
||||
check_err $? "Did not find FDB entry when should"
|
||||
|
||||
# Wait for 10 seconds after the ageing time to make sure the FDB entry
|
||||
# was not aged out
|
||||
ageing_time=$(bridge_ageing_time_get br0)
|
||||
sleep $((ageing_time + 10))
|
||||
|
||||
bridge fdb show brport $swp1 | grep -q de:ad:be:ef:13:37
|
||||
check_err $? "FDB entry was aged out when should not"
|
||||
|
||||
$MZ $h2 -c 1 -p 64 -a $mac -t ip -q
|
||||
|
||||
bridge fdb show brport $swp2 | grep -q de:ad:be:ef:13:37
|
||||
check_err $? "FDB entry did not roam when should"
|
||||
|
||||
log_test "Externally learned FDB entry - ageing & roaming"
|
||||
|
||||
bridge fdb del de:ad:be:ef:13:37 dev $swp2 master vlan 1 &> /dev/null
|
||||
bridge fdb del de:ad:be:ef:13:37 dev $swp1 master vlan 1 &> /dev/null
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
setup_prepare
|
||||
|
@@ -240,7 +240,7 @@ static void __recv_errmsg_cmsg(struct msghdr *msg, int payload_len)
|
||||
cm->cmsg_type == IP_RECVERR) ||
|
||||
(cm->cmsg_level == SOL_IPV6 &&
|
||||
cm->cmsg_type == IPV6_RECVERR) ||
|
||||
(cm->cmsg_level = SOL_PACKET &&
|
||||
(cm->cmsg_level == SOL_PACKET &&
|
||||
cm->cmsg_type == PACKET_TX_TIMESTAMP)) {
|
||||
serr = (void *) CMSG_DATA(cm);
|
||||
if (serr->ee_errno != ENOMSG ||
|
||||
|
@@ -17,7 +17,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow mark pass index 2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*allow mark.*index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*allow mark.*index 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -41,7 +41,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 10 pipe index 2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*use mark.*index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*use mark.*index 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -65,7 +65,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow mark continue index 2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0xED3E.*allow mark.*index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0[xX]ED3E.*allow mark.*index 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -89,7 +89,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 789 drop index 2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action drop.*type 0xED3E.*use mark 789.*index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action drop.*type 0[xX]ED3E.*use mark 789.*index 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -113,7 +113,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 656768 reclassify index 2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xED3E.*use mark 656768.*index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ED3E.*use mark 656768.*index 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -137,7 +137,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 65 jump 1 index 2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action jump 1.*type 0xED3E.*use mark 65.*index 2",
|
||||
"matchPattern": "action order [0-9]*: ife encode action jump 1.*type 0[xX]ED3E.*use mark 65.*index 2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -161,7 +161,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 4294967295 reclassify index 90",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 90",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xED3E.*use mark 4294967295.*index 90",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ED3E.*use mark 4294967295.*index 90",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -185,7 +185,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 4294967295999 pipe index 90",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 90",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*use mark 4294967295999.*index 90",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*use mark 4294967295999.*index 90",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
@@ -207,7 +207,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow prio pass index 9",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*allow prio.*index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*allow prio.*index 9",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -231,7 +231,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 7 pipe index 9",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*use prio 7.*index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*use prio 7.*index 9",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -255,7 +255,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 3 continue index 9",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0xED3E.*use prio 3.*index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0[xX]ED3E.*use prio 3.*index 9",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -279,7 +279,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow prio drop index 9",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action drop.*type 0xED3E.*allow prio.*index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action drop.*type 0[xX]ED3E.*allow prio.*index 9",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -303,7 +303,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 998877 reclassify index 9",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xED3E.*use prio 998877.*index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ED3E.*use prio 998877.*index 9",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -327,7 +327,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 998877 jump 10 index 9",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action jump 10.*type 0xED3E.*use prio 998877.*index 9",
|
||||
"matchPattern": "action order [0-9]*: ife encode action jump 10.*type 0[xX]ED3E.*use prio 998877.*index 9",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -351,7 +351,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 4294967295 reclassify index 99",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 99",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xED3E.*use prio 4294967295.*index 99",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ED3E.*use prio 4294967295.*index 99",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -375,7 +375,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 4294967298 pipe index 99",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 99",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*use prio 4294967298.*index 99",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*use prio 4294967298.*index 99",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
@@ -397,7 +397,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow tcindex pass index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*allow tcindex.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*allow tcindex.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -421,7 +421,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use tcindex 111 pipe index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*use tcindex 111.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*use tcindex 111.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -445,7 +445,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use tcindex 1 continue index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0xED3E.*use tcindex 1.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0[xX]ED3E.*use tcindex 1.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -469,7 +469,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use tcindex 1 continue index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0xED3E.*use tcindex 1.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action continue.*type 0[xX]ED3E.*use tcindex 1.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -493,7 +493,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow tcindex drop index 77",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 77",
|
||||
"matchPattern": "action order [0-9]*: ife encode action drop.*type 0xED3E.*allow tcindex.*index 77",
|
||||
"matchPattern": "action order [0-9]*: ife encode action drop.*type 0[xX]ED3E.*allow tcindex.*index 77",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -517,7 +517,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow tcindex reclassify index 77",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 77",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xED3E.*allow tcindex.*index 77",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ED3E.*allow tcindex.*index 77",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -541,7 +541,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow tcindex jump 999 index 77",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 77",
|
||||
"matchPattern": "action order [0-9]*: ife encode action jump 999.*type 0xED3E.*allow tcindex.*index 77",
|
||||
"matchPattern": "action order [0-9]*: ife encode action jump 999.*type 0[xX]ED3E.*allow tcindex.*index 77",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -565,7 +565,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use tcindex 65535 pass index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*use tcindex 65535.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*use tcindex 65535.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -589,7 +589,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use tcindex 65539 pipe index 1",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*use tcindex 65539.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*use tcindex 65539.*index 1",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
@@ -611,7 +611,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow mark src 00:11:22:33:44:55 pipe index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*allow mark src 00:11:22:33:44:55.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*allow mark src 00:11:22:33:44:55.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -635,7 +635,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 9876 dst 00:11:22:33:44:55 reclassify index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xED3E.*use prio 9876 dst 00:11:22:33:44:55.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ED3E.*use prio 9876 dst 00:11:22:33:44:55.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -659,7 +659,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow tcindex src 00:aa:bb:cc:dd:ee dst 00:11:22:33:44:55 pass index 11",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 11",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*allow tcindex dst 00:11:22:33:44:55 src 00:aa:bb:cc:dd:ee .*index 11",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*allow tcindex dst 00:11:22:33:44:55 src 00:aa:bb:cc:dd:ee .*index 11",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -683,7 +683,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use mark 7 type 0xfefe pass index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xFEFE.*use mark 7.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]FEFE.*use mark 7.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -707,7 +707,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use prio 444 type 0xabba pipe index 21",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 21",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xABBA.*use prio 444.*index 21",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ABBA.*use prio 444.*index 21",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -731,7 +731,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode use tcindex 5000 type 0xabcd reclassify index 21",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 21",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0xABCD.*use tcindex 5000.*index 21",
|
||||
"matchPattern": "action order [0-9]*: ife encode action reclassify.*type 0[xX]ABCD.*use tcindex 5000.*index 21",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -739,7 +739,7 @@
|
||||
},
|
||||
{
|
||||
"id": "fac3",
|
||||
"name": "Create valid ife encode action with index at 32-bit maximnum",
|
||||
"name": "Create valid ife encode action with index at 32-bit maximum",
|
||||
"category": [
|
||||
"actions",
|
||||
"ife"
|
||||
@@ -755,7 +755,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow mark pass index 4294967295",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 4294967295",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*allow mark.*index 4294967295",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*allow mark.*index 4294967295",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -779,7 +779,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife decode pass index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action pass.*type 0x0.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action pass.*type 0(x0)?.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -803,7 +803,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife decode pipe index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action pipe.*type 0x0.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action pipe.*type 0(x0)?.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -827,7 +827,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife decode continue index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action continue.*type 0x0.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action continue.*type 0(x0)?.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -851,7 +851,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife decode drop index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action drop.*type 0x0.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action drop.*type 0(x0)?.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -875,7 +875,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife decode reclassify index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action reclassify.*type 0x0.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action reclassify.*type 0(x0)?.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -899,7 +899,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife decode jump 10 index 1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action jump 10.*type 0x0.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchPattern": "action order [0-9]*: ife decode action jump 10.*type 0(x0)?.*allow mark allow tcindex allow prio.*index 1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -923,7 +923,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow mark pass index 4294967295999",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 4294967295999",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0xED3E.*allow mark.*index 4294967295999",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pass.*type 0[xX]ED3E.*allow mark.*index 4294967295999",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
@@ -945,7 +945,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow mark kuka index 4",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action kuka.*type 0xED3E.*allow mark.*index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action kuka.*type 0[xX]ED3E.*allow mark.*index 4",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
@@ -967,7 +967,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow prio pipe index 4 cookie aabbccddeeff112233445566778800a1",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action ife index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*allow prio.*index 4.*cookie aabbccddeeff112233445566778800a1",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*allow prio.*index 4.*cookie aabbccddeeff112233445566778800a1",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action ife"
|
||||
@@ -991,7 +991,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow foo pipe index 4",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0xED3E.*allow foo.*index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]ED3E.*allow foo.*index 4",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
@@ -1013,7 +1013,7 @@
|
||||
"cmdUnderTest": "$TC actions add action ife encode allow prio type 70000 pipe index 4",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions get action ife index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0x11170.*allow prio.*index 4",
|
||||
"matchPattern": "action order [0-9]*: ife encode action pipe.*type 0[xX]11170.*allow prio.*index 4",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
},
|
||||
|
@@ -81,35 +81,6 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ba4e",
|
||||
"name": "Add tunnel_key set action with missing mandatory id parameter",
|
||||
"category": [
|
||||
"actions",
|
||||
"tunnel_key"
|
||||
],
|
||||
"setup": [
|
||||
[
|
||||
"$TC actions flush action tunnel_key",
|
||||
0,
|
||||
1,
|
||||
255
|
||||
]
|
||||
],
|
||||
"cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2",
|
||||
"expExitCode": "255",
|
||||
"verifyCmd": "$TC actions list action tunnel_key",
|
||||
"matchPattern": "action order [0-9]+: tunnel_key set.*src_ip 10.10.10.1.*dst_ip 20.20.20.2",
|
||||
"matchCount": "0",
|
||||
"teardown": [
|
||||
[
|
||||
"$TC actions flush action tunnel_key",
|
||||
0,
|
||||
1,
|
||||
255
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "a5e0",
|
||||
"name": "Add tunnel_key set action with invalid src_ip parameter",
|
||||
@@ -634,7 +605,7 @@
|
||||
"cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 10.10.10.2 id 7 index 4 cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions get action tunnel_key index 4",
|
||||
"matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 10.10.10.2.*key_id 7.*dst_port 0.*csum pipe.*index 4 ref.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
|
||||
"matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 10.10.10.2.*key_id 7.*csum pipe.*index 4 ref.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
|
||||
"matchCount": "1",
|
||||
"teardown": [
|
||||
"$TC actions flush action tunnel_key"
|
||||
|
Reference in New Issue
Block a user