[ovs-dev] [PATCH 3/5] dpif-netdev: Use packet key to parse TCP flags.
Jarno Rajahalme
jrajahalme at nicira.com
Tue Mar 18 23:42:57 UTC 2014
The flow that created the netdev_flow might have wildcarded TCP flags,
or it may not be a TCP flow at all. Fix this by using the freshly
extracted flow key to parse TCP flags.
Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>
---
lib/dpif-netdev.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 3bbfd2a..827e8ae 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -1703,13 +1703,14 @@ dp_netdev_set_threads(struct dp_netdev *dp, int n)
static void
dp_netdev_flow_used(struct dp_netdev_flow *netdev_flow,
- const struct ofpbuf *packet)
+ const struct ofpbuf *packet,
+ const struct flow *key)
OVS_REQUIRES(netdev_flow->mutex)
{
netdev_flow->used = time_msec();
netdev_flow->packet_count++;
netdev_flow->byte_count += packet->size;
- netdev_flow->tcp_flags |= packet_get_tcp_flags(packet, &netdev_flow->flow);
+ netdev_flow->tcp_flags |= packet_get_tcp_flags(packet, key);
}
static void
@@ -1729,7 +1730,7 @@ dp_netdev_port_input(struct dp_netdev *dp, struct ofpbuf *packet,
struct dp_netdev_actions *actions;
ovs_mutex_lock(&netdev_flow->mutex);
- dp_netdev_flow_used(netdev_flow, packet);
+ dp_netdev_flow_used(netdev_flow, packet, &key);
actions = dp_netdev_actions_ref(netdev_flow->actions);
ovs_mutex_unlock(&netdev_flow->mutex);
--
1.7.10.4
More information about the dev
mailing list