On Mon, 1 Jun 2015, Oliver Neukum wrote: ==Date: Mon, 1 Jun 2015 14:00:22 ==From: Oliver Neukum <oneukum@xxxxxxxx> ==To: Enrico Mioso <mrkiko.rs@xxxxxxxxx> ==Cc: youtux@xxxxxxxxx, Greg KH <greg@xxxxxxxxx>, linux-usb@xxxxxxxxxxxxxxx, == netdev@xxxxxxxxxxxxxxx ==Subject: Re: [cdc_ncm] guidance and help refactoring cdc_ncm == ==On Mon, 2015-06-01 at 13:41 +0200, Enrico Mioso wrote: ==> Thank you Oliver, thank you all for reading this thread and the attention. ==> For a more detailed discussion and how we got here, you might google for the ==> thread: ==> "Is this 32-bit NCM?" ==> and ==> "Is this 32-bit NCM?y" (follow up). ==> Where the "y" letter comes from a mistake of mine. == ==Having read them it looks like the issues of padding and ==sequence numbers are open. == ==> The specification does only mandate the position of the NTH (header). The rest ==> can be in any order and position in general. This will work with most devices: ==> except, of course, those from Huawei. == ==Indeed. And a redesign for crap devices looks like ==a bad idea. == ==> Our aggregate looks something like this from my perspective (anyone correct me ==> in case): ==> NTH: header ==> NDP: contains indexing informations ==> ethernet packet 1 ==> ethernet packet 2 ==> ... ==> ethernet packet n; ==> ==> While it should look like: ==> NTH: header ==> ethernet packet 1 ==> ethernet packet 2 ==> ... ==> ethernet packet n; ==> NDP: contains indexing informations ==> ==> but, when introducing such a change: you might break other devices now working. ==> Infact, clearly there are multiple vendors producing NCM device, as you might ==> also see by looking at the dirver's comments. ==> So in general, we should be able to dynamically change the way in which the ==> driver order things in the package. ==> and that's why I initially proposed the "redesign". == ==OK, so the NDP needs to be at the end. However in the old thread ==you state that this requires the NDP to be built between the ==final aggregate and physically transmitting. I think this is a false ==choice. You could just as well copy the NDP around provided you reserve ==enough space at the end of the skb. Yes, probably you can do so. I am not against anything at this moment. == == Regards == Oliver == == == == -- 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