'Write an ethernet frame containing an ip datagram containing a udp
datagram containing the given payload, addressed to the given address,
to a tunnel device previously opened on this I/O system.
@param datagram: A UDP datagram payload to send.
@type datagram: L{bytes}
@param address: The destination to which to send the datagram.
@type address: L{tuple} of (L{bytes}, L{int})
@return: A two-tuple giving the address from which gives the address
from which the datagram was sent.
@rtype: L{tuple} of (L{bytes}, L{int})'

def sendUDP(self, datagram, address):

    srcIP = '10.1.2.3'
    srcPort = 21345
    serialized = _ip(src=srcIP, dst=address[0], payload=_udp(src=srcPort, dst=address[1], payload=datagram))
    openFiles = list(self._openFiles.values())
    openFiles[0].addToReadBuffer(serialized)
    return (srcIP, srcPort)
