aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/route.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/route.h')
-rw-r--r--include/net/route.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/include/net/route.h b/include/net/route.h
index 8c02c871a8ce..9f8070b251fb 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -152,19 +152,18 @@ static inline struct rtable *ip_route_output_ports(struct net *net, struct flowi
152 return ip_route_output_flow(net, fl4, sk); 152 return ip_route_output_flow(net, fl4, sk);
153} 153}
154 154
155static inline struct rtable *ip_route_output_gre(struct net *net, 155static inline struct rtable *ip_route_output_gre(struct net *net, struct flowi4 *fl4,
156 __be32 daddr, __be32 saddr, 156 __be32 daddr, __be32 saddr,
157 __be32 gre_key, __u8 tos, int oif) 157 __be32 gre_key, __u8 tos, int oif)
158{ 158{
159 struct flowi4 fl4 = { 159 memset(fl4, 0, sizeof(*fl4));
160 .flowi4_oif = oif, 160 fl4->flowi4_oif = oif;
161 .daddr = daddr, 161 fl4->daddr = daddr;
162 .saddr = saddr, 162 fl4->saddr = saddr;
163 .flowi4_tos = tos, 163 fl4->flowi4_tos = tos;
164 .flowi4_proto = IPPROTO_GRE, 164 fl4->flowi4_proto = IPPROTO_GRE;
165 .fl4_gre_key = gre_key, 165 fl4->fl4_gre_key = gre_key;
166 }; 166 return ip_route_output_key(net, fl4);
167 return ip_route_output_key(net, &fl4);
168} 167}
169 168
170extern int ip_route_input_common(struct sk_buff *skb, __be32 dst, __be32 src, 169extern int ip_route_input_common(struct sk_buff *skb, __be32 dst, __be32 src,