Hi! Here is NCM implementation I have now. Would be fine to get ideas how to make it less ugly in integration into the subsystem. The spec is http://www.usb.org/developers/devclass_docs/NCM10.zip for v2 fixed issues discovered during review. Thanks! Yauheni Kaliuta (8): usb: cdc: ncm constants and structures added usb: ncm: added ncm.h with auxiliary definitions usb: usbnet: introduce usbnet_probe_pvtsize() net: usb: prepare for NCM usb: cdc_ncm: initial version usb: u_ether: prepare for NCM usb: gadget: f_ncm.c added usb: gadget: g_ncm added drivers/net/usb/Kconfig | 7 + drivers/net/usb/Makefile | 1 + drivers/net/usb/cdc_ether.c | 12 + drivers/net/usb/cdc_ncm.c | 459 ++++++++++++++++ drivers/net/usb/usbnet.c | 19 +- drivers/usb/gadget/Kconfig | 11 + drivers/usb/gadget/Makefile | 2 + drivers/usb/gadget/f_ncm.c | 1210 ++++++++++++++++++++++++++++++++++++++++++ drivers/usb/gadget/ncm.c | 248 +++++++++ drivers/usb/gadget/u_ether.c | 11 +- drivers/usb/gadget/u_ether.h | 4 + include/linux/usb/cdc.h | 94 ++++ include/linux/usb/ncm.h | 112 ++++ include/linux/usb/usbnet.h | 7 +- 14 files changed, 2192 insertions(+), 5 deletions(-) create mode 100644 drivers/net/usb/cdc_ncm.c create mode 100644 drivers/usb/gadget/f_ncm.c create mode 100644 drivers/usb/gadget/ncm.c create mode 100644 include/linux/usb/ncm.h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html