public void broadcastPacket(IP_packet inPacket, String interfaceName) throws CommunicationException,
			LowLinkException {

		String destMAC = "FF:FF:FF:FF:FF:FF";

		String sourceIP = mIPprotocol.getIPAddress(interfaceName);

		inPacket.setSourceIPAddress(sourceIP);

		// Create layer info

		LayerInfo protocolInfo = new LayerInfo(getClass().getName());

		protocolInfo.setObjectName(getParentNodeName());

		if (!(inPacket instanceof ARP_packet) && !(inPacket instanceof ICMP_packet))
			protocolInfo.setDataType("IP_Packet");
		else
			protocolInfo.setDataType(trimClassName(inPacket.getClass().getName()));

		protocolInfo.setLayer("Network");

		protocolInfo.setDescription("Sending broadcast packet from ProtocolStack.");

		Simulation.addLayerInfo(protocolInfo);

		try {

			NetworkLayerDevice temp = (NetworkLayerDevice) mParentNode;

			temp.sendPacket(destMAC, inPacket, interfaceName);

		} catch (InvalidNetworkInterfaceNameException ex) {

			throw new CommunicationException("The Interface " + interfaceName + " was unable to send the Packet.");

		}

	}