Is there a kind of opensource framework base on dpdk, also implement userspace tcp/ip protocol? - tcp

Besides, this framework support multithread construct, provide POSIX_like interface(including epoll), also support multicast.
Thank you all!

you may try using vpp by FDio.

you can give a try to UDPDK which is the most usable and closest to UDP like implementation (with DPDK under the hood) that I have found so far though you have to add/tweak some things before integrating in prod code

Related

Can netty be used with jssc for serial comms?

I've used netty with udp and tcp protocols.
To my surprise it can be used with serial port as well.
Transport used is rxtx, there are a very few positive recommendations for rxtx.
Can netty be used with jssc instead of rxtx?
Should an application developer really care about the underlying implementation (rxtx or jssc)?
Should there be a problem developing in x86 then swapping to ARM?
There is currently no support for jssc, but you could write your own transport implementation using it.
As Norman said you could write your own jssc channel implementation to make it work with netty. However you may find ready libraries here below:
Original lib:
https://github.com/jkschneider/netty-jssc
My fork with some fixes:
https://github.com/tttomat19/netty-jssc
Regarding ARM/x86 question I believe jssc supports ARM, but I did not try it.
Regarding rxtx and jssc comparison I had unpleasant experience with rxtx performance and maven build.

setting up a UDP server and client using netty

Netty is really well documented when it comes to TCP, but I wanted to try a simple UDP server-client example and didn't find any good code out there. (mostly mailing lists and users with allegedly buggy code)
Anyone care to provide some simple example? Thanks!
Maybe this will help you
https://github.com/normanmaurer/javamagazin-netty-ws/tree/master/src/main/java/me/normanmaurer/javamagazin/netty/examples/ws
It also bootstrap a simple udp server

Is there a way to intercept all http, https traffic

I have used a lot of parent control software but none of them is perfect. I am thinking to write my own. I want to use either C++ or java or combination of two. My main issue is how to capture all traffic originating from browser.
I want to do it in a way hack proof way.
I appreciate greatly any help on this.
Thanks in advance.
You can't intercept data transfers from your http/https connections
You will have to build a Packet sniffer and find a way to filter out the packages you are looking for, To my suprise im not getting any solid results when i try to google C++ packet sniffer tutorials, but thats defeneteley the way to go.
For windows you need create filter driver for network adapter. Under linux you can use raw sockets for this purpose. Unfortunately, windows not support full row socket functionality.

NDIS 5/6 driver with tcp/ip stack, is there code?

I'm trying to write a windows kernel driver which requires tcp/ip communication using NDIS 5/6. Since it will use NDIS, as I understand it, it needs it's own tcp/ip stack implementation.
Could anyone point me in the direction of an implementation of this, or something close to it?
Any help would be greatly appreciated!
Kind regards
You don't need to implement your own TCP/IP stack!
First, are you sure that this needs to be done in a driver? All your complex code and business logic should usually be in a usermode application or service. Drivers are mostly meant to be very simple wrappers around hardware. This rule isn't just some abstract principle either — it's much easier to write usermode code, where you can use a familiar debugger and the much-broader set of Win32 APIs. You'll solve your problem sooner if you can move most of your code to usermode.
If you really must do TCP socket I/O in kernel mode, then you should use Winsock Kernel (WSK). WSK allows you to open a socket, similar to Winsock in usermode. (Although the usermode Winsock API has more options and features; WSK is bare-bones).
WSK is available on Windows Vista and later. If you must support Windows XP, then you need to use TDI. TDI is much harder to get right; I don't reccomend using it if you can avoid it.

How to setup Quality of Service?

I'm talking about http://en.wikipedia.org/wiki/Quality_of_service. With streaming stackoverflow podcasts and downloading the lastest updates to ubuntu, I would like to have QoS working so I can use stackoverflow without my http connections timing out or taking forever.
I'm using an iConnect 624 ADSL modem which has QoS built-in but I can't seem to get it to work. Is it even possible to control the downstream (ie. from ISP to your modem)?
I don't know if this will help you, but I've never been a fan of using the ISP provided box directly. Personally I use a Linksys wrt54gl, with DD-wrt, behind(DMZ) my ISP provided box.
DD-wrt has excellent QoS management.
Sorry I can't be more help with your existing hardware.
You just need the tc command to handle the QoS on Linux boxen. However I wouldn't expect that much from it because of the results I obtained and detailed here.

Resources