On Mon, Jan 12, 2015 at 6:41 PM, Fan Du <fan...@intel.com> wrote: > Introduce ovs_tunnel_route_lookup to consolidate route lookup > shared by vxlan, gre, and geneve ports. > > Signed-off-by: Fan Du <fan...@intel.com> > --- > Chnage log: > v2: > - Use inline instead of function call > - Rename vport_route_lookup to ovs_tunnel_route_lookup > --- > net/openvswitch/vport-geneve.c | 11 +---------- > net/openvswitch/vport-gre.c | 10 +--------- > net/openvswitch/vport-vxlan.c | 10 +--------- > net/openvswitch/vport.h | 18 ++++++++++++++++++ > 4 files changed, 21 insertions(+), 28 deletions(-) > ....
> +static inline struct rtable *ovs_tunnel_route_lookup(struct net *net, > + struct > ovs_key_ipv4_tunnel *key, > + struct sk_buff *skb, > + struct flowi4 *fl, > + u8 protocol) > +{ > + struct rtable *rt; > + > + memset(fl, 0, sizeof(*fl)); > + fl->daddr = key->ipv4_dst; > + fl->saddr = key->ipv4_src; > + fl->flowi4_tos = RT_TOS(key->ipv4_tos); > + fl->flowi4_mark = skb->mark; > + fl->flowi4_proto = protocol; > + > + rt = ip_route_output_key(net, fl); > + return rt; > +} ovs_tunnel_get_egress_info() is also directly calling ip_route_output_key() > #endif /* vport.h */ > -- > 1.7.1 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev