diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 916152dbdce4..e35ca40df03b 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -1474,14 +1474,16 @@ void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *ar | |||
1474 | } | 1474 | } |
1475 | 1475 | ||
1476 | { | 1476 | { |
1477 | struct flowi fl = { .oif = arg->bound_dev_if, | 1477 | struct flowi fl = { |
1478 | .fl4_dst = daddr, | 1478 | .flowi_oif = arg->bound_dev_if, |
1479 | .fl4_src = rt->rt_spec_dst, | 1479 | .fl4_dst = daddr, |
1480 | .fl4_tos = RT_TOS(ip_hdr(skb)->tos), | 1480 | .fl4_src = rt->rt_spec_dst, |
1481 | .fl_ip_sport = tcp_hdr(skb)->dest, | 1481 | .fl4_tos = RT_TOS(ip_hdr(skb)->tos), |
1482 | .fl_ip_dport = tcp_hdr(skb)->source, | 1482 | .fl_ip_sport = tcp_hdr(skb)->dest, |
1483 | .proto = sk->sk_protocol, | 1483 | .fl_ip_dport = tcp_hdr(skb)->source, |
1484 | .flags = ip_reply_arg_flowi_flags(arg) }; | 1484 | .flowi_proto = sk->sk_protocol, |
1485 | .flowi_flags = ip_reply_arg_flowi_flags(arg), | ||
1486 | }; | ||
1485 | security_skb_classify_flow(skb, &fl); | 1487 | security_skb_classify_flow(skb, &fl); |
1486 | rt = ip_route_output_key(sock_net(sk), &fl); | 1488 | rt = ip_route_output_key(sock_net(sk), &fl); |
1487 | if (IS_ERR(rt)) | 1489 | if (IS_ERR(rt)) |