On 10/7/20 8:31 PM, Maciej Żenczykowski wrote:
> From: Maciej Żenczykowski <[email protected]>
>
> This matches the new ipv4 behaviour as of commit:
> commit 02a1b175b0e92d9e0fa5df3957ade8d733ceb6a0
> Author: Maciej Żenczykowski <[email protected]>
> Date: Wed Sep 23 13:18:15 2020 -0700
>
> net/ipv4: always honour route mtu during forwarding
just summarize that as:
commit 02a1b175b0e9 ("net/ipv4: always honour route mtu during forwarding")
> diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
> index 2a5277758379..598415743f46 100644
> --- a/include/net/ip6_route.h
> +++ b/include/net/ip6_route.h
> @@ -311,19 +311,13 @@ static inline bool rt6_duplicate_nexthop(struct
> fib6_info *a, struct fib6_info *
> static inline unsigned int ip6_dst_mtu_forward(const struct dst_entry *dst)
> {
> struct inet6_dev *idev;
> - unsigned int mtu;
> + unsigned int mtu = dst_metric_raw(dst, RTAX_MTU);
newline here for readability
> + if (mtu)
> + return mtu;
>
> - if (dst_metric_locked(dst, RTAX_MTU)) {
> - mtu = dst_metric_raw(dst, RTAX_MTU);
> - if (mtu)
> - return mtu;
> - }
> -
> - mtu = IPV6_MIN_MTU;
> rcu_read_lock();
> idev = __in6_dev_get(dst->dev);
> - if (idev)
> - mtu = idev->cnf.mtu6;
> + mtu = idev ? idev->cnf.mtu6 : IPV6_MIN_MTU;
> rcu_read_unlock();
>
> return mtu;
>
besides the nit comments, the change looks fine to me. Please add test
cases to tools/testing/selftests/net/pmtu.sh for this change.