OpenSDN source code
|
#include <tunnel_nh.h>
Classes | |
struct | EncapData |
Public Types | |
typedef boost::shared_ptr < EncapData > | EncapDataPtr |
typedef std::vector< EncapDataPtr > | EncapDataList |
![]() | |
enum | Type { INVALID, DISCARD, L2_RECEIVE, RECEIVE, RESOLVE, ARP, VRF, INTERFACE, TUNNEL, MIRROR, COMPOSITE, VLAN, PBB, NDP } |
![]() | |
typedef boost::intrusive_ptr < AgentDBEntry > | AgentDBEntyRef |
![]() | |
typedef DBTableBase::ListenerId | ListenerId |
typedef std::unique_ptr < DBRequestKey > | KeyPtr |
Public Member Functions | |
TunnelNH (VrfEntry *vrf, const Ip4Address &sip, const Ip4Address &dip, bool policy, TunnelType type, const MacAddress &rewrite_dmac) | |
virtual | ~TunnelNH () |
virtual std::string | ToString () const |
virtual bool | NextHopIsLess (const DBEntry &rhs) const |
virtual bool | TunnelNextHopIsLess (const DBEntry &rhs) const |
virtual void | SetKey (const DBRequestKey *key) |
virtual bool | ChangeEntry (const DBRequest *req) |
virtual void | Delete (const DBRequest *req) |
virtual KeyPtr | GetDBRequestKey () const |
virtual bool | CanAdd () const |
const uint32_t | vrf_id () const |
const VrfEntry * | GetVrf () const |
const Ip4Address * | GetSip () const |
const Ip4Address * | GetDip () const |
const AgentRoute * | GetRt () const |
const MacAddress * | GetDmac () const |
const bool & | IsEncapValid (const uint32_t &i) const |
const MacAddress & | rewrite_dmac () const |
const TunnelType & | GetTunnelType () const |
const Interface * | GetCryptInterface () const |
bool | GetCrypt () const |
bool | GetCryptTunnelAvailable () const |
virtual void | SendObjectLog (const NextHopTable *table, AgentLogEvent::type event) const |
virtual bool | DeleteOnZeroRefCount () const |
virtual bool | MatchEgressData (const NextHop *nh) const |
virtual bool | NeedMplsLabel () |
const EncapDataList | GetEncapDataList () const |
![]() | |
NextHop (Type type, bool policy) | |
NextHop (Type type, bool valid, bool policy) | |
virtual | ~NextHop () |
virtual void | Add (Agent *agent, const DBRequest *req) |
virtual void | Change (const DBRequest *req) |
virtual bool | IsLess (const DBEntry &rhs) const |
virtual void | OnZeroRefCount () |
uint32_t | GetRefCount () const |
void | ResetMplsRef () |
Type | GetType () const |
bool | IsValid () const |
bool | PolicyEnabled () const |
uint32_t | id () const |
void | set_id (uint32_t index) |
void | set_etree_leaf (bool val) |
bool | etree_leaf () const |
void | set_learning_flag (bool val) |
bool | learning_enabled () const |
bool | DBEntrySandesh (Sandesh *sresp, std::string &name) const |
void | SetNHSandeshData (NhSandeshData &data) const |
bool | NexthopToInterfacePolicy () const |
const MplsLabel * | mpls_label () const |
MplsLabel * | AllocateLabel (Agent *agent, const NextHopKey *key) |
void | PostAdd () |
void | EnqueueResync () const |
![]() | |
AgentDBEntry () | |
virtual | ~AgentDBEntry () |
void | SetRefState () const |
void | ClearRefState () const |
bool | IsActive () const |
DBState * | GetAgentDBEntryState (int listener_id) |
const DBState * | GetAgentDBEntryState (int listener_id) const |
virtual void | AllocateResources (ResourceManager *resource_manager) |
virtual void | FreeResources (ResourceManager *resource_manager) |
![]() | |
DBEntry () | |
virtual | ~DBEntry () |
bool | operator< (const DBEntry &rhs) const |
![]() | |
DBEntryBase () | |
virtual | ~DBEntryBase () |
virtual bool | IsMoreSpecific (const std::string &match) const |
virtual bool | IsLessSpecific (const std::string &match) const |
void | SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state) |
void | ClearState (DBTableBase *tbl_base, ListenerId listener) |
DBState * | GetState (DBTableBase *tbl_base, ListenerId listener) const |
const DBState * | GetState (const DBTableBase *tbl_base, ListenerId listener) const |
bool | is_state_empty (DBTablePartBase *tpart) |
bool | is_state_empty_unlocked (DBTablePartBase *tpart) |
void | Delete () |
void | MarkDelete () |
void | ClearDelete () |
bool | IsDeleted () const |
void | set_onlist () |
void | clear_onlist () |
bool | is_onlist () |
void | SetOnRemoveQ () |
bool | IsOnRemoveQ () |
void | ClearOnRemoveQ () |
void | set_last_change_at (uint64_t time) |
void | set_last_change_at_to_now () |
const uint64_t | last_change_at () const |
const std::string | last_change_at_str () const |
void | set_last_update_at (uint64_t time) |
void | set_last_update_at_to_now () |
const uint64_t | last_update_at () const |
DBTablePartBase * | get_table_partition () const |
void | set_table_partition (DBTablePartBase *tpart) |
DBTableBase * | get_table () const |
void | Notify () |
Protected Attributes | |
VrfEntryRef | vrf_ |
Ip4Address | sip_ |
Ip4Address | dip_ |
TunnelType | tunnel_type_ |
AgentRoute * | tunnel_dst_rt_ |
EncapDataList | encap_list_ |
bool | crypt_ |
bool | crypt_tunnel_available_ |
InterfaceConstRef | crypt_interface_ |
MacAddress | rewrite_dmac_ |
![]() | |
Type | type_ |
bool | valid_ |
bool | policy_ |
uint32_t | id_ |
MplsLabelRef | mpls_label_ |
bool | learning_enabled_ |
bool | etree_leaf_ |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (TunnelNH) | |
Additional Inherited Members | |
![]() | |
static void | FillObjectLogIntf (const Interface *intf, NextHopObjectLogInfo &info) |
static void | FillObjectLogMac (const unsigned char *m, NextHopObjectLogInfo &info) |
![]() | |
boost::intrusive::list_member_hook | chg_list_ |
![]() | |
static const uint32_t | kInvalidIndex = 0xFFFFFFFF |
![]() | |
void | FillObjectLog (AgentLogEvent::type event, NextHopObjectLogInfo &info) const |
Definition at line 14 of file tunnel_nh.h.
typedef std::vector<EncapDataPtr> TunnelNH::EncapDataList |
Definition at line 69 of file tunnel_nh.h.
typedef boost::shared_ptr<EncapData> TunnelNH::EncapDataPtr |
Definition at line 68 of file tunnel_nh.h.
TunnelNH::TunnelNH | ( | VrfEntry * | vrf, |
const Ip4Address & | sip, | ||
const Ip4Address & | dip, | ||
bool | policy, | ||
TunnelType | type, | ||
const MacAddress & | rewrite_dmac | ||
) |
|
virtual |
Definition at line 998 of file nexthop.cc.
|
virtual |
Implements NextHop.
Definition at line 1001 of file nexthop.cc.
|
virtual |
Implements NextHop.
Reimplemented in LabelledTunnelNH.
Definition at line 1069 of file nexthop.cc.
|
virtual |
Reimplemented from NextHop.
Definition at line 1210 of file nexthop.cc.
|
inlinevirtual |
Reimplemented from NextHop.
Reimplemented in LabelledTunnelNH.
Definition at line 48 of file tunnel_nh.h.
|
private |
|
inline |
Definition at line 44 of file tunnel_nh.h.
|
inline |
Definition at line 43 of file tunnel_nh.h.
|
inline |
Definition at line 45 of file tunnel_nh.h.
|
virtual |
Implements DBEntryBase.
Reimplemented in LabelledTunnelNH.
Definition at line 1059 of file nexthop.cc.
|
inline |
Definition at line 37 of file tunnel_nh.h.
|
inline |
Definition at line 39 of file tunnel_nh.h.
|
inline |
Definition at line 70 of file tunnel_nh.h.
|
inline |
Definition at line 38 of file tunnel_nh.h.
|
inline |
Definition at line 36 of file tunnel_nh.h.
|
inline |
Definition at line 42 of file tunnel_nh.h.
|
inline |
Definition at line 35 of file tunnel_nh.h.
|
inline |
Definition at line 40 of file tunnel_nh.h.
|
inlinevirtual |
Implements NextHop.
Definition at line 52 of file tunnel_nh.h.
|
inlinevirtual |
|
virtual |
Implements NextHop.
Definition at line 1021 of file nexthop.cc.
|
inline |
Definition at line 41 of file tunnel_nh.h.
|
virtual |
Reimplemented from NextHop.
Reimplemented in LabelledTunnelNH.
Definition at line 1217 of file nexthop.cc.
|
virtual |
Reimplemented from NextHop.
Definition at line 1048 of file nexthop.cc.
|
inlinevirtual |
Reimplemented from NextHop.
Reimplemented in LabelledTunnelNH.
Definition at line 20 of file tunnel_nh.h.
|
inlinevirtual |
Reimplemented in LabelledTunnelNH.
Definition at line 25 of file tunnel_nh.h.
const uint32_t TunnelNH::vrf_id | ( | ) | const |
Definition at line 1065 of file nexthop.cc.
|
protected |
Definition at line 78 of file tunnel_nh.h.
|
protected |
Definition at line 80 of file tunnel_nh.h.
|
protected |
Definition at line 79 of file tunnel_nh.h.
|
protected |
Definition at line 74 of file tunnel_nh.h.
|
protected |
Definition at line 77 of file tunnel_nh.h.
|
protected |
Definition at line 81 of file tunnel_nh.h.
|
protected |
Definition at line 73 of file tunnel_nh.h.
|
protected |
Definition at line 76 of file tunnel_nh.h.
|
protected |
Definition at line 75 of file tunnel_nh.h.
|
protected |
Definition at line 70 of file tunnel_nh.h.