// // $Copyright$ // $TINY: RA_LCNA.def,v 1.12 2002/03/05 17:13:55 miyata Exp $ // RA_LCNA.def // // This file has some basic definition and frames for DAD test about // any tentative address, and may be included from other *.def files. // // DADV6ADDR : v6 Tentative address for DAD // NUT_HasNoLLOCAL : if defined NUT has no link-local address // DADNA_SRC : IPv6 src address of DAD NA // dadns_from_NUT : DAD NS coming from NUT on DAD // chkconf_dadns_to_NUT : DAD NS send to NUT to check if address is configured // chkconf_dadna_from_NUT : DAD NA coming from NUT if addrss is configured // // #include "LLA_LCNA.def" #define GA0 v6merge( _GLOBAL0_UCAST_PRFX, _GLOBAL0_UCAST_PRFXLEN, nutv6()) #define GA1 v6merge( _GLOBAL1_UCAST_PRFX, _GLOBAL1_UCAST_PRFXLEN, nutv6()) #define GA2 v6merge( _GLOBAL2_UCAST_PRFX, _GLOBAL2_UCAST_PRFXLEN, nutv6()) #define SLA0 v6merge( _SLOCAL0_UCAST_PRFX, _SLOCAL0_UCAST_PRFXLEN, nutv6()) #define LLA0_RT1 v6("fe80::0000:00ff:fe11:1111") //######################################################### _HETHER_define(hether_any2any, any, any) _SLLOPT_define(sllopt_any, any) FEM_ADDRCONF_dadns(DADNS_any, hether_any2any, SourceAddress=any; DestinationAddress=any; , TargetAddress=any; ) FEM_ADDRCONF_dadns(DADNS_any_wSLL, hether_any2any, SourceAddress=any; DestinationAddress=any; , TargetAddress=any; option=sllopt_any; ) //######################################################### // General Definition FEM_icmp6_ra ( ra, _HETHER_tn2allnodes, { _SRC(tnv6()); _DST(v6(_LLOCAL_ALLNODES_MCAST_ADDR)); HopLimit=255; }, { CurHopLimit=64; LifeTime=1805; ReachableTime=30005; RetransTimer=1005; option=_SLLOPT_tn; option=prefix_ra; } ) Opt_ICMPv6_Prefix prefix_ra { PrefixLength=64; LFlag=1; AFlag=1; ValidLifetime=10000; PreferredLifetime=10000; Prefix=v6(_GLOBAL0_UCAST_PRFX); } FEM_icmp6_rs(RS_from_NUT,_HETHER_nut2allrouters, { _SRC(nutv6()); _DST(v6(_ALLROUTERS_MCAST_ADDR)); HopLimit=255; }, { } ) FEM_icmp6_rs(RS_from_NUT_wSLL, _HETHER_nut2allrouters, { _SRC(nutv6()); _DST(v6(_ALLROUTERS_MCAST_ADDR)); HopLimit=255; }, { option=_SLLOPT_nut; } ) //============================== // Specific Definition //============================== //------------------------------ //------ Global //------------------------------ FEM_ADDRCONF_ra(RA_GA0, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0; ) FEM_ADDRCONF_ra(RA_GA1, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA1; ) FEM_ADDRCONF_ra(RA_GA2, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA2; ) FEM_ADDRCONF_ra(RA_GA0GA1, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0; option=PrefixOptGA1; ) FEM_ADDRCONF_ra(RA_GA1_RT1, _HETHER_src2allnodes, _SRC(LLA0_RT1); , option=_SLLOPT_src; option=PrefixOptGA1; ) FEM_ADDRCONF_ra(RA_GA0_HL254, _HETHER_src2allnodes, _SRC(v6src()); HopLimit=254; , option=_SLLOPT_src; option=PrefixOptGA0; ) FEM_ADDRCONF_ra(RA_GA0_AF0, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_AF0; ) FEM_ADDRCONF_ra(RA_GA0_PXLEN48, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_PXLEN48; ) FEM_ADDRCONF_ra(RA_GA0_PXLEN96, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_PXLEN96; ) FEM_ADDRCONF_ra(RA_GA0_PXLEN130, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_PXLEN130; ) FEM_ADDRCONF_ra(RA_LLA, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOpt_PXLLA; ) FEM_ADDRCONF_ra(RA_GA0_PLTgtVLT, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_PLTgtVLT; ) FEM_ADDRCONF_ra(RA_GA0_VLT0, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_VLT0; ) FEM_ADDRCONF_ra(RA_GA0_VLT20, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_VLT20; ) FEM_ADDRCONF_ra(RA_GA0_VLT60, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_VLT60; ) FEM_ADDRCONF_ra(RA_GA0_VLT90, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0_VLT90; ) _PRFXOPT_define(PrefixOptGA0, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=30; PreferredLifetime=15; ) _PRFXOPT_define(PrefixOptGA1, v6(_GLOBAL1_UCAST_PRFX), _GLOBAL1_UCAST_PRFXLEN, ValidLifetime=30; PreferredLifetime=15; ) _PRFXOPT_define(PrefixOptGA2, v6(_GLOBAL2_UCAST_PRFX), _GLOBAL2_UCAST_PRFXLEN, ValidLifetime=30; PreferredLifetime=15; ) _PRFXOPT_define(PrefixOptGA0_AF0, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=30; PreferredLifetime=15; AFlag=0; ) _PRFXOPT_define(PrefixOptGA0_PXLEN48, v6(_GLOBAL0_UCAST_PRFX), 48, ValidLifetime=30; PreferredLifetime=15; ) _PRFXOPT_define(PrefixOptGA0_PXLEN96, v6(_GLOBAL0_UCAST_PRFX), 96, ValidLifetime=30; PreferredLifetime=15; ) _PRFXOPT_define(PrefixOptGA0_PXLEN130, v6(_GLOBAL0_UCAST_PRFX), 130, ValidLifetime=30; PreferredLifetime=15; ) _PRFXOPT_define(PrefixOptGA0_PLTgtVLT, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=15; PreferredLifetime=30; ) _PRFXOPT_define(PrefixOptGA0_VLT0, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=0; PreferredLifetime=0; ) _PRFXOPT_define(PrefixOptGA0_VLT20, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=20; PreferredLifetime=10; ) _PRFXOPT_define(PrefixOptGA0_VLT60, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=60; PreferredLifetime=30; ) _PRFXOPT_define(PrefixOptGA0_VLT90, v6(_GLOBAL0_UCAST_PRFX), _GLOBAL0_UCAST_PRFXLEN, ValidLifetime=90; PreferredLifetime=45; ) _PRFXOPT_define(PrefixOpt_PXLLA, v6(_LLOCAL0_UCAST_PRFX), _LLOCAL0_UCAST_PRFXLEN, ValidLifetime=30; PreferredLifetime=15; ) //--- NS from NUT FEM_ADDRCONF_dadns(DADNS_from_NUT_GA0Tgt, hether_nut2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=GA0; // Tentative Address ) FEM_ADDRCONF_dadns(DADNS_from_NUT_GA1Tgt, hether_nut2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=GA1; // Tentative Address ) FEM_ADDRCONF_dadns(DADNS_from_NUT_GA2Tgt, hether_nut2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=GA2; // Tentative Address ) //--- NS from TN FEM_ADDRCONF_dadns(DADNS_from_TN_GA0Tgt, hether_tn2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=GA0; // Tentative Address ) FEM_ADDRCONF_dadns(DADNS_from_TN_GA1Tgt, hether_tn2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=GA1; // Tentative Address ) FEM_ADDRCONF_dadns(DADNS_from_TN_GA2Tgt, hether_tn2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=GA2; // Tentative Address ) //--- NA from NUT FEM_ADDRCONF_dadna(DADNA_from_NUT_GA0Tgt, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=GA0; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_NUT_GA0Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=GA0; ) FEM_ADDRCONF_dadna(DADNA_from_NUT_GA1Tgt, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=GA1; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_NUT_GA1Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=GA1; ) FEM_ADDRCONF_dadna(DADNA_from_NUT_GA2Tgt, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=GA2; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_NUT_GA2Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=GA2; ) //--- NA from Global NUT FEM_ADDRCONF_dadna(DADNA_from_GA0NUT_GA0Tgt, _HETHER_nut2allnodes, SourceAddress=GA0; , TargetAddress=GA0; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_GA0NUT_GA0Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=GA0; , TargetAddress=GA0; ) FEM_ADDRCONF_dadna(DADNA_from_GA1NUT_GA1Tgt, _HETHER_nut2allnodes, SourceAddress=GA1; , TargetAddress=GA1; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_GA1NUT_GA1Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=GA1; , TargetAddress=GA1; ) FEM_ADDRCONF_dadna(DADNA_from_GA2NUT_GA2Tgt, _HETHER_nut2allnodes, SourceAddress=GA2; , TargetAddress=GA2; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_GA2NUT_GA2Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=GA2; , TargetAddress=GA2; ) //------------------------------ //------ Site-Local //------------------------------ FEM_ADDRCONF_ra(RA_SLA0, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptSLA0; ) FEM_ADDRCONF_ra(RA_SLA0_RT1, _HETHER_src2allnodes, _SRC(LLA0_RT1); , option=_SLLOPT_src; option=PrefixOptSLA0; ) _PRFXOPT_define(PrefixOptSLA0, v6(_SLOCAL0_UCAST_PRFX), _SLOCAL0_UCAST_PRFXLEN, ValidLifetime=30; PreferredLifetime=15; ) FEM_ADDRCONF_dadns(DADNS_from_NUT_SLA0Tgt, hether_nut2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=SLA0; // Tentative Address ) FEM_ADDRCONF_dadns(DADNS_from_TN_SLA0Tgt, hether_tn2tentsolnode, DestinationAddress=_IPV6_SOLNODE_MCAST(nutv6()); , TargetAddress=SLA0; // Tentative Address ) FEM_ADDRCONF_dadna(DADNA_from_NUT_SLA0Tgt, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=SLA0; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_NUT_SLA0Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=nutv6(); , TargetAddress=SLA0; ) FEM_ADDRCONF_dadna(DADNA_from_SLA0NUT_SLA0Tgt, _HETHER_nut2allnodes, SourceAddress=SLA0; , TargetAddress=SLA0; option=_TLLOPT_nut; ) FEM_ADDRCONF_dadna(DADNA_from_SLA0NUT_SLA0Tgt_woTLL, _HETHER_nut2allnodes, SourceAddress=SLA0; , TargetAddress=SLA0; ) //------------------------------ //------ Global and Site-Local //------------------------------ FEM_ADDRCONF_ra(RA_GA0SLA0, _HETHER_src2allnodes, _SRC(v6src()); , option=_SLLOPT_src; option=PrefixOptGA0; option=PrefixOptSLA0; )