From: Petr Vandrovec <vandrove@vc.cvut.cz>
To: Pierre Ossman <drzeus-list@drzeus.cx>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: NCPFS and brittle connections
Date: Thu, 25 Jan 2007 00:22:45 -0800 [thread overview]
Message-ID: <45B868D5.9070409@vc.cvut.cz> (raw)
In-Reply-To: <45B7D750.1040501@drzeus.cx>
Pierre Ossman wrote:
> Petr Vandrovec wrote:
>> Hello,
>> create test scenario where first transmit of NCP request is lost by
>> network, and before resend you kill this process. So it stops
>> resending, but local sequence count is already incremented. Then when
>> next process tries to access ncpfs, server will ignore its requests as
>> it expects packet with sequence X, while packet with sequence X+1
>> arrived.
>
> Figured something along those lines, but I couldn't find any docs on the
> protocol so I wasn't sure. You wouldn't happen to have any pointers to
> such docs?
You can download NCP documentation from Novell website. Or you could,
couple of months ago. Unfortunately that documentation just describes
different NCP calls, not transport - to my knowledge transport layer was
never documented outside of Novell.
>> And unfortunately it is not possible to simple not increment sequence
>> number unless you get reply - when server receives two packets with
>> same sequence number, it simple resends answer it gave to first
>> request, without looking at request's body at all. So in this case
>> server would answer, but would gave you bogus answer.
>
> This sounds promising though. In that case it wouldn't be necessary to
> store the entire request, just the sequence number, right?
Not quite. If packet signatures are on then server needs to know packet
you sent so it can correctly compute secret used for next packet (it is
function of old secret, and data in current packet). As current
signatures implementation implement only partial signatures, you need
just first 64bytes of the packet same - but at that point it may be
better to just resend packet completely, as write request with correct
file handle, length, and offset, but with only ~50 bytes of valid data
is going to do lot of damage on the server. So I would recommend
resending original request...
Petr
next prev parent reply other threads:[~2007-01-25 8:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-04 15:04 NCPFS and brittle connections Pierre Ossman
2007-01-04 17:26 ` Petr Vandrovec
2007-01-04 19:30 ` Pierre Ossman
2007-01-05 7:43 ` Petr Vandrovec
2007-01-24 15:27 ` Pierre Ossman
2007-01-24 17:49 ` Petr Vandrovec
2007-01-24 22:01 ` Pierre Ossman
2007-01-25 8:22 ` Petr Vandrovec [this message]
2007-01-25 10:20 ` Pierre Ossman
2007-02-01 8:39 ` Pierre Ossman
2007-02-04 6:00 ` Petr Vandrovec
2007-02-04 17:17 ` Pierre Ossman
2007-02-05 3:50 ` Petr Vandrovec
2007-02-19 10:37 ` Pierre Ossman
2007-02-20 2:47 ` Petr Vandrovec
2007-02-20 6:37 ` Pierre Ossman
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=45B868D5.9070409@vc.cvut.cz \
--to=vandrove@vc.cvut.cz \
--cc=drzeus-list@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.