Can the channel ID be ignored? [Was Re: af_rxrpc: RXRPC reorganisation]
jaltman at your-file-system.com
Wed May 28 06:07:25 PDT 2014
On 5/28/2014 6:56 AM, David Howells wrote:
> Tim Smith <tim at electronghost.co.uk> wrote:
>> struct rxrpc_call seems to contain a lot of stuff which is per-channel
> You might also just ignore the channel ID field entirely - except to check
> that it's correct for any particular call. We don't really care if we get
> more than four calls for a connection: the "four channels" thing is there to
> speed up call lookup - but does it really help with your hashing stuff in
> place in the kernel?
RX defines four channels per connection. There cannot be more than
four calls (one per channel) in flight at any given time on a
connection. Packets for a call in a channel that are older than the
active call are dropped. Packets for a call in a channel that are newer
than the active call are returned RX_CALL_BUSY.
Part of the reason the rxkad challenge response protocol specifies the
current call ids for each channel is to synchronize the state machine
between the rx peers. It is critical that the channel state between
the peers remain in sync.
Peers that wish to maintain more than four calls inflight at a time must
use more than one RX connection.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4529 bytes
Desc: S/MIME Cryptographic Signature
More information about the linux-afs