İptal Edildi

Linux Kernel Network Stack Work

We're looking for someone to implement an extension to the Linux network stack. What we're trying to achieve is the aggregation of UDP packets to and from a user-space program, so that multiple packets can be passed in either direction using a single system call. Furthermore, inbound packets are likely to be coming in to a variety of ports.

How we think this can be done:

- a kernel module which:

* for packets on the way in to the machine

- hooks the network stack using NF_HOOK

- checks incoming UDP packets against a list of ports supplied by our user-space program

- if it finds a match, buffers the packet and prevents it being processed further by the vanilla network stack.

* provides user-space interfaces to:

- receive the currently buffered packets (like recv, but returning multiple packets in one call)

- transmit multiple packets

- add and remove ports from the list that we're interested in.

An alternative way of thinking about this is as a version of SOCK_RAW which

(a) filters inbound packets and blocks those that we're interested in from the rest of the network stack, and

(b) aggregates packets to and from user space.

The reason for doing this? We've an application which handles large numbers of small UDP packets on a collection of different ports, and it's spending most of its time context-switching between user-space and the kernel.

We're open to suggestions of other ways to achieve this end.

We're looking for someone experienced in this field: please don't PM me a portfolio of websites created in PHP..


Beceriler: C Programlama, Linux

Daha fazlasını gör: linux network stack, linux kernel work, network stack direction incoming packets stack, implement network stack linux, linux kernel network stack, work collection, single match, one network, on call work, how are websites created, call work, call dave, udp stack, linux network stack packet, what is a stack, system linux, how websites work, work space, small network, packets

İşveren Hakkında:
( 9 değerlendirme ) London, United Kingdom

Proje NO: #477945

Bu iş için 6 freelancer ortalamada $725 teklif veriyor


Hello Dave, Nice to see such project on the freelancer site :). Are you sure that the problem is in context-switching time? I don't know details, but did you read this article: [login to view URL] Daha Fazla

in %bids___i_period_sub_35% gün içinde750%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(1 Yorum)

I have done similar application in VxWORKS for an industrial product, for a US Client

in %bids___i_period_sub_35% gün içinde600%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(0 Değerlendirme)

Hi, I am a experienced Linux kernel developer from India. For the last three years I am working on Linux TCP and various open source router firmware like Tomato, OpenWRT, Dd-WRT, developing and debugging several wir Daha Fazla

in %bids___i_period_sub_35% gün içinde1000%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(0 Değerlendirme)

Serious Bidder: I have 9+ exp. in kernel development and ready to work with you. Thanks.

in %bids___i_period_sub_35% gün içinde550%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(0 Değerlendirme)

Hi, Please check PM... regards, elapital

in %bids___i_period_sub_35% gün içinde700%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(0 Değerlendirme)

Hi I am a veteren in C stack work. I have done extensive audits on network streams in IP for UDP voip work in asterisk. I understand codec and interframing delays.. There is a better way then agregating the UDP... but Daha Fazla

in %bids___i_period_sub_35% gün içinde750%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(0 Değerlendirme)

Sounds interesting and doable. I have run into similar issues with context switching killing performance (but in storage drivers), and resolved them in a similar fashion. The idea may need some tweaks for a solid sca Daha Fazla

in %bids___i_period_sub_35% gün içinde750%project_currencyDetails_sign_sub_37% %project_currencyDetails_code_sub_38%
(3 Değerlendirme)