diff options
author | Jeremy Kerr <jk@codeconstruct.com.au> | 2021-11-25 14:07:38 +0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-11-25 19:40:39 -0800 |
commit | d154cd078ac2d24374e872f3224bf44894867b0a (patch) | |
tree | a043b4d29f7a95a24f8a0f54087b9650b9f5d356 /drivers/net | |
parent | 7bd9890f3d74e96f0e1a898f68decfc711de3001 (diff) | |
download | linux-d154cd078ac2d24374e872f3224bf44894867b0a.tar.gz linux-d154cd078ac2d24374e872f3224bf44894867b0a.tar.bz2 linux-d154cd078ac2d24374e872f3224bf44894867b0a.zip |
mctp: serial: enforce fixed MTU
The current serial driver requires a maximum MTU of 68, and it doesn't
make sense to set a MTU below the MCTP-required baseline (of 68) either.
This change sets the min_mtu & max_mtu of the mctp netdev, essentially
disallowing changes. By using these instead of a ndo_change_mtu op, we
get the netlink extacks reported too.
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/mctp/mctp-serial.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/mctp/mctp-serial.c b/drivers/net/mctp/mctp-serial.c index 85b407f4df11..b0e14a63b10d 100644 --- a/drivers/net/mctp/mctp-serial.c +++ b/drivers/net/mctp/mctp-serial.c @@ -410,7 +410,14 @@ static const struct net_device_ops mctp_serial_netdev_ops = { static void mctp_serial_setup(struct net_device *ndev) { ndev->type = ARPHRD_MCTP; + + /* we limit at the fixed MTU, which is also the MCTP-standard + * baseline MTU, so is also our minimum + */ ndev->mtu = MCTP_SERIAL_MTU; + ndev->max_mtu = MCTP_SERIAL_MTU; + ndev->min_mtu = MCTP_SERIAL_MTU; + ndev->hard_header_len = 0; ndev->addr_len = 0; ndev->tx_queue_len = DEFAULT_TX_QUEUE_LEN; |