From: Simon Horman Date: Thu, 31 Mar 2011 07:32:07 +0000 (+0900) Subject: datapath: Update for changes in 2.6.39-rc1 X-Git-Tag: v1.1.0~34 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=ac1e8ee90853b5d248ea5d2d0f63ce0b5686a5b7;p=sliver-openvswitch.git datapath: Update for changes in 2.6.39-rc1 Update for flowi4 and ip_route_output_flow() changes in 2.6.39-rc1. Signed-off-by: Simon Horman [Jesse: drop redundant unlikely() from IS_ERR()] Signed-off-by: Jesse Gross --- diff --git a/datapath/tunnel.c b/datapath/tunnel.c index 7863b7a35..899d1cdcb 100644 --- a/datapath/tunnel.c +++ b/datapath/tunnel.c @@ -991,6 +991,7 @@ static struct rtable *find_route(struct vport *vport, return cur_cache->rt; } else { struct rtable *rt; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39) struct flowi fl = { .nl_u = { .ip4_u = { .daddr = mutable->daddr, .saddr = mutable->saddr, @@ -999,6 +1000,16 @@ static struct rtable *find_route(struct vport *vport, if (unlikely(ip_route_output_key(&init_net, &rt, &fl))) return NULL; +#else + struct flowi4 fl = { .daddr = mutable->daddr, + .saddr = mutable->saddr, + .flowi4_tos = tos, + .flowi4_proto = tnl_vport->tnl_ops->ipproto }; + + rt = ip_route_output_key(&init_net, &fl); + if (IS_ERR(rt)) + return NULL; +#endif if (likely(tos == mutable->tos)) *cache = build_cache(vport, mutable, rt);