mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-04 04:37:39 -04:00
ipv4: use dst4_mtu() instead of dst_mtu()
When we expect an IPv4 dst, use dst4_mtu() instead of dst_mtu() to save some code space. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com> Link: https://patch.msgid.link/20260130210303.3888261-8-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
b40f0130a2
commit
fe8570186f
@@ -945,7 +945,7 @@ void __icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info,
|
||||
|
||||
/* RFC says return as much as we can without exceeding 576 bytes. */
|
||||
|
||||
room = dst_mtu(&rt->dst);
|
||||
room = dst4_mtu(&rt->dst);
|
||||
if (room > 576)
|
||||
room = 576;
|
||||
room -= sizeof(struct iphdr) + icmp_param->replyopts.opt.optlen;
|
||||
|
||||
@@ -1300,7 +1300,7 @@ static int ip_setup_cork(struct sock *sk, struct inet_cork *cork,
|
||||
return -EFAULT;
|
||||
|
||||
cork->fragsize = ip_sk_use_pmtu(sk) ?
|
||||
dst_mtu(&rt->dst) : READ_ONCE(rt->dst.dev->mtu);
|
||||
dst4_mtu(&rt->dst) : READ_ONCE(rt->dst.dev->mtu);
|
||||
|
||||
if (!inetdev_valid_mtu(cork->fragsize))
|
||||
return -ENETUNREACH;
|
||||
@@ -1439,7 +1439,7 @@ struct sk_buff *__ip_make_skb(struct sock *sk,
|
||||
pmtudisc = READ_ONCE(inet->pmtudisc);
|
||||
if (pmtudisc == IP_PMTUDISC_DO ||
|
||||
pmtudisc == IP_PMTUDISC_PROBE ||
|
||||
(skb->len <= dst_mtu(&rt->dst) &&
|
||||
(skb->len <= dst4_mtu(&rt->dst) &&
|
||||
ip_dont_fragment(sk, &rt->dst)))
|
||||
df = htons(IP_DF);
|
||||
|
||||
|
||||
@@ -1634,7 +1634,7 @@ int do_ip_getsockopt(struct sock *sk, int level, int optname,
|
||||
val = 0;
|
||||
dst = sk_dst_get(sk);
|
||||
if (dst) {
|
||||
val = dst_mtu(dst);
|
||||
val = dst4_mtu(dst);
|
||||
dst_release(dst);
|
||||
}
|
||||
if (!val)
|
||||
|
||||
@@ -1895,7 +1895,7 @@ static int ipmr_prepare_xmit(struct net *net, struct mr_table *mrt,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (skb->len+encap > dst_mtu(&rt->dst) && (ntohs(iph->frag_off) & IP_DF)) {
|
||||
if (skb->len+encap > dst4_mtu(&rt->dst) && (ntohs(iph->frag_off) & IP_DF)) {
|
||||
/* Do not fragment multicasts. Alas, IPv4 does not
|
||||
* allow to send ICMP, so that packets will disappear
|
||||
* to blackhole.
|
||||
|
||||
@@ -303,7 +303,7 @@ void nf_send_reset(struct net *net, struct sock *sk, struct sk_buff *oldskb,
|
||||
goto free_nskb;
|
||||
|
||||
/* "Never happens" */
|
||||
if (nskb->len > dst_mtu(skb_dst(nskb)))
|
||||
if (nskb->len > dst4_mtu(skb_dst(nskb)))
|
||||
goto free_nskb;
|
||||
|
||||
nf_ct_attach(nskb, oldskb);
|
||||
|
||||
@@ -374,7 +374,7 @@ void tcp_v4_mtu_reduced(struct sock *sk)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
struct dst_entry *dst;
|
||||
u32 mtu;
|
||||
u32 mtu, dmtu;
|
||||
|
||||
if ((1 << sk->sk_state) & (TCPF_LISTEN | TCPF_CLOSE))
|
||||
return;
|
||||
@@ -386,15 +386,14 @@ void tcp_v4_mtu_reduced(struct sock *sk)
|
||||
/* Something is about to be wrong... Remember soft error
|
||||
* for the case, if this connection will not able to recover.
|
||||
*/
|
||||
if (mtu < dst_mtu(dst) && ip_dont_fragment(sk, dst))
|
||||
dmtu = dst4_mtu(dst);
|
||||
if (mtu < dmtu && ip_dont_fragment(sk, dst))
|
||||
WRITE_ONCE(sk->sk_err_soft, EMSGSIZE);
|
||||
|
||||
mtu = dst_mtu(dst);
|
||||
|
||||
if (inet->pmtudisc != IP_PMTUDISC_DONT &&
|
||||
ip_sk_accept_pmtu(sk) &&
|
||||
inet_csk(sk)->icsk_pmtu_cookie > mtu) {
|
||||
tcp_sync_mss(sk, mtu);
|
||||
inet_csk(sk)->icsk_pmtu_cookie > dmtu) {
|
||||
tcp_sync_mss(sk, dmtu);
|
||||
|
||||
/* Resend the TCP packet because it's
|
||||
* clear that the old packet has been
|
||||
@@ -1760,7 +1759,7 @@ struct sock *tcp_v4_syn_recv_sock(const struct sock *sk, struct sk_buff *skb,
|
||||
|
||||
tcp_ca_openreq_child(newsk, dst);
|
||||
|
||||
tcp_sync_mss(newsk, dst_mtu(dst));
|
||||
tcp_sync_mss(newsk, dst4_mtu(dst));
|
||||
newtp->advmss = tcp_mss_clamp(tcp_sk(sk), dst_metric_advmss(dst));
|
||||
|
||||
tcp_initialize_rcv_mss(newsk);
|
||||
|
||||
@@ -962,7 +962,7 @@ static netdev_tx_t ipip6_tunnel_xmit(struct sk_buff *skb,
|
||||
}
|
||||
|
||||
if (df) {
|
||||
mtu = dst_mtu(&rt->dst) - t_hlen;
|
||||
mtu = dst4_mtu(&rt->dst) - t_hlen;
|
||||
|
||||
if (mtu < IPV4_MIN_MTU) {
|
||||
DEV_STATS_INC(dev, collisions);
|
||||
|
||||
Reference in New Issue
Block a user