Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Enrico Mioso <mrkiko.rs@gmail.com>
To: Valdis.Kletnieks@vt.edu
Cc: bjorn@mork.no,
	"cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] [discuss] [cdc_ncm] Refactoring cdc_ncm
Date: Tue, 20 Jan 2015 19:21:34 +0100 (CET)	[thread overview]
Message-ID: <alpine.LNX.2.03.1501201804400.1781@gmail.com> (raw)
In-Reply-To: <5605.1421770418@turing-police.cc.vt.edu>

First of all: hello to everyone and good evening.
I put you in CC Bjorn so that you can also follow this conversation.
Please all of you - keep me in CC, I am not subscribed to any list.

So - let explain it from the beginning. Sorry if I didn't do this before.

Some USB dongle modems / might be chipsets?, use the NCM protocol: an USB 
specification, whose main goal was to allow for grouping of more than one 
ethernet frame in a single USB packet, thus allowing for more efficiency and 
performance.
you can find it at http://www.usb.org/
after some juggling around. Or look at the URL I specified in my first patch in 
case.

An NCM packet is formed of different parts: I remember the acronyms, not their 
meaning. Still you can see them in the specs.
- DPE
- NDP
- and so on;

the position of some of these parts is "arbitrary": not specified in the specs.
The device system (running Linux) and the firmware, can infact put them 
practically where they want.
However, some particular devices, like the E3372 and possibly other devices, 
require the NDP part of the packet being placed at the end. Wituout this, the 
device will not validate packets, not answer to them.

So the need for modifying / refactoring the cdc_ncm.c driver occurred: in that 
driver infact, some parts of the NCM logic and the "driver code" are not 
separate enough in my point of view.
And more - the NCM logic itself, would need to be refactored out, so that it 
can be made more flexible in the future, adaptable to newer devices as problems 
arise.
In particular, contrary to what the driver does in it's current state, my goals 
would be, in order of importance:
- completely separate ncm-related code from the rest
- changing the way in which the {tx,rx}_fixup functions handle frames they 
{build / prepare to send,receive incoming} frames.
   This, to allow for queuing up frames and building the NCM packet all at once
   when needed.

The driver uses a smart solution to coalesce frames in one packet, as 
implemente by Bjorn, to which I am grate for this work also.

So - sorry if I've been boring.
Any help would be _greatly_ welcome.
Enrico

  reply	other threads:[~2015-01-20 18:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <AMSPR06MB6011E001029C251790CB923EE780@AMSPR06MB601.eurprd06.prod.outlook.com>
     [not found] ` <877fy7myfb.fsf@nemi.mork.no>
     [not found]   ` <alpine.LNX.2.03.1412041326160.9926@gmail.com>
     [not found]     ` <54811670.5030703@audiocodes.com>
     [not found]       ` <8761dqjuuh.fsf@nemi.mork.no>
     [not found]         ` <alpine.LNX.2.03.1501191743360.2081@gmail.com>
2015-01-19 17:47           ` Dave Taht
2015-01-19 18:28             ` Enrico Mioso
2015-01-20 16:13               ` Valdis.Kletnieks
2015-01-20 18:21                 ` Enrico Mioso [this message]
2015-01-20 19:54                 ` Enrico Mioso
2015-01-20 21:25                 ` Enrico Mioso

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.03.1501201804400.1781@gmail.com \
    --to=mrkiko.rs@gmail.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=bjorn@mork.no \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox