// // $Copyright$ // // $TAHI: ct/icmp/Time_Exc_Global.def,v 1.3 2003/10/14 05:57:10 masaxmasa Exp $ // #include "icmp.def" #include "Fragment.def" //---------------------------------------------------------------------- // Fragmented Echo Request //---------------------------------------------------------------------- FEM_hdr_ipv6_exth( echo_request_1st, _HETHER_tn2nut, { _SRC(TN_GLOBAL); _DST(NUT_GLOBAL); }, { header = _HDR_IPV6_NAME(echo_request_1st); exthdr = frag_hdr_1st; upper = data; } ) //---------------------------------------------------------------------- // fragment header and data //---------------------------------------------------------------------- Hdr_Fragment frag_hdr_1st { NextHeader = 58; FragmentOffset = 0; MFlag = 1; Identification = FRAG_ID_T; } Payload data { data = substr(_PACKET_IPV6_NAME(echo_request),40,800); } //---------------------------------------------------------------------- // original packet //---------------------------------------------------------------------- FEM_icmp6_echo_request( echo_request, _HETHER_tn2nut, { _SRC(TN_GLOBAL); _DST(NUT_GLOBAL); }, { payload = data_size_1452; } ) //---------------------------------------------------------------------- // Time Exceeded and data //---------------------------------------------------------------------- FEM_icmp6_time_exceeded( time_exceeded, _HETHER_nut2tn, { _SRC(NUT_GLOBAL); _DST(TN_GLOBAL); }, { Code = 1; // payload = err; payload = any; } ) FEM_icmp6_time_exceeded( time_exceeded_any, _HETHER_nut2tn, { _SRC(NUT_GLOBAL); _DST(TN_GLOBAL); }, { Code = 1; payload = any; } ) Payload err { data = right(_PACKET_IPV6_NAME(echo_request_1st), 0); }