Network interface in Linux kernel


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Network interface in Linux kernel
# 1  
Old 01-23-2009
Question Network interface in Linux kernel

Hi,
I wrote some network modules to 2.6.x Linux kernel.
Im useing sock_recvmsg / sock_sendmsg (linuxsrc/include/linux/net.h ) interface to
receiving and sending data in TCP mode.

Im cooperating with HTTP protocol and I have a question.

Supose that I have buffer[100]
I have connection client - server WWW ( my application )
Client want to send 2023 bytes to me.

How can I check whether there ara any data to receive. I mean
if I call sock_recvmsg once ( I receive only 100 bytes ) are there any possibility to check
whether should I call again this function If yes how can I do this.

Thx for helping forward and sorry for my english Smilie
# 2  
Old 01-23-2009
Hi!

I think you should call to sock_recvmsg() several times in a loop.

Why do you want to do this in kernel space instead of user space??

ivan.
# 3  
Old 01-24-2009
Ok, loop is simulating a "keep-alive" tcp conection but I don't want to do in way like this.
I want to create one to one connection this mean one tcp connection for one HTTP request and response so I cant check ( parse ) HTTP header.

If HTTP request header contains field with size of itself then there is no problem but
in HTTP request header there is no field like this therefor I dont know when stop(break) the loop.

Mmmmm it looks like the end of header are magick chars \r\n\n or somethig like this Maybe I can solve my simple problem with this
Code:
char buf1 = 0;
char buf2 = 0;
char buf3 = 0;

do {
   buf1 = buf2;
   buf2 = buf3;
   sock_recvmsg( buf3 )
}
while( buf1='\r' && buf='\n' && buf3='\n' )

but question is: Is this optimal for HTTP header I mean reading char by char?

PS
"Why do you want to do this in kernel space instead of user space?? "

I get this question minimum once a day Smilie
I want to learn this network interface inside a kernel.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. IP Networking

Network interface layer in Linux kernel

Dear all, lets say a linux based computer(debian) with ethernet,wifi, usb modem connected to the, linux kernel version is 3.3 Question: for each network device the network driver builds its own net_device struct and register itself with the network interface layer of the kernel. ... (1 Reply)
Discussion started by: nick_kd
1 Replies

2. UNIX for Dummies Questions & Answers

Adding a network interface to a bonded interface

I have a RHEL 5 system with a bonded interface configure using only one network port (eth0). So I have config file for ifcfg-bond0 and ifcfg-eth. I'd like to configure eth5 to be the second SLAVE in the bond. My question is, after I modify ifcfg-eth5, can I add eth5 to the bond0 interface without... (1 Reply)
Discussion started by: westmoreland
1 Replies

3. Solaris

No network cable But Network interface is UP and Running

I've one Netra 240 After changing main board and system configuration card reader, Network is not accessible any more, Network interfaces are always UP and Running even when there is no cable connected to Network interfaces. I tried to restart and plumb/unplumb with no luck. ifconfig -a... (7 Replies)
Discussion started by: samer.odeh
7 Replies

4. IP Networking

network interface -

Hello, Please, how can i create a network interface with a routable IP address on linux (ubuntu) ? AND How can i desactivate an interface? Thank you so much for help. (1 Reply)
Discussion started by: chercheur857
1 Replies

5. IP Networking

Network interface-

Hello, Please what's the difference between: AND Thank you so much (3 Replies)
Discussion started by: chercheur857
3 Replies

6. UNIX and Linux Applications

Access to network interface (Mac-network)

Hi, I'm a italian student. For my thesis I develop a gateway with protocol 6lowpan. For that I must access to network interface to develope my personal stack based on standard 802.15.4. Can you help me? I need an explanation for that. (0 Replies)
Discussion started by: berny88
0 Replies

7. Solaris

configure zones to have different network interface and network

i need to configure a zone to use different interface (bge2) than global and have connected to completely different network switch & to use its own defaultrouter and hosts file .. is it possible ..if so ..how ? Thanks (9 Replies)
Discussion started by: skamal4u
9 Replies

8. Solaris

What are the kernel parameter of network interface in Solaris?

Hi gurus Could anybody tell me that what are the kernal parameter of network interface in solaris Regards (3 Replies)
Discussion started by: girish.batra
3 Replies

9. AIX

Problem with a Network Interface

Hi every body, I have a Fiber Channel interface (fcs2) in AIX 5.2. This interface was fine & up but for some reason I could not return this interface UP again after I set it DOWN. When I tried to set this interface UP I encountered the following error: Method error... (7 Replies)
Discussion started by: aldowsary
7 Replies

10. UNIX for Dummies Questions & Answers

Network Interface

Hi ! Does anyone know how can i get information about my network interface ... if it works in half or full duplex mode !! Thx in adivance ! Witt (4 Replies)
Discussion started by: witt
4 Replies
Login or Register to Ask a Question