mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-12 09:32:44 +00:00
openvswitch: Fix tracking of flags seen in TCP flows.
Flow statistics need to take into account the TCP flags from the packet
currently being processed (in 'key'), not the TCP flags matched by the
flow found in the kernel flow table (in 'flow').
This bug made the Open vSwitch userspace fin_timeout action have no effect
in many cases.
This bug is introduced by commit 88d73f6c41
(openvswitch: Use
TCP flags in the flow key for stats.)
Reported-by: Len Gao <leng@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
This commit is contained in:
parent
e0bb8c44ed
commit
ad55200734
3 changed files with 7 additions and 6 deletions
|
@ -61,10 +61,10 @@ u64 ovs_flow_used_time(unsigned long flow_jiffies)
|
|||
|
||||
#define TCP_FLAGS_BE16(tp) (*(__be16 *)&tcp_flag_word(tp) & htons(0x0FFF))
|
||||
|
||||
void ovs_flow_stats_update(struct sw_flow *flow, struct sk_buff *skb)
|
||||
void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
struct flow_stats *stats;
|
||||
__be16 tcp_flags = flow->key.tp.flags;
|
||||
int node = numa_node_id();
|
||||
|
||||
stats = rcu_dereference(flow->stats[node]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue