Пример #1
0
def l4_sendto(node, dest_nid, data):

	# get port table for this node and set values for destination target
	PortTable = node.GetPortTable()
	for link in PortTable:
		info = PortTable[link]

		if info[0] == dest_nid:
			dest_port = info[2]

	# get md5 hash of data for checksum
	m = hashlib.md5()
	m.update(data)
	checksum = m.hexdigest()


	# build datagram
	frame = {}
	frame['source_nid'] = node.GetNID()
	frame['source_port'] = node.GetPort()
	frame['destination_nid'] = dest_nid
	frame['destination_port'] = dest_port
	frame['sequence_number'] = 1
	frame['ack_number'] = 1
	frame['window_size'] = 15
	frame['checksum'] = checksum
	frame['data'] = data

	# encode payload
	payload = json.dumps(frame)

	Network.l3_sendto(node, dest_nid, payload)
Пример #2
0
def l4_sendto(node, dest_nid, data):
  segment = data
  Network.l3_sendto(node, dest_nid, segment)