27 uint16_t protocol,
const ArpHeader & header)
103 uint8_t buf[tmp + 5];
109 buf[tmp+1] = (perturbation >> 24) & 0xff;
110 buf[tmp+2] = (perturbation >> 16) & 0xff;
111 buf[tmp+3] = (perturbation >> 8) & 0xff;
112 buf[tmp+4] = perturbation & 0xff;
a polymophic address class
uint8_t GetLength(void) const
Get the length of the underlying address.
uint32_t CopyTo(uint8_t buffer[MAX_SIZE]) const
Copy the address bytes into a buffer.
virtual uint32_t Hash(uint32_t perturbation) const
Computes the hash of the packet's 5-tuple.
ArpHeader m_header
The ARP header.
ArpQueueDiscItem()=delete
bool m_headerAdded
True if the header has already been added to the packet.
virtual bool Mark(void)
Inherited from the base class, but we cannot mark ARP packets.
virtual ~ArpQueueDiscItem()
Destructor.
virtual void AddHeader(void)
Add the header to the packet.
const ArpHeader & GetHeader(void) const
virtual void Print(std::ostream &os) const
Print the item contents.
virtual uint32_t GetSize(void) const
Ipv4 addresses are stored in host order in this class.
void Serialize(uint8_t buf[4]) const
Serialize this address to a 4-byte buffer.
void AddHeader(const Header &header)
Add header to this packet.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
QueueDiscItem is the abstract base class for items that are stored in a queue disc.
uint16_t GetProtocol(void) const
Get the L3 protocol included in this item.
Address GetAddress(void) const
Get the MAC address included in this item.
uint8_t GetTxQueueIndex(void) const
Get the transmission queue index included in this item.
Ptr< Packet > GetPacket(void) const
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
uint32_t Hash32(const char *buffer, const std::size_t size)
Compute 32-bit hash of a byte buffer, using the default hash function.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
std::size_t hash(const BasicJsonType &j)
hash a JSON value
Every class exported by the ns3 library is enclosed in the ns3 namespace.