Re: help please

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



802.11 wrote:

 > hi friends,

Hi.

 >     iam a newbie to linux 2.4 networking code i want to understand
 > ipv4 and ipv6 implementations can u point me to any good pointers for
 > learning the code please help me.

I'll try to..
Last time i tried i messed up my text :)
So i'll keep a bunch of operations out of here.
And also the main subject is you're searching for documentation...

The main target:
/usr/src/linux/net
and subdirectories.

The main documentation:
/usr/src/linux/Documentation/networking
and subdirectories.

The "runtime documentation":
/proc/net
and subdirectories.

These are the main documentations about tcp/ip for the linux kernel.

And now from the programmers side:

To program network or useful stuff:
Get the struct task_struct ready.
Get the scheduler ready.
Get the memory management ready.
get the ipc ready.
Get the sockets ready.
Get the remaining beetween ready.

To write linux device drivers,
follow christine ames and read
alessandro rubinis ldd (o'reilly)
either online at:
http://
or buy a printed copy like i did.
Reading won't take longer than two weeks :).

To handle networkpackages:
check out the socket buffer structure
#include <linux/sk_buff.h>
struct sk_buff;      /* the socket buffer */
struct sk_buff_head; /* the socket buffer queue */
and the flags and operations on belonging to.

To handle network devices:
Check out the network device structure
#include <linux/netdevice.h>
struct net_device;
and the flags and operations belonging to.
You've to register with register_netdev().
You've to implement the net_device operations and to replace them in the structure.
You've to unregister with unregister_netdev().

Then i found:
level 4: higher protocol instances
level 3: adapter-independent - dev_..() operations
level 2: adapter-abstraction - (struct net_device*)dev->operations()
level 1: adapter-dependent - net_..() operations

in the first message was a mistake - level 1 means "dependent" not "independent"

---
I think that's how they start when implementing new tcp/ip protocolstacks :)
---

 > thanks
 > vamsi

Edward

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux