diff options
| author | Menglong Dong <menglong8.dong@gmail.com> | 2024-11-07 20:55:55 +0800 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2024-11-12 11:24:50 +0100 |
| commit | d46f827016d891dbc234cb05c406180f77fb3b2d (patch) | |
| tree | 3b23db3d9cdad649ee0366c4bc65a94cdf1d9ef3 /include/net/route.h | |
| parent | c6c670784b862878deba7e16210ca4b2a2966ca0 (diff) | |
net: ip: make ip_mc_validate_source() return drop reason
Make ip_mc_validate_source() return drop reason, and adjust the call of
it in ip_route_input_mc().
Another caller of it is ip_rcv_finish_core->udp_v4_early_demux, and the
errno is not checked in detail, so we don't do more adjustment for it.
The drop reason "SKB_DROP_REASON_IP_LOCALNET" is added in this commit.
Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/net/route.h')
| -rw-r--r-- | include/net/route.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/net/route.h b/include/net/route.h index 0a690adfdff5..e2e1922c58fb 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -199,9 +199,10 @@ static inline struct rtable *ip_route_output_gre(struct net *net, struct flowi4 return ip_route_output_key(net, fl4); } -int ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr, - dscp_t dscp, struct net_device *dev, - struct in_device *in_dev, u32 *itag); +enum skb_drop_reason +ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr, + dscp_t dscp, struct net_device *dev, + struct in_device *in_dev, u32 *itag); int ip_route_input_noref(struct sk_buff *skb, __be32 daddr, __be32 saddr, dscp_t dscp, struct net_device *dev); int ip_route_use_hint(struct sk_buff *skb, __be32 daddr, __be32 saddr, |
