The networking stack in the kernel is where the majority of the code changes will have to be made. It is essential that this is well researched.