From: Menglong Dong <menglong8.dong@gmail.com>
To: edumazet@google.com, atenart@kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com,
dsahern@kernel.org, steffen.klassert@secunet.com,
herbert@gondor.apana.org.au, dongml2@chinatelecom.cn,
bigeasy@linutronix.de, toke@redhat.com, idosch@nvidia.com,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org
Subject: [PATCH net-next 0/7] net: ip: add drop reasons to input route
Date: Tue, 1 Oct 2024 13:59:58 +0800 [thread overview]
Message-ID: <20241001060005.418231-1-dongml2@chinatelecom.cn> (raw)
In this series, we mainly add some skb drop reasons to the input path of
ip routing.
The function ip_route_input_noref() is used commonly, and its return value
is used by the caller sometimes. So, it's not easy to make it return skb
drop reasons. Instead, we add the pointer of the drop reason to the
function arguments of it. And we do the same things to
ip_route_input_rcu() and ip_route_input_slow().
The errno from fib_validate_source() is -EINVAL or -EXDEV, and -EXDEV is
used in ip_rcv_finish_core() to increase the LINUX_MIB_IPRPFILTER. For
this case, we can check it by
"drop_reason == SKB_DROP_REASON_IP_RPFILTER" instead. Therefore, we can
make fib_validate_source() return -reason. Meanwhile, we make
ip_route_input_mc() and ip_mc_validate_source() return drop reason.
Following new skb drop reasons are added:
SKB_DROP_REASON_IP_LOCAL_SOURCE
SKB_DROP_REASON_IP_INVALID_SOURCE
SKB_DROP_REASON_IP_INVALID_DEST
SKB_DROP_REASON_IP_LOCALNET
Menglong Dong (7):
net: ip: add drop reason to ip_route_input_noref()
net: ip: add drop reason to ip_route_input_rcu()
net: ip: add drop reason to ip_route_input_slow()
net: ip: make fib_validate_source() return drop reason
net: ip: make ip_route_input_mc() return drop reason
net: ip: make ip_mc_validate_source() return drop reason
net: ip: fix typo in the doc of SKB_DROP_REASON_IP_INNOROUTES
drivers/net/ipvlan/ipvlan_l3s.c | 2 +-
include/net/dropreason-core.h | 21 +++++-
include/net/route.h | 12 ++--
net/core/lwt_bpf.c | 2 +-
net/ipv4/arp.c | 2 +-
net/ipv4/fib_frontend.c | 19 ++++--
net/ipv4/ip_fragment.c | 2 +-
net/ipv4/ip_input.c | 11 ++--
net/ipv4/route.c | 111 +++++++++++++++++++++-----------
net/ipv4/xfrm4_input.c | 2 +-
net/ipv4/xfrm4_protocol.c | 2 +-
11 files changed, 122 insertions(+), 64 deletions(-)
--
2.39.5
next reply other threads:[~2024-10-01 6:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-01 5:59 Menglong Dong [this message]
2024-10-01 5:59 ` [PATCH net-next 1/7] net: ip: add drop reason to ip_route_input_noref() Menglong Dong
2024-10-04 16:36 ` Jakub Kicinski
2024-10-04 16:53 ` Eric Dumazet
2024-10-06 4:12 ` Menglong Dong
2024-10-01 6:00 ` [PATCH net-next 2/7] net: ip: add drop reason to ip_route_input_rcu() Menglong Dong
2024-10-01 6:00 ` [PATCH net-next 3/7] net: ip: add drop reason to ip_route_input_slow() Menglong Dong
2024-10-01 6:00 ` [PATCH net-next 4/7] net: ip: make fib_validate_source() return drop reason Menglong Dong
2024-10-01 6:00 ` [PATCH net-next 5/7] net: ip: make ip_route_input_mc() " Menglong Dong
2024-10-01 6:00 ` [PATCH net-next 6/7] net: ip: make ip_mc_validate_source() " Menglong Dong
2024-10-01 6:00 ` [PATCH net-next 7/7] net: ip: fix typo in the doc of SKB_DROP_REASON_IP_INNOROUTES Menglong Dong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241001060005.418231-1-dongml2@chinatelecom.cn \
--to=menglong8.dong@gmail.com \
--cc=atenart@kernel.org \
--cc=bigeasy@linutronix.de \
--cc=bpf@vger.kernel.org \
--cc=davem@davemloft.net \
--cc=dongml2@chinatelecom.cn \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=steffen.klassert@secunet.com \
--cc=toke@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®