提交 6509141f 编写于 作者: W Wei Shuai 提交者: David S. Miller

usbnet: add new flag FLAG_NOARP for usb net devices

We do have some USB net devices, which cannot do ARP.
so we can introduce a new flag FLAG_NOARP, then client drivers
can easily handle this kind of devices
Signed-off-by: NWei Shuai <cpuwolf@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 f91f3345
...@@ -1448,6 +1448,10 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod) ...@@ -1448,6 +1448,10 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
if ((dev->driver_info->flags & FLAG_WWAN) != 0) if ((dev->driver_info->flags & FLAG_WWAN) != 0)
strcpy(net->name, "wwan%d"); strcpy(net->name, "wwan%d");
/* devices that cannot do ARP */
if ((dev->driver_info->flags & FLAG_NOARP) != 0)
net->flags |= IFF_NOARP;
/* maybe the remote can't receive an Ethernet MTU */ /* maybe the remote can't receive an Ethernet MTU */
if (net->mtu > (dev->hard_mtu - net->hard_header_len)) if (net->mtu > (dev->hard_mtu - net->hard_header_len))
net->mtu = dev->hard_mtu - net->hard_header_len; net->mtu = dev->hard_mtu - net->hard_header_len;
......
...@@ -100,6 +100,7 @@ struct driver_info { ...@@ -100,6 +100,7 @@ struct driver_info {
#define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */ #define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */
#define FLAG_POINTTOPOINT 0x1000 /* possibly use "usb%d" names */ #define FLAG_POINTTOPOINT 0x1000 /* possibly use "usb%d" names */
#define FLAG_NOARP 0x2000 /* device can't do ARP */
/* /*
* Indicates to usbnet, that USB driver accumulates multiple IP packets. * Indicates to usbnet, that USB driver accumulates multiple IP packets.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册