On Oct 13, 2014, at 2:32 PM, Pravin Shelar <pshe...@nicira.com> wrote:

>>> +    case OVS_ACTION_ATTR_TUNNEL_PUSH:
>>> +        if (*depth < MAX_RECIRC_DEPTH) {
>>> +            struct dpif_packet *tnl_pkt[NETDEV_MAX_RX_BATCH];
>>> +            int err;
>>> +
>>> +            if (may_steal) {
>>> +                dp_netdev_clone_pkt_batch(tnl_pkt, packets, cnt);
>>> +                packets = tnl_pkt;
>>> +            }
>> 
>> Should this be the reverse? Clone if can NOT take the packets?
> right,
> 
>>> +
>>> +            err = odp_push_tunnel_action(dp, a, packets, cnt);
>>> +            if (err) {
>>> +                dp_netdev_drop_packets(tnl_pkt, cnt, may_steal);
>>> +                break;
>>> +            }
>>> +
>>> +            (*depth)++;
>>> +            dp_netdev_input(pmd, packets, cnt);
>>> +            (*depth)--;
>>> +            return;
>>> +        }
>> 
>> Should “break” here.
> packets are already consumed so we can not break here.
> 

Do you really intend to fall through to the TUNNEL_POP case?

  Jarno

>>> +
>>> +    case OVS_ACTION_ATTR_TUNNEL_POP:
>>> +        if (*depth >= MAX_RECIRC_DEPTH) {
>>> +            break;
>>> +        }
>>> +
>>> +        p =
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to