I am trying to write down the very basic version of TRILL in linux. TRILL is a protocol which encapsulates the entire packet including ethernet header to forward it to end nodes without the danger of temporary loops. Then it is decapsulated at the bridge having the end host for which the packet is being destined.
I have written a sample module which encapsulates the entire packet with TRILL header over that a new ethernet header. The ether_type of TRILL is 0x88c8. I have put it in ether_type of mac_header. when i ping from one machine to another one, the bridging module having TRILL hooks, encapsulates the packets and send them to forwarding function (br_forward) in bridge. I am not recalculating the checksum. I receive the packets on other bridge but hook in br_handle_frame function to decapsulate the TRILL encapsulated traffic. I use a check of ether_type == ETHERTYPE_TRILL before calling decapsulating function. But it does not enter into the check to call the decapsulating function.
I don't know what is going wrong with it. any idea and help regarding this problem?
Thanks in advance...!
Regards,
Syed M. Mohsin Kazmi
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies