We developed IPv6Suite as an open source OMNeT++ model suite for accurate simulation of IPv6 protocols and networks as part of the ATcrc activities (ATcrc is now closed and we don't work with IPv6Suite anymore, therefore it does not compile with the current installations of OMNeT++, and probably spending time will not be feasible to improve it. My recommendation is to start working with INETFramework, and add the necessary functionality into it). IPv6Suite extended the INETFramework by adding the
models for the simulation of the functionality of the following RFCs:
RFC 2373 IP Version 6 Addressing Architecture
RFC 2374 An IPv6 Aggregatable Global Unicast Address Format
RFC 2460 Internet Protocol, Version 6 (IPv6) Specification
RFC 2461 Neighbor Discovery for IP Version 6 (IPv6)
RFC 2462 IPv6 Stateless Address Autoconfiguration
RFC 2463 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
RFC 2464 Transmission of IPv6 Packets over Ethernet Networks
RFC 2472 IP Version 6 over PPP
RFC 2473 Generic Packet Tunneling in IPv6
RFC 3775 Mobility Support in IPv6 (no security)
and the following Internet Drafts:
Hierarchical Mobile IPv6 Mobility Management (HMIPv6) mipshop-2
Optimistic Duplicate Address Detection Revision 0
Fast Solicited Router Advertisements Revision 4
Early Binding Updates for Mobile IPv6 Revision 0
Neighbor Discovery for IP version 6 (draft-soliman-ipv6-2461-bis-01.txt) - for Fast Router Solicitations
and also has models for the following standards to simulate wireless LANs:
IEEE 802.3
IEEE 802.11b
With IPv6Suite, it is possible for a fixed node to have MIPv6 behaviour i.e. detaching and reattaching to a different subnet (requires additional code for fixed node transitions), we were not interested in this scenario so the MIPv6 behaviour may/may not work in this case. Patches are welcome.
It was a substantial undertaking. We have written lots of C++ code (I would say unnecessarily too much!).