Linux Kernel Driver with NetFilter

Today, I am going to share some development guide lines for develop Linux-Kernel Module with NetFilter. Inshah-Allah! It will be helpful for newbie.

  1. Before anything, you should do pencil work around your problem/task and LAB setup.
  2. After complete your LAB setup, your should take understanding of all technologies related to development task. These are given below,
    1. Linux Kernel Version Understanding, Selection and Compilation.
      1. I would recommend to read compilation article. You will learn a lot but for shortcut, I am listing following commands that will be use for Linux Kernel Compilation.
        1. # cd /tmp
        2. # wget
        3. # tar –zxvf linux-2.6.25.tar.gz –C /usr/src
        4. # cd /usr/src
        5. # make menuconfig
        6. # make
        7. # make modules
        8. # make modules_install
        9. # make install
        10. (Reboot system and enjoy Linux-2.6.25 Kernel)
    2. Linux Kernel Code Reading (I use vs2k5 IDE for code reading, if you know any good Open Source IDE then please let me).
    3. Linux Kernel Module Programming with v2.6 (html, pdf) including memory allocation and deletion (first, second).
    4. Protocol Understanding at packet level.
    5. Understanding of NetFilter Programming (first, second, third).
    6. Understanding of SK_BUFF structure for packet operation (first, second, third, fourth, fifth).
    7. Good development practices.
  3. Start Development and after complete your task say, “AHO!”.

I have developed Linux Kernel Driver (for Linux Kernel 2.6.25) for Gateway with in fifteen days to change one of the protocol behavior. I did not have any Linux development experience before this task. I am dimmest person in world but you are not. You can do it! Come On Say, “YES, I Can!”. Don’t forget to say, “AHO!” after complete your task.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s