Hi all,
I am new to linux kernel development. What i want to do is , from
kernel module which
inserts its hooks using netfilter framework in linux kernel , provide
some information about inbound /outbound packets.

The information is like how many bytes has kernel TCP layer sent to
client (assume we are on server side)
which has been acked by client TCP and also bytes that server TCP has
acked for data sent from client.
Whenever a packet comes for the connection which the module is
monitoring , it should update this information if packet has ACK field
set in it .This information is to be sent to a user mode process
immediately for every packet.

I looked around and found such communication is done using
/proc , /sysfs , ioct or NETLINK socket.
Can someone point me to good documentation for pros and cons for each
of these and which one is better
in my situation.

This info is to be returned for every connection that module is
monitoring and these number can be as big as
it can. So say 1000 - 5000 connections are to be monitored .How should
i share this info with user mode process. we can assume 40 bytes of
date for each connection . So which method among all of the above is
better considering performance , implementation .

Regards ,
Rohit