Include new consumed field for quota, and check for csum_flags in payload.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
# quota 1025 bytes
ip test-ip4 output
- [ quota bytes 1025 flags 0 ]
+ [ quota bytes 1025 consumed 0 flags 0 ]
# quota 1 kbytes
ip test-ip4 output
- [ quota bytes 1024 flags 0 ]
+ [ quota bytes 1024 consumed 0 flags 0 ]
# quota 2 kbytes
ip test-ip4 output
- [ quota bytes 2048 flags 0 ]
+ [ quota bytes 2048 consumed 0 flags 0 ]
# quota 1025 kbytes
ip test-ip4 output
- [ quota bytes 1049600 flags 0 ]
+ [ quota bytes 1049600 consumed 0 flags 0 ]
# quota 1023 mbytes
ip test-ip4 output
- [ quota bytes 1072693248 flags 0 ]
+ [ quota bytes 1072693248 consumed 0 flags 0 ]
# quota 10230 mbytes
ip test-ip4 output
- [ quota bytes 10726932480 flags 0 ]
+ [ quota bytes 10726932480 consumed 0 flags 0 ]
# quota 1023000 mbytes
ip test-ip4 output
- [ quota bytes 1072693248000 flags 0 ]
+ [ quota bytes 1072693248000 consumed 0 flags 0 ]
# quota over 1 kbytes
ip test-ip4 output
- [ quota bytes 1024 flags 1 ]
+ [ quota bytes 1024 consumed 0 flags 1 ]
# quota over 2 kbytes
ip test-ip4 output
- [ quota bytes 2048 flags 1 ]
+ [ quota bytes 2048 consumed 0 flags 1 ]
# quota over 1025 kbytes
ip test-ip4 output
- [ quota bytes 1049600 flags 1 ]
+ [ quota bytes 1049600 consumed 0 flags 1 ]
# quota over 1023 mbytes
ip test-ip4 output
- [ quota bytes 1072693248 flags 1 ]
+ [ quota bytes 1072693248 consumed 0 flags 1 ]
# quota over 10230 mbytes
ip test-ip4 output
- [ quota bytes 10726932480 flags 1 ]
+ [ quota bytes 10726932480 consumed 0 flags 1 ]
# quota over 1023000 mbytes
ip test-ip4 output
- [ quota bytes 1072693248000 flags 1 ]
+ [ quota bytes 1072693248000 consumed 0 flags 1 ]
[ payload load 6b @ link header + 0 => reg 1 ]
[ cmp eq reg 1 0x03020100 0x00000504 ]
[ immediate reg 1 0xbadcfeff 0x00007698 ]
- [ payload write reg 1 => 6b @ link header + 6 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 6b @ link header + 6 csum_type 0 csum_off 0 csum_flags 0x0 ]
[ immediate reg 0 drop ]
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 csum_flags 0x0 ]
# iif "lo" udp dport set 65535
inet test-inet input
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x0000ffff ]
- [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 csum_flags 0x0 ]
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 csum_flags 0x0 ]
# iif "lo" udp dport set 65535
ip test-ip4 input
[ payload load 1b @ network header + 9 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x0000ffff ]
- [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 csum_flags 0x0 ]
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 csum_flags 0x0 ]
# iif "lo" udp dport set 65535
ip test-ip4 input
[ payload load 1b @ network header + 6 => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x0000ffff ]
- [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 csum_flags 0x0 ]
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 csum_flags 0x0 ]
# iif "lo" udp dport set 65535
netdev test-netdev ingress
[ meta load l4proto => reg 1 ]
[ cmp eq reg 1 0x00000011 ]
[ immediate reg 1 0x0000ffff ]
- [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ]
+ [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 csum_flags 0x0 ]
[ meta load iif => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ immediate reg 1 0x0100007f ]
- [ payload write reg 1 => 4b @ network header + 16 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 4b @ network header + 16 csum_type 1 csum_off 10 csum_flags 0x1 ]
# iif "lo" ip checksum set 0
ip test-ip4 input
[ meta load iif => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 10 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 10 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip id set 0
ip test-ip4 input
[ meta load iif => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 4 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 4 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip ecn set 1
ip test-ip4 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000fcff ) ^ 0x00000100 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip ecn set ce
ip test-ip4 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000fcff ) ^ 0x00000300 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip dscp set af23
ip test-ip4 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000003ff ) ^ 0x00005800 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip dscp set cs0
ip test-ip4 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000003ff ) ^ 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ immediate reg 1 0x0100007f ]
- [ payload write reg 1 => 4b @ network header + 16 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 4b @ network header + 16 csum_type 1 csum_off 10 csum_flags 0x1 ]
# iif "lo" ip checksum set 0
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 10 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 10 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip id set 0
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x00000002 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 4 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 4 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip ecn set 1
inet test-inet input
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000fcff ) ^ 0x00000100 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip ecn set ce
inet test-netdev ingress
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000fcff ) ^ 0x00000300 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip dscp set af23
inet test-inet input
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000003ff ) ^ 0x00005800 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip dscp set cs0
inet test-inet input
[ cmp eq reg 1 0x00000002 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000003ff ) ^ 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ immediate reg 1 0x0100007f ]
- [ payload write reg 1 => 4b @ network header + 16 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 4b @ network header + 16 csum_type 1 csum_off 10 csum_flags 0x1 ]
# iif "lo" ip checksum set 0
netdev test-netdev ingress
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 10 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 10 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip id set 0
netdev test-netdev ingress
[ meta load protocol => reg 1 ]
[ cmp eq reg 1 0x00000008 ]
[ immediate reg 1 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 4 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 4 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip ecn set 1
netdev test-netdev ingress
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000fcff ) ^ 0x00000100 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip ecn set ce
netdev test-netdev ingress
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x0000fcff ) ^ 0x00000300 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip dscp set af23
netdev test-netdev ingress
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000003ff ) ^ 0x00005800 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
# iif "lo" ip dscp set cs0
netdev test-netdev ingress
[ cmp eq reg 1 0x00000008 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000003ff ) ^ 0x00000000 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 1 csum_off 10 csum_flags 0x0 ]
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ immediate reg 1 0x00000000 0x00000000 0x00000000 0x01000000 ]
- [ payload write reg 1 => 16b @ network header + 24 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 16b @ network header + 24 csum_type 0 csum_off 0 csum_flags 0x1 ]
# iif "lo" ip6 hoplimit set 1
inet test-inet input
[ meta load nfproto => reg 1 ]
[ cmp eq reg 1 0x0000000a ]
[ immediate reg 1 0x00000001 ]
- [ payload write reg 1 => 1b @ network header + 7 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 1b @ network header + 7 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 dscp set af42
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00003ff0 ) ^ 0x00000009 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 dscp set 63
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00003ff0 ) ^ 0x0000c00f ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 ecn set ect0
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 1b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000cf ) ^ 0x00000020 ]
- [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 ecn set ce
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 1b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000cf ) ^ 0x00000030 ]
- [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 flowlabel set 0
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 3b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
- [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 flowlabel set 12345
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 3b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00393000 ]
- [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 flowlabel set 0xfffff
inet test-inet input
[ cmp eq reg 1 0x0000000a ]
[ payload load 3b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00ffff0f ]
- [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
[ meta load iif => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ immediate reg 1 0x00000000 0x00000000 0x00000000 0x01000000 ]
- [ payload write reg 1 => 16b @ network header + 24 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 16b @ network header + 24 csum_type 0 csum_off 0 csum_flags 0x1 ]
# iif "lo" ip6 hoplimit set 1
ip6 test-ip6 input
[ meta load iif => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
[ immediate reg 1 0x00000001 ]
- [ payload write reg 1 => 1b @ network header + 7 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 1b @ network header + 7 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 dscp set af42
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00003ff0 ) ^ 0x00000009 ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 dscp set 63
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 2b @ network header + 0 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00003ff0 ) ^ 0x0000c00f ]
- [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 2b @ network header + 0 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 ecn set ect0
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 1b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000cf ) ^ 0x00000020 ]
- [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 ecn set ce
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 1b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000cf ) ^ 0x00000030 ]
- [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 1b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 flowlabel set 0
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 3b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
- [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 flowlabel set 12345
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 3b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00393000 ]
- [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]
# iif "lo" ip6 flowlabel set 0xfffff
ip6 test-ip6 input
[ cmp eq reg 1 0x00000001 ]
[ payload load 3b @ network header + 1 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00ffff0f ]
- [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 ]
+ [ payload write reg 1 => 3b @ network header + 1 csum_type 0 csum_off 0 csum_flags 0x0 ]