Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflict resolution of af_smc.c from Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -32,6 +32,13 @@
|
||||
#define DRV_NAME "nicvf"
|
||||
#define DRV_VERSION "1.0"
|
||||
|
||||
/* NOTE: Packets bigger than 1530 are split across multiple pages and XDP needs
|
||||
* the buffer to be contiguous. Allow XDP to be set up only if we don't exceed
|
||||
* this value, keeping headroom for the 14 byte Ethernet header and two
|
||||
* VLAN tags (for QinQ)
|
||||
*/
|
||||
#define MAX_XDP_MTU (1530 - ETH_HLEN - VLAN_HLEN * 2)
|
||||
|
||||
/* Supported devices */
|
||||
static const struct pci_device_id nicvf_id_table[] = {
|
||||
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_CAVIUM,
|
||||
@@ -1582,6 +1589,15 @@ static int nicvf_change_mtu(struct net_device *netdev, int new_mtu)
|
||||
struct nicvf *nic = netdev_priv(netdev);
|
||||
int orig_mtu = netdev->mtu;
|
||||
|
||||
/* For now just support only the usual MTU sized frames,
|
||||
* plus some headroom for VLAN, QinQ.
|
||||
*/
|
||||
if (nic->xdp_prog && new_mtu > MAX_XDP_MTU) {
|
||||
netdev_warn(netdev, "Jumbo frames not yet supported with XDP, current MTU %d.\n",
|
||||
netdev->mtu);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
|
||||
if (!netif_running(netdev))
|
||||
@@ -1830,8 +1846,10 @@ static int nicvf_xdp_setup(struct nicvf *nic, struct bpf_prog *prog)
|
||||
bool bpf_attached = false;
|
||||
int ret = 0;
|
||||
|
||||
/* For now just support only the usual MTU sized frames */
|
||||
if (prog && (dev->mtu > 1500)) {
|
||||
/* For now just support only the usual MTU sized frames,
|
||||
* plus some headroom for VLAN, QinQ.
|
||||
*/
|
||||
if (prog && dev->mtu > MAX_XDP_MTU) {
|
||||
netdev_warn(dev, "Jumbo frames not yet supported with XDP, current MTU %d.\n",
|
||||
dev->mtu);
|
||||
return -EOPNOTSUPP;
|
||||
|
Reference in New Issue
Block a user