OSDN Git Service

raw: Stop using RTO_ONLINK.
authorGuillaume Nault <gnault@redhat.com>
Mon, 22 May 2023 14:38:02 +0000 (16:38 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 May 2023 07:22:06 +0000 (08:22 +0100)
commitc85be08fc4fa44f07167be0377ebaa8d36b1dd58
tree236709422c9ac32726f8819f85cf22226ef3e360
parent726de790f66029a7654b3e748f8d3e7888a30ae5
raw: Stop using RTO_ONLINK.

Use ip_sendmsg_scope() to properly initialise the scope in
flowi4_init_output(), instead of overriding tos with the RTO_ONLINK
flag. The objective is to eventually remove RTO_ONLINK, which will
allow converting .flowi4_tos to dscp_t.

The MSG_DONTROUTE and SOCK_LOCALROUTE cases were already handled by
raw_sendmsg() (SOCK_LOCALROUTE was handled by the RT_CONN_FLAGS*()
macros called by get_rtconn_flags()). However, opt.is_strictroute
wasn't taken into account. Therefore, a side effect of this patch is to
now honour opt.is_strictroute, and thus align raw_sendmsg() with
ping_v4_sendmsg() and udp_sendmsg().

Since raw_sendmsg() was the only user of get_rtconn_flags(), we can now
remove this function.

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip.h
net/ipv4/raw.c