[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <6ffd8030-28ff-396b-5f94-a2e9fd8ef9fd@huawei.com>
Date: Tue, 15 Feb 2022 16:08:22 +0800
From: "Ziyang Xuan (William)" <william.xuanziyang@...wei.com>
To: <netdev@...r.kernel.org>
CC: <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
<pablo@...filter.org>, <keescook@...omium.org>, <alobakin@...me>,
<nbd@....name>, <herbert@...dor.apana.org.au>
Subject: Why vlan_dev can not follow real_dev mtu change from smaller to
bigger
Hello,
Recently, I did some tests about mtu change for vlan device
and real_dev. I found that vlan_dev's mtu could not follow its
real_dev's mtu change from smaller to bigger.
For example:
Firstly, change real_dev's mtu from 1500 to 256, vlan_dev's mtu
follow change from 1500 to 256.
Secondly, change real_dev's mtu from 256 to 1500, but vlan_dev's
mtu is still 256.
I fond the code as following. But I could not understand the
limitations. Is there anyone can help me?
static int vlan_device_event(struct notifier_block *unused, unsigned long event,
void *ptr)
{
...
case NETDEV_CHANGEMTU:
vlan_group_for_each_dev(grp, i, vlandev) {
if (vlandev->mtu <= dev->mtu)
continue;
dev_set_mtu(vlandev, dev->mtu);
}
break;
...
}
Thank you for your reply.
Powered by blists - more mailing lists