// SCTP Conformance Test Suite Implementation // (C) Copyright Fujitsu Ltd. 2008, 2009 // // This file is part of the SCTP Conformance Test Suite implementation. // // The SCTP Conformance Test Suite implementation is free software; // you can redistribute it and/or modify it under the terms of // the GNU General Public License version 2 as published by // the Free Software Foundation. // // The SCTP Conformance Test Suite implementation is distributed in the // hope that it will be useful, but WITHOUT ANY WARRANTY; without even // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with GNU CC; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Please send any bug reports or fixes you make to the // email address(es): // networktest sctp // // Or submit a bug report through the following website: // http://networktest.sourceforge.net/ // // Written or modified by: // Hiroaki Kago // Wei Yongjun // // Any bugs reported given to us we will try to fix... any fixes shared will // be incorporated into the next SCTP release. // #define NO_STD_SND_CHUNK_INIT #include "../common/STD_PKT_COMMON.def" // // SCTP CHUNK_INIT // PKG_SCTP_EXTH_SEND( sctp_chunk_init_snd, { SourcePort = SCTP_TN0_PORT; DestinationPort = SCTP_NUT0_PORT; }, { chunk = chunk_init_snd; } ) CHUNK_INIT chunk_init_snd { InitiateTag = INITTAG; AdvRecvWindow = ARWND; NumOfOutbound = OS; NumOfInbound = MIS; TSN = INITTSN; #if (AUTH_ENABLE == 1) || (ADDIP_ENABLE == 1) || (STRRST_ENABLE == 1) Param = support_ext_snd; #endif #if (AUTH_ENABLE == 1) Param = auth_random_snd; Param = auth_chunk_list_snd; Param = auth_hmac_algo_snd; #endif Param = addr1; } #if (ENABLE_IPV6 == 0) IPv4Address addr0 { Address = v4(SCTP4_TN_NET0_ADDR); } IPv4Address addr1 { Address = v4(SCTP4_TN_NET1_ADDR); } #else IPv6Address addr0 { Address = SCTP6_TN_NET0_ADDR; } IPv6Address addr1 { Address = SCTP6_TN_NET1_ADDR; } #endif // // SCTP CHUNK_ASCONF // PKG_SCTP_SHORT_SEND_AUTH( sctp_chunk_asconf_del_addr, { chunk = asconf_del_addr; } ) CHUNK_ASCONF asconf_del_addr { SerialNumber = SSERIAL; Param = addr0; Param = deladdr; } DeleteIPAddress deladdr { Address = addr0; } // // SCTP CHUNK_ASCONF_ACK // PKG_SCTP_SHORT_RECV_AUTH( sctp_chunk_asconf_ack_err, { chunk = asconf_ack_err; } ) CHUNK_ASCONF_ACK asconf_ack_err { SerialNumber = SSERIAL; Param = errindication; } ErrorCauseIndication errindication { Error = deletesrcaddr; } DeleteSourceIPAddress deletesrcaddr { Information = deladdr; }