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