diff options
author | Menglong Dong <menglong8.dong@gmail.com> | 2024-11-07 20:55:59 +0800 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-11-12 11:24:51 +0100 |
commit | 50038bf38e6577a15d52b890d82c197cf3b163a0 (patch) | |
tree | 513e1fe034894c1ed36b66b22d67eaff2b17321f /net/ipv4/ip_options.c | |
parent | 82d9983ebeb871cb5abd27c12a950c14c68772e1 (diff) |
net: ip: make ip_route_input() return drop reasons
In this commit, we make ip_route_input() return skb drop reasons that come
from ip_route_input_noref().
Meanwhile, adjust all the call to it.
Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/ipv4/ip_options.c')
-rw-r--r-- | net/ipv4/ip_options.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index 81e86e5defee..e3321932bec0 100644 --- a/net/ipv4/ip_options.c +++ b/net/ipv4/ip_options.c @@ -618,7 +618,7 @@ int ip_options_rcv_srr(struct sk_buff *skb, struct net_device *dev) orefdst = skb->_skb_refdst; skb_dst_set(skb, NULL); err = ip_route_input(skb, nexthop, iph->saddr, ip4h_dscp(iph), - dev); + dev) ? -EINVAL : 0; rt2 = skb_rtable(skb); if (err || (rt2->rt_type != RTN_UNICAST && rt2->rt_type != RTN_LOCAL)) { skb_dst_drop(skb); |