I am writing a USB driver that allows small USB devices to use their
hosts internet connection. This involves the creation of a new protocol
so userspace apps can create a socket for reading and writing. Instead
of sending the data over the normal network chain the sock forwards that
data to a USB driver which sends passes the data around around and can
write data back.
What I think needs to happen is the protocol packetizes the data to be
sent to the host, add the packets to an SKB then have the USB driver
pose as a transport device to receive the frames. Much like ECM and EEM
present as an Ethernet device on the SKBs chain. Does this make any sense?
Right now I am statically linking -- the drivers just know eachothers
functions and make direct calls. I know this is not good practice and
need to move the project past a "proof of concept" state with a better
design. I am inexperienced with the Linux network stack so any
suggestions would be appreciated.
Thanks,
Dan