void flow_used(struct sw_flow *flow, struct sk_buff *skb)
{
- unsigned long flags;
u8 tcp_flags = 0;
if (flow->key.dl_type == htons(ETH_P_IP) && iphdr_ok(skb)) {
}
}
- spin_lock_irqsave(&flow->lock, flags);
+ spin_lock_bh(&flow->lock);
getnstimeofday(&flow->used);
flow->packet_count++;
flow->byte_count += skb->len;
flow->tcp_flags |= tcp_flags;
- spin_unlock_irqrestore(&flow->lock, flags);
+ spin_unlock_bh(&flow->lock);
}
struct sw_flow_actions *flow_actions_alloc(size_t n_actions)
int nh_ofs;
memset(key, 0, sizeof *key);
- key->dl_vlan = htons(ODP_VLAN_NONE);
+ key->tun_id = OVS_CB(skb)->tun_id;
key->in_port = in_port;
+ key->dl_vlan = htons(ODP_VLAN_NONE);
if (skb->len < sizeof *eth)
return 0;