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/