// // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Yokogawa Electric Corporation, // YDC Corporation, IPA (Information-technology Promotion Agency, Japan). // All rights reserved. // // Redistribution and use of this software in source and binary forms, with // or without modification, are permitted provided that the following // conditions and disclaimer are agreed and accepted by the user: // // 1. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // // 3. Neither the names of the copyrighters, the name of the project which // is related to this software (hereinafter referred to as "project") nor // the names of the contributors may be used to endorse or promote products // derived from this software without specific prior written permission. // // 4. No merchantable use may be permitted without prior written // notification to the copyrighters. However, using this software for the // purpose of testing or evaluating any products including merchantable // products may be permitted without any notification to the copyrighters. // // // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND // CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING // BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS // FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE // COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF // THE POSSIBILITY OF SUCH DAMAGE. // #define TNIP4 "192.168.0.2" #define NUTIP4 "192.168.0.1" //====================================================================== // Frame Frame_Ether _ping4 { header=eth_auto; packet=ip_ping4; } //---------------------------------------------------------------------- Frame_Ether _reply4 { header=eth_auto; packet=ip_reply4; } //---------------------------------------------------------------------- Frame_Ether _arp1 { header=eth_auto2bc; packet=_arp_req; } //---------------------------------------------------------------------- Frame_Ether _arp2 { header=eth_auto; packet=_arp_rep; } //====================================================================== // Ether Hdr_Ether eth_auto { // SourceAddress=auto; // DestinationAddress=auto; // Type=auto; } //---------------------------------------------------------------------- Hdr_Ether eth_auto2bc { // SourceAddress=auto; DestinationAddress=ether("ff:ff:ff:ff:ff:ff"); // Type=auto; } //====================================================================== // Packet IPv4 Packet_IPv4 ip_ping4 { header=v4tn2nut; upper=icmp_ping; } //---------------------------------------------------------------------- Packet_IPv4 ip_reply4 { header=v4nut2tn; upper=icmp_reply; } //====================================================================== // IPv4 Hdr_IPv4 v4tn2nut { SourceAddress=v4(TNIP4); DestinationAddress=v4(NUTIP4); } //---------------------------------------------------------------------- Hdr_IPv4 v4nut2tn { DestinationAddress=v4(TNIP4); SourceAddress=v4(NUTIP4); } //====================================================================== ICMPv4_EchoRequest icmp_ping { // Type=128; // Code=0; // Checksum=auto; // Identifier=0; // SequenceNumber=0; payload=apl; } //---------------------------------------------------------------------- ICMPv4_EchoReply icmp_reply { // Type=129; // Code=0; // Checksum=auto; // Identifier=0; // SequenceNumber=0; payload=apl; } //====================================================================== // Data Payload apl { data={0xb9,0xf9,0xa2,0x36,0x78,0x02,0x0d,0x00}; data={0xb9,0xf9,0xa2,0x36,0x78,0x02,0x0d,0x00}; data={0xb9,0xf9,0xa2,0x36,0x78,0x02,0x0d,0x00}; } //====================================================================== // Pacekt ARP Packet_ARP _arp_req { header=_arp_req_hdr; } //---------------------------------------------------------------------- Packet_ARP _arp_rep { header=_arp_rep_hdr; } //====================================================================== // ARP Hdr_ARP _arp_req_hdr { SenderPAddr=v4(NUTIP4); TargetPAddr=v4(TNIP4); TargetHAddr=ether("00:00:00:00:00:00"); } //---------------------------------------------------------------------- Hdr_ARP _arp_rep_hdr { SenderPAddr=v4(TNIP4); TargetPAddr=v4(NUTIP4); TargetHAddr=tnether(); }