* [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP
@ 2013-01-19 11:47 Wei Shuai
[not found] ` <1358596079-7126-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-01-19 15:55 ` David Miller
0 siblings, 2 replies; 7+ messages in thread
From: Wei Shuai @ 2013-01-19 11:47 UTC (permalink / raw)
To: dbbw-H+wXaHxf7aLQT0dZR+AlfA, davem-fT/PcQaiUtIeIZ0/mPfg9Q,
peter-Y+HMSxxDrH8, oneukum-l3A5Bk7waGM,
sshtylyov-Igf4POYTYCDQT0dZR+AlfA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
alexey.orishko-0IS4wlFg1OjSUeElwK9/Pw, bjorn-yOkvZcmFvRU
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
Wei Shuai
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 these kind of devices
Signed-off-by: Wei Shuai <cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/net/usb/usbnet.c | 4 ++++
include/linux/usb/usbnet.h | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 3d4bf01..f34b2eb 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -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;
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index bd45eb7..5de7a22 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -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.
--
1.7.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP
[not found] ` <1358596079-7126-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2013-01-19 11:47 ` Wei Shuai
0 siblings, 0 replies; 7+ messages in thread
From: Wei Shuai @ 2013-01-19 11:47 UTC (permalink / raw)
To: dbbw-H+wXaHxf7aLQT0dZR+AlfA, davem-fT/PcQaiUtIeIZ0/mPfg9Q,
peter-Y+HMSxxDrH8, oneukum-l3A5Bk7waGM,
sshtylyov-Igf4POYTYCDQT0dZR+AlfA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
alexey.orishko-0IS4wlFg1OjSUeElwK9/Pw, bjorn-yOkvZcmFvRU
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
Wei Shuai
Signed-off-by: Wei Shuai <cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/net/usb/usbnet.c | 4 ++++
include/linux/usb/usbnet.h | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 3d4bf01..f34b2eb 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -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;
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index bd45eb7..5de7a22 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -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.
--
1.7.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP
@ 2013-01-19 11:53 Wei Shuai
2013-01-19 11:53 ` Wei Shuai
[not found] ` <1358596401-7209-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 2 replies; 7+ messages in thread
From: Wei Shuai @ 2013-01-19 11:53 UTC (permalink / raw)
To: dcbw, davem, peter, oneukum, sshtylyov, gregkh, alexey.orishko,
bjorn
Cc: linux-usb, netdev, Wei Shuai
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 these kind of devices
Signed-off-by: Wei Shuai <cpuwolf@gmail.com>
---
drivers/net/usb/usbnet.c | 4 ++++
include/linux/usb/usbnet.h | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 3d4bf01..f34b2eb 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -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;
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index bd45eb7..5de7a22 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -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.
--
1.7.6.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP
2013-01-19 11:53 [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP Wei Shuai
@ 2013-01-19 11:53 ` Wei Shuai
[not found] ` <1358596401-7209-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
1 sibling, 0 replies; 7+ messages in thread
From: Wei Shuai @ 2013-01-19 11:53 UTC (permalink / raw)
To: dcbw, davem, peter, oneukum, sshtylyov, gregkh, alexey.orishko,
bjorn
Cc: linux-usb, netdev, Wei Shuai
Signed-off-by: Wei Shuai <cpuwolf@gmail.com>
---
drivers/net/usb/usbnet.c | 4 ++++
include/linux/usb/usbnet.h | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 3d4bf01..f34b2eb 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -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;
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index bd45eb7..5de7a22 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -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.
--
1.7.6.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] CDC_NCM adding support FLAG_NOARP for Infineon modem platform
[not found] ` <1358596401-7209-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2013-01-19 11:53 ` Wei Shuai
0 siblings, 0 replies; 7+ messages in thread
From: Wei Shuai @ 2013-01-19 11:53 UTC (permalink / raw)
To: dcbw-H+wXaHxf7aLQT0dZR+AlfA, davem-fT/PcQaiUtIeIZ0/mPfg9Q,
peter-Y+HMSxxDrH8, oneukum-l3A5Bk7waGM,
sshtylyov-Igf4POYTYCDQT0dZR+AlfA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
alexey.orishko-0IS4wlFg1OjSUeElwK9/Pw, bjorn-yOkvZcmFvRU
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
Wei Shuai
Infineon(now Intel) HSPA Modem platform NCM cannot support ARP. we can define a new common structure wwan_noarp_info.
Then more similiar NO ARP devices can be handled easily
Signed-off-by: Wei Shuai <cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/net/usb/cdc_ncm.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index 71b6e92..2d699b6 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -1155,6 +1155,20 @@ static const struct driver_info wwan_info = {
.tx_fixup = cdc_ncm_tx_fixup,
};
+/* Same as wwan_info, but with IFF_NOARP */
+static const struct driver_info wwan_noarp_info = {
+ .description = "Mobile Broadband Network Device (NO ARP)",
+ .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET
+ | FLAG_WWAN | FLAG_NOARP,
+ .bind = cdc_ncm_bind,
+ .unbind = cdc_ncm_unbind,
+ .check_connect = cdc_ncm_check_connect,
+ .manage_power = usbnet_manage_power,
+ .status = cdc_ncm_status,
+ .rx_fixup = cdc_ncm_rx_fixup,
+ .tx_fixup = cdc_ncm_tx_fixup,
+};
+
static const struct usb_device_id cdc_devs[] = {
/* Ericsson MBM devices like F5521gw */
{ .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
@@ -1194,6 +1208,13 @@ static const struct usb_device_id cdc_devs[] = {
.driver_info = (unsigned long)&wwan_info,
},
+ /* Infineon(now Intel) HSPA Modem platform */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x1519, 0x0443,
+ USB_CLASS_COMM,
+ USB_CDC_SUBCLASS_NCM, USB_CDC_PROTO_NONE),
+ .driver_info = (unsigned long)&wwan_noarp_info,
+ },
+
/* Generic CDC-NCM devices */
{ USB_INTERFACE_INFO(USB_CLASS_COMM,
USB_CDC_SUBCLASS_NCM, USB_CDC_PROTO_NONE),
--
1.7.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP
2013-01-19 11:47 [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP Wei Shuai
[not found] ` <1358596079-7126-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2013-01-19 15:55 ` David Miller
[not found] ` <20130119.105546.121223240976490384.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
1 sibling, 1 reply; 7+ messages in thread
From: David Miller @ 2013-01-19 15:55 UTC (permalink / raw)
To: cpuwolf
Cc: dbbw, peter, oneukum, sshtylyov, gregkh, alexey.orishko, bjorn,
linux-usb, netdev
Why did you submit this _4_ times?
I'm deleteing everything, I'm not even going to try and guess why
you submitted this so many times and what might be different between
each copy.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP
[not found] ` <20130119.105546.121223240976490384.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
@ 2013-01-20 1:05 ` Wei Shuai
0 siblings, 0 replies; 7+ messages in thread
From: Wei Shuai @ 2013-01-20 1:05 UTC (permalink / raw)
To: David Miller
Cc: dbbw-H+wXaHxf7aLQT0dZR+AlfA, peter-Y+HMSxxDrH8,
oneukum-l3A5Bk7waGM, sshtylyov-Igf4POYTYCDQT0dZR+AlfA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
alexey.orishko-0IS4wlFg1OjSUeElwK9/Pw, bjorn-yOkvZcmFvRU,
linux-usb-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA
sorry for wrongly use git, I cannot recall them back. There is no
different between them. Anything else I can fix this? Resubmit?
2013/1/19, David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>:
>
> Why did you submit this _4_ times?
>
> I'm deleteing everything, I'm not even going to try and guess why
> you submitted this so many times and what might be different between
> each copy.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-01-20 1:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-19 11:53 [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP Wei Shuai
2013-01-19 11:53 ` Wei Shuai
[not found] ` <1358596401-7209-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-01-19 11:53 ` [PATCH 2/2] CDC_NCM adding support FLAG_NOARP for Infineon modem platform Wei Shuai
-- strict thread matches above, loose matches on Subject: below --
2013-01-19 11:47 [PATCH 1/2] introduce flag FLAG_NOARP for usb net devices which cannot do ARP Wei Shuai
[not found] ` <1358596079-7126-1-git-send-email-cpuwolf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-01-19 11:47 ` Wei Shuai
2013-01-19 15:55 ` David Miller
[not found] ` <20130119.105546.121223240976490384.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2013-01-20 1:05 ` Wei Shuai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).