summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorGuillaume Nault <gnault@redhat.com>2023-07-17 15:53:40 +0200
committerDavid S. Miller <davem@davemloft.net>2023-07-19 12:32:07 +0100
commitba80e20d7f3f87dab3f9f0c0ca66e4b1fcc7be9f (patch)
treec38f659d2ea1160b42975fe05cc5df0e2d4e7071 /net/sctp
parent2d6c85ca3eb8e175e4b5b508b1203b909af5189c (diff)
downloadlinux-ba80e20d7f3f87dab3f9f0c0ca66e4b1fcc7be9f.tar.gz
linux-ba80e20d7f3f87dab3f9f0c0ca66e4b1fcc7be9f.tar.bz2
linux-ba80e20d7f3f87dab3f9f0c0ca66e4b1fcc7be9f.zip
sctp: Set TOS and routing scope independently for fib lookups.
There's no reason for setting the RTO_ONLINK flag in ->flowi4_tos as RT_CONN_FLAGS() does. We can easily set ->flowi4_scope properly instead. This makes the code more explicit and will allow to convert ->flowi4_tos to dscp_t in the future. Signed-off-by: Guillaume Nault <gnault@redhat.com> Reviewed-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/protocol.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
index 274d07bd774f..33c0895e101c 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -435,7 +435,8 @@ static void sctp_v4_get_dst(struct sctp_transport *t, union sctp_addr *saddr,
fl4->fl4_dport = daddr->v4.sin_port;
fl4->flowi4_proto = IPPROTO_SCTP;
if (asoc) {
- fl4->flowi4_tos = RT_CONN_FLAGS_TOS(asoc->base.sk, tos);
+ fl4->flowi4_tos = RT_TOS(tos);
+ fl4->flowi4_scope = ip_sock_rt_scope(asoc->base.sk);
fl4->flowi4_oif = asoc->base.sk->sk_bound_dev_if;
fl4->fl4_sport = htons(asoc->base.bind_addr.port);
}