A newbie here and I am working on a hobby project and trying to change the packet format of an IPv6 router advertisement packet using RADVD. But I do not know how to work on it.
My plan is to set up a wireless network with a router sending out periodic modified RA and enabling a host to identify that modified RA.
My Ubuntu PC acts as a router and it is connected to a wireless modem. A host laptop is also connected to the same network using Wifi. I installed radvd on the router pc and edited the radvd.conf file to advertise a particular network id.
sysctl.conf:
net.ipv6.conf.all.forwarding = 1
radvd.conf:
interface eth1
{
prefix 2001:db1:0:1::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
rc.local:
ip a a 2001:db1:0:1::1 dev eth1
ip r a 2001:db1:0:1::/64 dev eth1
When I start radvd, I am able to get both the router and the host on the common network and the host auto configures itself with the advertised net id.
I now want to change the packet format of the RA and introduce a few more fields that can change the way the address auto configuration works. I think that I will have to introduce few more fields in the radvd.conf file with all the parameters that I need. But I am not sure.
PS: my router is not connected to the internet. So I do not need an IPv64 tunnel. Also my current system is a single router and a single host
Additional Information: I would like to include a set of five new one bit flags that does not exist in the present RA. The present RAs support only the following information: http://manpages.ubuntu.com/manpages/utopic/man5/radvd.conf.5.html
I'm trying to create a better and a more efficient protocol for the existing ICMPv6. I have the protocol on paper but I want to implement this and test the working of my design. I also will need to change the neighbor solicitations and the neighbor advertisements of the exiting ICMPv6. Can someone help me with this?