Data communication between L4 (TCP) layer to application layer
In Linux,TTCP (L4), IP (L3) and L2 (MAC) are implemented in Linux Kernel. When packaet is received at NIC, NIC driver creates sk_buff and fill the data and passed to L3 (based on protocol registered with kernel for L3). and L3 passed sk_buff to L4 (TCP).
Can some body tell me how data from sk_buff from L4 is passed to Application or vice versa (how application delivers data to L4 and ad at what point sk_buff struct is created)