Skip to content

Commit

Permalink
usbnet: add new flag FLAG_NOARP for usb net devices
Browse files Browse the repository at this point in the history
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: Wei Shuai <cpuwolf@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Wei Shuai authored and David S. Miller committed Jan 21, 2013
1 parent f91f334 commit 6509141
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/net/usb/usbnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1448,6 +1448,10 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
if ((dev->driver_info->flags & FLAG_WWAN) != 0)
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 */
if (net->mtu > (dev->hard_mtu - net->hard_header_len))
net->mtu = dev->hard_mtu - net->hard_header_len;
Expand Down
1 change: 1 addition & 0 deletions include/linux/usb/usbnet.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ struct driver_info {
#define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */

#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.
Expand Down

0 comments on commit 6509141

Please sign in to comment.