|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Sun, 07 Sep 2008
New netchannels release.
Network channel
is peer-to-peer protocol agnostic communication channel
between hardware and userspace. It uses unified cache to store it's
channels. All protocol processing happens in process context.
This release brings us reworked (and very simple) unified
storage for all kinds of protocols (netchannel can be created for any kind
of the protocol), completely lockless data processing
(data queueing into the netchannel and its lookup in the global
storage are protected by RCU), simplifed interface.
Feature list:
- Very high bulk performance with small packets
(check userspace network stack
for more details).
- Completely lockless netchannel processing (packet queueing and netchannel lookup in the global storage are protected by RCU).
- Unified storage for all kinds of protocols: TCP/UDP, IP/IPv6, whatever you decide to implement on top of hardware layer you use.
- No protocol processing. This is pushed to the peer itself. For example to the
userspace network stack.
- Ability to inject packet into the network without root priveledges.
Userspace network stack
is the main user of the new netchannel subsystem.
Todo list include:
- Ability to improve receiving latencies (queue packets from hardware interupt handler and not software interrupt).
- Automatically scale netchannel hash table on demand.
/devel/networking :: Link / Comments ()
|