#!./gasp

description {
	name		"udp/simple"
	description	"Send a simple UDP datagram"
	author		"Laurent Riesterer"
	version		"1.0"
	date		"25/01/2000"
}

options {
	srcIP		[device ip]
	srcPort		1234
	destIP		[device ip]
	destPort	5678
	data		"0123456789__TEST__AbCDefGHIjklMONPqrstUVWXYz"
}

packets pkt

#-------------------------------------------------------------------------------------------------
#	Generate simple UDP
#-------------------------------------------------------------------------------------------------

script {
	# init packet
	pkt resize 1024
	pkt fill 0
	pkt deletemapper
	# build mappers
	pkt newmapper ethernet -setdefaults
	pkt ethernet configure -dest [device arp $destIP]

	pkt newmapper ip -setdefaults
	pkt ip configure -src $srcIP -dest $destIP -proto "udp"

	pkt newmapper udp -setdefaults
	pkt udp configure -src $srcPort -dest $destPort

	pkt data $data

	# compute length & checksum
	pkt udp setlength
	pkt ip setlength

	pkt udp setchecksum
	pkt ip setchecksum

	# send it
	pkt send

	# result
	log::full "---- Data sent ----" pkt
}
