19 #define USB_SUBCLASS_CDC_NCM 0x0d 22 #define NCM_GET_NTB_PARAMETERS \ 23 ( USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \ 24 USB_REQUEST_TYPE ( 0x80 ) ) 55 #define NCM_SET_NET_ADDRESS \ 56 ( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \ 57 USB_REQUEST_TYPE ( 0x82 ) ) 60 #define NCM_SET_NTB_INPUT_SIZE \ 61 ( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \ 62 USB_REQUEST_TYPE ( 0x86 ) ) 71 #define NCM_MIN_NTB_INPUT_SIZE 2048 74 #define NCM_MAX_NTB_INPUT_SIZE 65536 91 #define NCM_TRANSFER_HEADER_MAGIC 0x484d434eUL 117 #define NCM_DATAGRAM_POINTER_MAGIC 0x304d434eUL 120 #define NCM_DATAGRAM_POINTER_MAGIC_CRC 0x01000000UL 158 #define NCM_IN_MIN_COUNT 3 164 #define NCM_IN_MIN_SIZE 16384 170 #define NCM_IN_MAX_SIZE 131072 176 #define NCM_INTR_COUNT 2
CDC-ECM USB Ethernet driver.
size_t mtu
Maximum supported NTB input size.
uint16_t remainder
Alignment remainder.
CDC-NCM datagram pointer (16-bit)
uint16_t modulus
Alignment modulus.
struct ncm_ntb_datagram_parameters in
IN datagram parameters.
struct ncm_ntb_datagram_parameters out
OUT datagram parameters.
struct ncm_ntb_datagram_parameters __attribute__
uint32_t mtu
Maximum size.
struct ncm_datagram_descriptor desc[0]
Datagram descriptors.
uint16_t sequence
Transmitted packet sequence number.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
struct net_device * netdev
Network device.
uint16_t header_len
Header length.
CDC-NCM datagram descriptor (16-bit)
struct usb_device * usb
USB device.
uint16_t offset
Starting offset.
uint16_t max
Maximum number of datagrams per OUT NTB.
uint16_t offset
Offset of next datagram pointer.
struct usbnet_device usbnet
USB network device.
uint16_t divisor
Alignment divisor.
A CDC-NCM network device.
Universal Serial Bus (USB)
USB Communications Device Class (CDC)
size_t padding
Alignment padding required on transmitted packets.
uint16_t formats
Supported formats.
struct usb_bus * bus
USB bus.
uint16_t reserved
Reserved.