Skip to content

Commit 46b3ef4

Browse files
jarodwilsondavem330
authored andcommitted
s390/net: use net core MTU range checking
ctcm: - min_mtu = 576, max_mtu = 65527 netiucv: - min_mtu = 576, max_mtu = 65535 qeth: - min_mtu = 64, max_mtu = 65535 CC: [email protected] CC: [email protected] CC: Ursula Braun <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent b3e3893 commit 46b3ef4

File tree

5 files changed

+8
-29
lines changed

5 files changed

+8
-29
lines changed

drivers/s390/net/ctcm_main.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,9 +1032,6 @@ static int ctcm_change_mtu(struct net_device *dev, int new_mtu)
10321032
struct ctcm_priv *priv;
10331033
int max_bufsize;
10341034

1035-
if (new_mtu < 576 || new_mtu > 65527)
1036-
return -EINVAL;
1037-
10381035
priv = dev->ml_priv;
10391036
max_bufsize = priv->channel[CTCM_READ]->max_bufsize;
10401037

@@ -1123,6 +1120,8 @@ void static ctcm_dev_setup(struct net_device *dev)
11231120
dev->type = ARPHRD_SLIP;
11241121
dev->tx_queue_len = 100;
11251122
dev->flags = IFF_POINTOPOINT | IFF_NOARP;
1123+
dev->min_mtu = 576;
1124+
dev->max_mtu = 65527;
11261125
}
11271126

11281127
/*

drivers/s390/net/netiucv.c

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,27 +1428,6 @@ static struct net_device_stats *netiucv_stats (struct net_device * dev)
14281428
return &priv->stats;
14291429
}
14301430

1431-
/**
1432-
* netiucv_change_mtu
1433-
* @dev: Pointer to interface struct.
1434-
* @new_mtu: The new MTU to use for this interface.
1435-
*
1436-
* Sets MTU of an interface.
1437-
*
1438-
* Returns 0 on success, -EINVAL if MTU is out of valid range.
1439-
* (valid range is 576 .. NETIUCV_MTU_MAX).
1440-
*/
1441-
static int netiucv_change_mtu(struct net_device * dev, int new_mtu)
1442-
{
1443-
IUCV_DBF_TEXT(trace, 3, __func__);
1444-
if (new_mtu < 576 || new_mtu > NETIUCV_MTU_MAX) {
1445-
IUCV_DBF_TEXT(setup, 2, "given MTU out of valid range\n");
1446-
return -EINVAL;
1447-
}
1448-
dev->mtu = new_mtu;
1449-
return 0;
1450-
}
1451-
14521431
/*
14531432
* attributes in sysfs
14541433
*/
@@ -1986,12 +1965,13 @@ static const struct net_device_ops netiucv_netdev_ops = {
19861965
.ndo_stop = netiucv_close,
19871966
.ndo_get_stats = netiucv_stats,
19881967
.ndo_start_xmit = netiucv_tx,
1989-
.ndo_change_mtu = netiucv_change_mtu,
19901968
};
19911969

19921970
static void netiucv_setup_netdevice(struct net_device *dev)
19931971
{
19941972
dev->mtu = NETIUCV_MTU_DEFAULT;
1973+
dev->min_mtu = 576;
1974+
dev->max_mtu = NETIUCV_MTU_MAX;
19951975
dev->destructor = netiucv_free_netdevice;
19961976
dev->hard_header_len = NETIUCV_HDRLEN;
19971977
dev->addr_len = 0;

drivers/s390/net/qeth_core_main.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4202,10 +4202,6 @@ int qeth_change_mtu(struct net_device *dev, int new_mtu)
42024202
sprintf(dbf_text, "%8x", new_mtu);
42034203
QETH_CARD_TEXT(card, 4, dbf_text);
42044204

4205-
if (new_mtu < 64)
4206-
return -EINVAL;
4207-
if (new_mtu > 65535)
4208-
return -EINVAL;
42094205
if ((!qeth_is_supported(card, IPA_IP_FRAGMENTATION)) &&
42104206
(!qeth_mtu_is_valid(card, new_mtu)))
42114207
return -EINVAL;

drivers/s390/net/qeth_l2_main.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,6 +1107,8 @@ static int qeth_l2_setup_netdev(struct qeth_card *card)
11071107
card->dev->ml_priv = card;
11081108
card->dev->watchdog_timeo = QETH_TX_TIMEOUT;
11091109
card->dev->mtu = card->info.initial_mtu;
1110+
card->dev->min_mtu = 64;
1111+
card->dev->max_mtu = ETH_MAX_MTU;
11101112
card->dev->netdev_ops = &qeth_l2_netdev_ops;
11111113
card->dev->ethtool_ops =
11121114
(card->info.type != QETH_CARD_TYPE_OSN) ?

drivers/s390/net/qeth_l3_main.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3140,6 +3140,8 @@ static int qeth_l3_setup_netdev(struct qeth_card *card)
31403140
card->dev->ml_priv = card;
31413141
card->dev->watchdog_timeo = QETH_TX_TIMEOUT;
31423142
card->dev->mtu = card->info.initial_mtu;
3143+
card->dev->min_mtu = 64;
3144+
card->dev->max_mtu = ETH_MAX_MTU;
31433145
card->dev->ethtool_ops = &qeth_l3_ethtool_ops;
31443146
card->dev->features |= NETIF_F_HW_VLAN_CTAG_TX |
31453147
NETIF_F_HW_VLAN_CTAG_RX |

0 commit comments

Comments
 (0)