Files
eden-sim/contrib/tsn/model/stream-identification-function-active-dest-mac-vlan.h

57 lines
1.5 KiB
C
Raw Normal View History

2025-12-01 15:56:02 +01:00
#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 */