5 #ifndef vnsw_agent_tunnel_nh_hpp
6 #define vnsw_agent_tunnel_nh_hpp
21 return "Tunnel to " +
dip_.to_string() +
32 virtual bool CanAdd()
const;
34 const uint32_t
vrf_id()
const;
94 return "Tunnel to " +
GetDip()->to_string() +
126 const uint16_t sport,
const IpAddress &dip,
127 const uint16_t dport) :
167 virtual bool CanAdd()
const;
169 const uint32_t
vrf_id()
const;
177 return "Mirror to " +
dip_.to_string();
DISALLOW_COPY_AND_ASSIGN(LabelledTunnelNH)
uint32_t const GetTransportLabel() const
virtual bool NeedMplsLabel()
virtual bool CanAdd() const
MirrorNHKey(const string &vrf_name, const IpAddress &sip, const uint16_t sport, const IpAddress &dip, const uint16_t dport)
const VrfEntry * GetVrf() const
virtual bool DeleteOnZeroRefCount() const
virtual bool NeedMplsLabel()
boost::asio::ip::address IpAddress
virtual bool TunnelNextHopIsLess(const DBEntry &rhs) const
TunnelNH(VrfEntry *vrf, const Ip4Address &sip, const Ip4Address &dip, bool policy, TunnelType type, const MacAddress &rewrite_dmac)
const AgentRoute * GetRt() const
virtual void SendObjectLog(const NextHopTable *table, AgentLogEvent::type event) const
const Ip4Address * GetDip() const
static TypeBmap MplsType()
bool GetCryptTunnelAvailable() const
DISALLOW_COPY_AND_ASSIGN(MirrorNHKey)
const bool & IsEncapValid(const uint32_t &i) const
DISALLOW_COPY_AND_ASSIGN(MirrorNH)
DependencyRef< NextHop, AgentRoute > arp_rt_
std::unique_ptr< DBRequestKey > KeyPtr
Base class for all Route entries in agent.
virtual ~LabelledTunnelNH()
std::string ToString() const
virtual bool ChangeEntry(const DBRequest *req)
TunnelType::Type const GetTransportTunnelType() const
virtual void SetKey(const DBRequestKey *key)
virtual bool TunnelNextHopIsLess(const DBEntry &rhs) const
virtual void SetKey(const DBRequestKey *key)
uint32_t transport_mpls_label_
const uint16_t GetSPort() const
EncapData(NextHop *nh, InterfaceConstRef intf)
virtual bool DeleteOnZeroRefCount() const
const uint32_t vrf_id() const
virtual void SendObjectLog(const NextHopTable *table, AgentLogEvent::type event) const
const TunnelType & GetTunnelType() const
InetUnicastAgentRouteTable * GetRouteTable()
InterfaceConstRef crypt_interface_
virtual bool DeleteOnZeroRefCount() const
virtual NextHop * AllocEntry() const
boost::intrusive_ptr< const Interface > InterfaceConstRef
const VrfEntry * GetVrf() const
InterfaceConstRef interface_
DISALLOW_COPY_AND_ASSIGN(TunnelNH)
const Ip4Address * GetSip() const
virtual bool NextHopIsLess(const DBEntry &rhs) const
EncapDataList encap_list_
static Type ComputeType(TypeBmap bmap)
bool crypt_tunnel_available_
const MacAddress & rewrite_dmac() const
boost::asio::ip::address_v4 Ip4Address
const AgentRoute * GetRt() const
DependencyRef< NextHop, AgentRoute > arp_rt_
const IpAddress * GetSip() const
virtual std::string ToString() const
virtual KeyPtr GetDBRequestKey() const
MirrorNH(const VrfKey &vkey, const IpAddress &sip, uint16_t sport, const IpAddress &dip, uint16_t dport)
virtual bool MatchEgressData(const NextHop *nh) const
TunnelType::Type transport_tunnel_type_
DISALLOW_COPY_AND_ASSIGN(MirrorNHData)
const EncapDataList GetEncapDataList() const
virtual NextHopKey * Clone() const
const uint16_t GetDPort() const
LabelledTunnelNH(VrfEntry *vrf, const Ip4Address &sip, const Ip4Address &dip, bool policy, TunnelType type, const MacAddress &rewrite_dmac, uint32_t label)
virtual bool NeedMplsLabel()
virtual void SendObjectLog(const NextHopTable *table, AgentLogEvent::type event) const
std::vector< EncapDataPtr > EncapDataList
virtual bool CanAdd() const
virtual KeyPtr GetDBRequestKey() const
boost::shared_ptr< EncapData > EncapDataPtr
const uint32_t vrf_id() const
void SetTransportTunnelType()
const MacAddress * GetDmac() const
virtual std::string ToString() const
InterfaceConstRef interface_
virtual KeyPtr GetDBRequestKey() const
const IpAddress * GetDip() const
virtual std::string ToString() const
virtual bool ChangeEntry(const DBRequest *req)
virtual bool MatchEgressData(const NextHop *nh) const
virtual bool NextHopIsLess(const DBEntry &rhs) const
const Interface * GetCryptInterface() const
AgentRoute * tunnel_dst_rt_
virtual bool ChangeEntry(const DBRequest *req)