X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fdatapath.c;h=0611dada1e0691389bf06af1451d1d7b40ed70d3;hb=ca93abce9d3c6b7968c52a5458a6c94e7e8191d4;hp=10706f5117f79c0a0334499c12582b7c4e2f8ad1;hpb=5604935e4e1cbc16611d2d97f50b717aa31e8ec5;p=sliver-openvswitch.git diff --git a/datapath/datapath.c b/datapath/datapath.c index 10706f511..0611dada1 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -241,7 +241,8 @@ void ovs_dp_detach_port(struct vport *p) } void ovs_dp_process_packet_with_key(struct sk_buff *skb, - struct sw_flow_key *pkt_key) + struct sw_flow_key *pkt_key, + bool recirc) { const struct vport *p = OVS_CB(skb)->input_vport; struct datapath *dp = p->dp; @@ -272,7 +273,7 @@ void ovs_dp_process_packet_with_key(struct sk_buff *skb, OVS_CB(skb)->flow = flow; ovs_flow_stats_update(OVS_CB(skb)->flow, pkt_key->tp.flags, skb); - ovs_execute_actions(dp, skb); + ovs_execute_actions(dp, skb, recirc); stats_counter = &stats->n_hit; out: @@ -298,7 +299,7 @@ void ovs_dp_process_received_packet(struct vport *p, struct sk_buff *skb) return; } - ovs_dp_process_packet_with_key(skb, &key); + ovs_dp_process_packet_with_key(skb, &key, false); } int ovs_dp_upcall(struct datapath *dp, struct sk_buff *skb, @@ -601,7 +602,7 @@ static int ovs_packet_cmd_execute(struct sk_buff *skb, struct genl_info *info) OVS_CB(packet)->input_vport = input_vport; local_bh_disable(); - err = ovs_execute_actions(dp, packet); + err = ovs_execute_actions(dp, packet, false); local_bh_enable(); rcu_read_unlock();