mbox series

[net-next,0/3] ipv4: Remove RTO_ONLINK from udp, ping and raw sockets.

Message ID cover.1684764727.git.gnault@redhat.com (mailing list archive)
Headers show
Series ipv4: Remove RTO_ONLINK from udp, ping and raw sockets. | expand

Message

Guillaume Nault May 22, 2023, 2:37 p.m. UTC
udp_sendmsg(), ping_v4_sendmsg() and raw_sendmsg() use similar patterns
for restricting their route lookup to on-link hosts. Although they use
slightly different code, they all use RTO_ONLINK to override the least
significant bit of their tos value.

RTO_ONLINK is used to restrict the route scope even when the scope is
set to RT_SCOPE_UNIVERSE. Therefore it isn't necessary: we can properly
set the scope to RT_SCOPE_LINK instead.

Removing RTO_ONLINK will allow to convert .flowi4_tos to dscp_t in the
future, thus allowing to properly separate the DSCP from the ECN bits
in the networking stack.

This patch series defines a common helper to figure out what's the
scope of the route lookup. This unifies the way udp, ping and raw
sockets get their routing scope and removes their dependency on
RTO_ONLINK.

Guillaume Nault (3):
  ping: Stop using RTO_ONLINK.
  raw: Stop using RTO_ONLINK.
  udp: Stop using RTO_ONLINK.

 include/net/ip.h | 16 ++++++++++++----
 net/ipv4/ping.c  | 15 +++++----------
 net/ipv4/raw.c   | 10 ++++------
 net/ipv4/udp.c   | 17 ++++++-----------
 4 files changed, 27 insertions(+), 31 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org May 24, 2023, 7:30 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Mon, 22 May 2023 16:37:50 +0200 you wrote:
> udp_sendmsg(), ping_v4_sendmsg() and raw_sendmsg() use similar patterns
> for restricting their route lookup to on-link hosts. Although they use
> slightly different code, they all use RTO_ONLINK to override the least
> significant bit of their tos value.
> 
> RTO_ONLINK is used to restrict the route scope even when the scope is
> set to RT_SCOPE_UNIVERSE. Therefore it isn't necessary: we can properly
> set the scope to RT_SCOPE_LINK instead.
> 
> [...]

Here is the summary with links:
  - [net-next,1/3] ping: Stop using RTO_ONLINK.
    https://git.kernel.org/netdev/net-next/c/726de790f660
  - [net-next,2/3] raw: Stop using RTO_ONLINK.
    https://git.kernel.org/netdev/net-next/c/c85be08fc4fa
  - [net-next,3/3] udp: Stop using RTO_ONLINK.
    https://git.kernel.org/netdev/net-next/c/0e26371db548

You are awesome, thank you!