@@ -2,4 +2,4 @@
*ip;test-ip;input
-meter xyz size 8192 { ip saddr timeout 30s counter};ok
+meter xyz size 8192 { ip saddr timeout 30s counter};ok;update @xyz { ip saddr timeout 30s counter}
deleted file mode 100644
@@ -1,24 +0,0 @@
-# meter xyz size 8192 { ip saddr timeout 30s counter}
-[
- {
- "meter": {
- "key": {
- "elem": {
- "timeout": 30,
- "val": {
- "payload": {
- "field": "saddr",
- "protocol": "ip"
- }
- }
- }
- },
- "name": "xyz",
- "size": 8192,
- "stmt": {
- "counter": null
- }
- }
- }
-]
-
@@ -1,7 +1,5 @@
# meter xyz size 8192 { ip saddr timeout 30s counter}
-xyz test-ip 31
-xyz test-ip 0
-ip test-ip input
+xyz test-ip 30 size 8192
+ip test-ip input
[ payload load 4b @ network header + 12 => reg 1 ]
[ dynset update reg_key 1 set xyz timeout 30000ms expr [ counter pkts 0 bytes 0 ] ]
-
@@ -2,5 +2,5 @@
*ip6;test-ip6;input
-meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter };ok;meter acct_out size 4096 { iif . ip6 saddr timeout 10m counter }
-meter acct_out size 12345 { ip6 saddr . meta iif timeout 600s counter };ok;meter acct_out size 12345 { ip6 saddr . iif timeout 10m counter }
+meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter };ok;update @acct_out { iif . ip6 saddr timeout 10m counter }
+meter acct_out2 size 12345 { ip6 saddr . meta iif timeout 600s counter };ok;update @acct_out2 { ip6 saddr . iif timeout 10m counter }
deleted file mode 100644
@@ -1,62 +0,0 @@
-# meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter }
-[
- {
- "meter": {
- "key": {
- "elem": {
- "timeout": 600,
- "val": {
- "concat": [
- {
- "meta": { "key": "iif" }
- },
- {
- "payload": {
- "field": "saddr",
- "protocol": "ip6"
- }
- }
- ]
- }
- }
- },
- "name": "acct_out",
- "size": 4096,
- "stmt": {
- "counter": null
- }
- }
- }
-]
-
-# meter acct_out size 12345 { ip6 saddr . meta iif timeout 600s counter }
-[
- {
- "meter": {
- "key": {
- "elem": {
- "timeout": 600,
- "val": {
- "concat": [
- {
- "payload": {
- "field": "saddr",
- "protocol": "ip6"
- }
- },
- {
- "meta": { "key": "iif" }
- }
- ]
- }
- }
- },
- "name": "acct_out",
- "size": 12345,
- "stmt": {
- "counter": null
- }
- }
- }
-]
-
deleted file mode 100644
@@ -1,62 +0,0 @@
-# meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter }
-[
- {
- "meter": {
- "key": {
- "elem": {
- "timeout": 600,
- "val": {
- "concat": [
- {
- "meta": { "key": "iif" }
- },
- {
- "payload": {
- "field": "saddr",
- "protocol": "ip6"
- }
- }
- ]
- }
- }
- },
- "name": "acct_out",
- "size": 4096,
- "stmt": {
- "counter": null
- }
- }
- }
-]
-
-# meter acct_out size 12345 { ip6 saddr . meta iif timeout 600s counter }
-[
- {
- "meter": {
- "key": {
- "elem": {
- "timeout": 600,
- "val": {
- "concat": [
- {
- "payload": {
- "field": "saddr",
- "protocol": "ip6"
- }
- },
- {
- "meta": { "key": "iif" }
- }
- ]
- }
- }
- },
- "name": "acct_out",
- "size": 12345,
- "stmt": {
- "counter": null
- }
- }
- }
-]
-
@@ -1,16 +1,14 @@
# meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter }
-acct_out test-ip6 31
acct_out test-ip6 0
ip6 test-ip6 input
[ meta load iif => reg 1 ]
[ payload load 16b @ network header + 8 => reg 9 ]
[ dynset update reg_key 1 set acct_out timeout 600000ms expr [ counter pkts 0 bytes 0 ] ]
-# meter acct_out size 12345 { ip6 saddr . meta iif timeout 600s counter }
-acct_out test-ip6 31
+# meter acct_out2 size 12345 { ip6 saddr . meta iif timeout 600s counter }
acct_out test-ip6 0
ip6 test-ip6 input
[ payload load 16b @ network header + 8 => reg 1 ]
[ meta load iif => reg 2 ]
- [ dynset update reg_key 1 set acct_out timeout 600000ms expr [ counter pkts 0 bytes 0 ] ]
+ [ dynset update reg_key 1 set acct_out2 timeout 600000ms expr [ counter pkts 0 bytes 0 ] ]
ip(6)/flowtable.t tests fail both for normal and json mode. WARNING: line 3: 'add rule ip test-ip input meter xyz size 8192 { ip saddr timeout 30s counter}': 'ip test-ip input' mismatches '[ payload load 4b @ network header + 12 => reg 1 ]' ip/lowtable.t.payload.got: WARNING: line 2: Wrote payload for rule meter xyz size 8192 { ip saddr timeout 30s counter} ip/flowtable.t: WARNING: line 5: 'add rule ip test-ip input meter xyz size 8192 { ip saddr timeout 30s counter}': 'meter xyz size 8192 { ip saddr timeout 30s counter}' mismatches 'update @xyz { ip saddr timeout 30s counter}' WARNING: line 3: 'add rule ip6 test-ip6 input meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter }': 'ip6 test-ip6 input' mismatches '[ meta load iif => reg 1 ]' ip6/flowtable.t.payload.got: WARNING: line 2: Wrote payload for rule meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter } ip6/flowtable.t: WARNING: line 5: 'add rule ip6 test-ip6 input meter acct_out size 4096 { meta iif . ip6 saddr timeout 600s counter }': 'meter acct_out size 4096 { iif . ip6 saddr timeout 10m counter }' mismatches 'update @acct_out { iif . ip6 saddr timeout 10m counter}' ip6/flowtable.t: ERROR: line 6: add rule ip6 test-ip6 input meter acct_out size 12345 { ip6 saddr . meta iif timeout 600s counter }: This rule should not have failed. ip6/flowtable.t: 2 unit tests, 2 error, 1 warning Fix at least the non-json mode, I do not know how to fix up -j or wheter the failure is actually correct. Signed-off-by: Florian Westphal <fw@strlen.de> --- tests/py/ip/flowtable.t | 2 +- tests/py/ip/flowtable.t.json | 24 ----------- tests/py/ip/flowtable.t.payload | 6 +-- tests/py/ip6/flowtable.t | 4 +- tests/py/ip6/flowtable.t.json | 62 ---------------------------- tests/py/ip6/flowtable.t.json.output | 62 ---------------------------- tests/py/ip6/flowtable.t.payload | 6 +-- 7 files changed, 7 insertions(+), 159 deletions(-) delete mode 100644 tests/py/ip/flowtable.t.json delete mode 100644 tests/py/ip6/flowtable.t.json delete mode 100644 tests/py/ip6/flowtable.t.json.output