diff options
author | Jakub Kicinski | 2018-10-02 03:30:33 +0200 |
---|---|---|
committer | Daniel Borkmann | 2018-10-02 14:39:59 +0200 |
commit | 9bbdd41b8a458d8a0bf1d9096bc1e704c7b46a00 (patch) | |
tree | 20a77a1388c48fa757f53222b1db1f6fd1c89651 /drivers/net/ethernet/netronome/nfp/nfp_net_common.c | |
parent | nfp: bpf: parse global BPF ABI version capability (diff) | |
download | kernel-qcow2-linux-9bbdd41b8a458d8a0bf1d9096bc1e704c7b46a00.tar.gz kernel-qcow2-linux-9bbdd41b8a458d8a0bf1d9096bc1e704c7b46a00.tar.xz kernel-qcow2-linux-9bbdd41b8a458d8a0bf1d9096bc1e704c7b46a00.zip |
nfp: allow apps to request larger MTU on control vNIC
Some apps may want to have higher MTU on the control vNIC/queue.
Allow them to set the requested MTU at init time.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_common.c')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index d05e37fcc1b2..8e8dc0db2493 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -3877,10 +3877,20 @@ int nfp_net_init(struct nfp_net *nn) return err; /* Set default MTU and Freelist buffer size */ - if (nn->max_mtu < NFP_NET_DEFAULT_MTU) + if (!nfp_net_is_data_vnic(nn) && nn->app->ctrl_mtu) { + if (nn->app->ctrl_mtu <= nn->max_mtu) { + nn->dp.mtu = nn->app->ctrl_mtu; + } else { + if (nn->app->ctrl_mtu != NFP_APP_CTRL_MTU_MAX) + nn_warn(nn, "app requested MTU above max supported %u > %u\n", + nn->app->ctrl_mtu, nn->max_mtu); + nn->dp.mtu = nn->max_mtu; + } + } else if (nn->max_mtu < NFP_NET_DEFAULT_MTU) { nn->dp.mtu = nn->max_mtu; - else + } else { nn->dp.mtu = NFP_NET_DEFAULT_MTU; + } nn->dp.fl_bufsz = nfp_net_calc_fl_bufsz(&nn->dp); if (nfp_app_ctrl_uses_data_vnics(nn->app)) |