From: matt mooney <mfm@muteddisk.com>
To: N??meth M??rton <nm127@freemail.hu>
Cc: Greg KH <greg@kroah.com>, Matthew Wilcox <matthew@wil.cx>,
linux-usb@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
usbip-devel@lists.sourceforge.net
Subject: Re: USBIP protocol documentation?
Date: Tue, 24 May 2011 20:12:22 -0700 [thread overview]
Message-ID: <20110525031222.GB14290@haskell.muteddisk.com> (raw)
In-Reply-To: <4DDC142E.6070003@freemail.hu>
On 22:25 Tue 24 May , N??meth M??rton wrote:
> Greg KH wrote:
> > On Tue, May 24, 2011 at 08:28:13PM +0200, N??meth M??rton wrote:
> >> Hi,
> >>
> >> I'm looking for the USBIP protocol documentation. I found that
> >> there was already a discussion about the USBIP protocol and
> >> there is some draft about it:
> >>
> >> * http://marc.info/?l=linux-kernel&m=122001863119269&w=2
> >> * http://www.kernel.org/pub/linux/kernel/people/willy/usbip/usbip-protocol-draft-1
> >>
> >> Unfortunately I couldn't found any detailed protocol documentation
> >> on the project homepage:
> >>
> >> * http://usbip.sourceforge.net/#documentation
> >>
> >> Do you know any follow-up on the USBIP protocol documentation?
> >
> > I think the code is the "real" documentation.
I concur!
> If it is, then I need to read it in the right way, through it is not an easy task.
> I tried to find the points in the USBIP kernel code where opening, sending,
> receiving and closing of the TCP connection takes place. I took all function names
> from linux/net.h and I found the following places so far:
>
> $ grep -n -E
> 'sock_wake_async|sock_register|sock_unregister|sock_create|sock_create_kern|sock_create_lite|sock_release|sock_sendmsg|sock_recvmsg|sock_map_fd|sockfd_lookup|sockfd_put|net_ratelimit|kernel_sendmsg|kernel_recvmsg|kernel_bind|kernel_listen|kernel_accept|kernel_connect|kernel_getsockname|kernel_getpeername|kernel_getsockopt|kernel_setsockopt|kernel_sendpage|kernel_sock_ioctl|kernel_sock_shutdown|SHUT_'
> linux-2.6/drivers/staging/usbip/*
>
> linux-2.6/drivers/staging/usbip/stub_dev.c:201: kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR);
> linux-2.6/drivers/staging/usbip/stub_dev.c:216: sock_release(ud->tcp_socket);
> linux-2.6/drivers/staging/usbip/stub_tx.c:263: ret = kernel_sendmsg(sdev->ud.tcp_socket, &msg,
> linux-2.6/drivers/staging/usbip/stub_tx.c:338: ret = kernel_sendmsg(sdev->ud.tcp_socket, &msg, iov,
> linux-2.6/drivers/staging/usbip/usbip_common.c:382: result = kernel_sendmsg(sock, &msg, &iov, 1, size);
> linux-2.6/drivers/staging/usbip/usbip_common.c:384: result = kernel_recvmsg(sock, &msg, &iov, 1, size,
> linux-2.6/drivers/staging/usbip/vhci_hcd.c:845: kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR);
> linux-2.6/drivers/staging/usbip/vhci_hcd.c:858: sock_release(vdev->ud.tcp_socket);
> linux-2.6/drivers/staging/usbip/vhci_tx.c:119: ret = kernel_sendmsg(vdev->ud.tcp_socket, &msg, iov, 3, txsize);
> linux-2.6/drivers/staging/usbip/vhci_tx.c:189: ret = kernel_sendmsg(vdev->ud.tcp_socket, &msg, iov, 1, txsize);
>
> I guess this is not all, there is also a protocol defined to the user-space world.
Very true, and part of what is taking place is a unification of the userspace
and kernel protocols. Then there will be some degree of documentation. Mainly in
the form of packet diagrams to show on-wire communication.
> > Note a number of developers are actively working on changing the protocol
> > and fixing it up based on Matthew's previous comments. Look at the
> > thread on the usbip project's mailing list for a few details. More will
> > be in the patches produced by the developers.
>
> I had a look at the usbip-devel mailing list archive at
> http://sourceforge.net/mailarchive/forum.php?forum_name=usbip-devel and found
> a thread where I could find some protocol description also:
>
> * http://sourceforge.net/mailarchive/message.php?msg_id=27240940
>
> The current protocol implementation is based on top of TCP. In the message
> at http://marc.info/?l=linux-kernel&m=122001883519653&w=2 the SCTP is mentioned.
> Have anybody worked on finding out what benefits the SCTP could give to USBIP
> and what would be the drawbacks?
I think sctp would be interesting, but as greg said, and I tend to agree, this
is the least of usbip's problems.
(Maybe eliminating the need to interact w/ windows would be a good project ;)
jk!
-matt
next prev parent reply other threads:[~2011-05-25 3:13 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-24 18:28 USBIP protocol documentation? Németh Márton
2011-05-24 18:34 ` Greg KH
2011-05-24 20:25 ` Németh Márton
2011-05-24 21:25 ` Greg KH
2011-05-25 3:12 ` matt mooney [this message]
2011-05-25 5:29 ` Németh Márton
2011-05-26 7:13 ` Németh Márton
2011-06-28 6:52 ` [PATCH, RFC] USBIP protocol documentation Németh Márton
2011-06-29 8:04 ` David Chang
2011-07-04 3:11 ` David Chang
2011-07-04 5:38 ` Németh Márton
2011-07-04 8:24 ` Matt Chen
2011-07-07 4:14 ` matt mooney
2011-07-07 6:20 ` Matt Chen
2011-07-25 4:30 ` Matt Chen
2011-06-29 23:34 ` matt mooney
[not found] ` <BANLkTi=qXgnapyrsSANJ0XZuE=kz7QgsvA@mail.gmail.com>
2011-06-30 5:56 ` Németh Márton
2011-06-30 6:54 ` Matt Chen
2011-06-30 19:38 ` Németh Márton
2011-08-09 9:23 ` David Chang
2011-08-09 14:22 ` Greg KH
2011-08-10 6:41 ` David Chang
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110525031222.GB14290@haskell.muteddisk.com \
--to=mfm@muteddisk.com \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=nm127@freemail.hu \
--cc=usbip-devel@lists.sourceforge.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