"handle": 0
}
},
- {
- "set": {
- "family": "ip6",
- "name": "acct_out",
- "table": "test",
- "type": [
- "iface_index",
- "ipv6_addr"
- ],
- "handle": 0,
- "size": 4096,
- "flags": [
- "timeout",
- "dynamic"
- ]
- }
- },
- {
- "set": {
- "family": "ip6",
- "name": "acct_out2",
- "table": "test",
- "type": [
- "ipv6_addr",
- "iface_index"
- ],
- "handle": 0,
- "size": 12345,
- "flags": [
- "timeout",
- "dynamic"
- ]
- }
- },
{
"rule": {
"family": "ip6",
"handle": 0,
"expr": [
{
- "set": {
- "op": "update",
- "elem": {
+ "meter": {
+ "key": {
"elem": {
"val": {
"concat": [
"timeout": 600
}
},
- "set": "@acct_out",
- "stmt": [
- {
- "counter": null
- }
- ]
+ "stmt": {
+ "counter": null
+ },
+ "size": 4096,
+ "name": "acct_out"
}
}
]
"handle": 0,
"expr": [
{
- "set": {
- "op": "update",
- "elem": {
+ "meter": {
+ "key": {
"elem": {
"val": {
"concat": [
"timeout": 600
}
},
- "set": "@acct_out2",
- "stmt": [
- {
- "counter": null
- }
- ]
+ "stmt": {
+ "counter": null
+ },
+ "size": 12345,
+ "name": "acct_out2"
}
}
]
"handle": 0
}
},
- {
- "set": {
- "family": "ip",
- "name": "xyz",
- "table": "test",
- "type": "ipv4_addr",
- "handle": 0,
- "size": 8192,
- "flags": [
- "timeout",
- "dynamic"
- ]
- }
- },
{
"rule": {
"family": "ip",
"handle": 0,
"expr": [
{
- "set": {
- "op": "update",
- "elem": {
+ "meter": {
+ "key": {
"elem": {
"val": {
"payload": {
"timeout": 30
}
},
- "set": "@xyz",
- "stmt": [
- {
- "counter": null
- }
- ]
+ "stmt": {
+ "counter": null
+ },
+ "size": 8192,
+ "name": "xyz"
}
}
]
table ip6 test {
- set acct_out {
- type iface_index . ipv6_addr
- size 4096
- flags dynamic,timeout
- }
-
- set acct_out2 {
- type ipv6_addr . iface_index
- size 12345
- flags dynamic,timeout
- }
-
chain test {
- update @acct_out { iif . ip6 saddr timeout 10m counter }
- update @acct_out2 { ip6 saddr . iif timeout 10m counter }
+ meter acct_out size 4096 { iif . ip6 saddr timeout 10m counter }
+ meter acct_out2 size 12345 { ip6 saddr . iif timeout 10m counter }
}
}
table ip test {
- set xyz {
- type ipv4_addr
- size 8192
- flags dynamic,timeout
- }
-
chain test {
- update @xyz { ip saddr timeout 30s counter }
+ meter xyz size 8192 { ip saddr timeout 30s counter }
}
}