]> git.proxmox.com Git - mirror_ovs.git/commit - lib/tc.c
lib/tc: only update the stats for non-empty counter
authorwenxu <wenxu@ucloud.cn>
Mon, 29 Jun 2020 09:31:18 +0000 (17:31 +0800)
committerSimon Horman <simon.horman@netronome.com>
Wed, 1 Jul 2020 08:00:15 +0000 (10:00 +0200)
commit0fc38297ba3830631e4a6ad3f9fbbe364e8a3b6b
tree3010c55d2233b923f012dc23b161d4a3cf3cacf2
parent28b3e3ba0db5f10f875679d2a1535e13e4994e0e
lib/tc: only update the stats for non-empty counter

A packet with first frag and execute act_ct action.
The packet will stole by defrag. So the stats counter
for "gact action goto chain" will always 0. The openvswitch
update each action in order. So the flower stats finally
alway be zero. The rule will be delete adter max-idle time
even there are packet executing the action.

ovs-appctl dpctl/dump-flows
recirc_id(0),in_port(1),eth_type(0x0800),ipv4(dst=11.0.0.7,frag=first), packets:0, bytes:0, used:5.390s, actions:ct(zone=1,nat),recirc(0x4)

filter protocol ip pref 2 flower chain 0 handle 0x2
  eth_type ipv4
  dst_ip 1.1.1.1
  ip_flags frag/firstfrag
  skip_hw
  not_in_hw
 action order 1: ct zone 1 nat pipe
  index 2 ref 1 bind 1 installed 11 sec used 1 sec
 Action statistics:
 Sent 15000 bytes 11 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 cookie e04106c2ac41769b278edaa9b5309960

 action order 2: gact action goto chain 1
  random type none pass val 0
  index 2 ref 1 bind 1 installed 11 sec used 11 sec
 Action statistics:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 cookie e04106c2ac41769b278edaa9b5309960

Signed-off-by: wenxu <wenxu@ucloud.cn>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
lib/tc.c