|
@@ -1909,7 +1909,7 @@ static int rt6_mtu_change_route(struct rt6_info *rt, void *p_arg)
|
|
*/
|
|
*/
|
|
if (rt->rt6i_dev == arg->dev &&
|
|
if (rt->rt6i_dev == arg->dev &&
|
|
!dst_metric_locked(&rt->u.dst, RTAX_MTU) &&
|
|
!dst_metric_locked(&rt->u.dst, RTAX_MTU) &&
|
|
- (dst_mtu(&rt->u.dst) > arg->mtu ||
|
|
|
|
|
|
+ (dst_mtu(&rt->u.dst) >= arg->mtu ||
|
|
(dst_mtu(&rt->u.dst) < arg->mtu &&
|
|
(dst_mtu(&rt->u.dst) < arg->mtu &&
|
|
dst_mtu(&rt->u.dst) == idev->cnf.mtu6))) {
|
|
dst_mtu(&rt->u.dst) == idev->cnf.mtu6))) {
|
|
rt->u.dst.metrics[RTAX_MTU-1] = arg->mtu;
|
|
rt->u.dst.metrics[RTAX_MTU-1] = arg->mtu;
|