57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
#ifndef ACTIVE_DEST_MAC_VLAN_STREAM_IDENTIFICATION_FUNCTION_H
|
|
#define ACTIVE_DEST_MAC_VLAN_STREAM_IDENTIFICATION_FUNCTION_H
|
|
|
|
#include "stream-identification-function.h"
|
|
|
|
#include "ns3/mac48-address.h"
|
|
#include "ns3/packet.h"
|
|
|
|
|
|
namespace ns3
|
|
{
|
|
|
|
class ActiveDestMacVlanStreamIdentificationFunction : public StreamIdentificationFunction
|
|
{
|
|
public:
|
|
/**
|
|
* \brief Get the TypeId
|
|
*
|
|
* \return The TypeId for this class
|
|
*/
|
|
static TypeId GetTypeId();
|
|
|
|
/**
|
|
* \brief Create a ActiveDestMacVlanStreamIdentificationFunction
|
|
*/
|
|
ActiveDestMacVlanStreamIdentificationFunction();
|
|
|
|
/**
|
|
* Destroy a ActiveDestMacVlanStreamIdentificationFunction
|
|
*
|
|
* This is the destructor for the ActiveDestMacVlanStreamIdentificationFunction.
|
|
*/
|
|
~ActiveDestMacVlanStreamIdentificationFunction();
|
|
|
|
// Delete copy constructor and assignment operator to avoid misuse
|
|
ActiveDestMacVlanStreamIdentificationFunction& operator=(const ActiveDestMacVlanStreamIdentificationFunction&) = delete;
|
|
ActiveDestMacVlanStreamIdentificationFunction(const ActiveDestMacVlanStreamIdentificationFunction&) = delete;
|
|
|
|
bool Match(Ptr<Packet> p) override;
|
|
void GetActiveUpdate(Ptr<Packet> p) override;
|
|
|
|
protected:
|
|
|
|
|
|
private:
|
|
Address m_destAddress;
|
|
uint16_t m_vid;
|
|
|
|
Address m_updateDestAddress;
|
|
uint16_t m_updateVid;
|
|
uint8_t m_updatePcp;
|
|
|
|
};
|
|
|
|
}
|
|
#endif /* ACTIVE_DEST_MAC_VLAN_STREAM_IDENTIFICATION_FUNCTION_H */
|