On Thu, Apr 23, 2015 at 4:48 AM, yinpeijun <yinpei...@huawei.com> wrote:
> Signed-off-by: yinpeijun <yinpei...@huawei.com>
> ---
>  ofproto/ofproto-dpif-xlate.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index f737877..396d261 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -2749,6 +2749,7 @@ compose_output_action__(struct xlate_ctx *ctx, 
> ofp_port_t ofp_port,
>      struct flow *flow = &ctx->xin->flow;
>      struct flow_tnl flow_tnl;
>      ovs_be16 flow_vlan_tci;
> +    ovs_be32 tnl_nw_src;
>      uint32_t flow_pkt_mark;
>      uint8_t flow_nw_tos;
>      odp_port_t out_port, odp_port;
> @@ -2985,6 +2986,17 @@ compose_output_action__(struct xlate_ctx *ctx, 
> ofp_port_t ofp_port,
>                      ovs_native_tunneling_is_on(ctx->xbridge->ofproto)) {
>
>                      odp_tnl_port = tnl_port_map_lookup(flow, wc);
> +                    /*when 'remote_ip=flow' the tnl port show listening ports
> +                     *ip_src is 0.0.0.0 , so we should try again with nw_src
> +                     *zero. */
> +                    if(odp_tnl_port == ODPP_NONE) {
> +                       tnl_nw_src = flow->nw_src;
> +
> +                       flow->nw_src = htonl(0);
> +                       odp_tnl_port = tnl_port_map_lookup(flow, wc);
> +
> +                       flow->nw_src = tnl_nw_src;
> +                    }
>                  }

Can you post the exact tunnel flow you using? It looks like you have
skipped tunnel_src field. You need to specify it.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to