From: Bjørn Mork > Sent: 19 May 2017 14:56 ... > Unless someone has a nice way to just collect a list of skbs and have > them converted to proper framing on the fly when transmitting, without > having to care about USB packet boundaries. skb can be linked into arbitrary chains (or even trees), but I suspect the usbnet code would need to be taught about them. For XHCI it isn't too bad because it will do arbitrary scatter-gather (apart from the ring end). But I believe the earlier controllers only support fragments that end on usb packet boundaries. I looked at the usbnet code a few years ago, I'm sure it ought to be possible to shortcut most of the code that uses URB and directly write to the xhci (in particular) ring descriptors. For receive you probably want to feed the USB stack multiple (probably) 2k buffers, and handle the debatching into ethernet frames yourself. One of the ASIX drivers used to be particularly bad, it allocated 64k skb for receive (the hardware can merge IP packets) and then hacked the true_size before passing upstream. David ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥