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