OpenSDN source code
|
#include <nexthop.h>
Public Types | |
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 | |
NextHop (Type type, bool policy) | |
NextHop (Type type, bool valid, bool policy) | |
virtual | ~NextHop () |
virtual std::string | ToString () const |
virtual void | Add (Agent *agent, const DBRequest *req) |
virtual bool | ChangeEntry (const DBRequest *req)=0 |
virtual void | Change (const DBRequest *req) |
virtual void | Delete (const DBRequest *req) |
virtual void | SetKey (const DBRequestKey *key) |
virtual bool | NextHopIsLess (const DBEntry &rhs) const =0 |
virtual void | SendObjectLog (const NextHopTable *table, AgentLogEvent::type event) const |
virtual bool | CanAdd () const =0 |
virtual bool | IsLess (const DBEntry &rhs) const |
virtual bool | DeleteOnZeroRefCount () 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 |
virtual bool | MatchEgressData (const NextHop *nh) const =0 |
MplsLabel * | AllocateLabel (Agent *agent, const NextHopKey *key) |
virtual bool | NeedMplsLabel ()=0 |
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 KeyPtr | GetDBRequestKey () const =0 |
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 () |
Static Public Member Functions | |
static void | FillObjectLogIntf (const Interface *intf, NextHopObjectLogInfo &info) |
static void | FillObjectLogMac (const unsigned char *m, NextHopObjectLogInfo &info) |
Static Public Attributes | |
static const uint32_t | kInvalidIndex = 0xFFFFFFFF |
Protected Member Functions | |
void | FillObjectLog (AgentLogEvent::type event, NextHopObjectLogInfo &info) const |
Protected Attributes | |
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 (NextHop) | |
![]() | |
uint32_t | GetRefCount () const |
AgentRefCount () | |
AgentRefCount (const AgentRefCount &) | |
AgentRefCount & | operator= (const AgentRefCount &) |
virtual | ~AgentRefCount () |
void | swap (AgentRefCount &) |
Additional Inherited Members | |
![]() | |
boost::intrusive::list_member_hook | chg_list_ |
![]() | |
tbb::mutex | back_ref_mutex_ |
std::set< IntrusiveReferrer > | back_ref_set_ |
enum NextHop::Type |
|
inline |
|
virtual |
Definition at line 92 of file nexthop.cc.
Definition at line 109 of file nexthop.cc.
MplsLabel * NextHop::AllocateLabel | ( | Agent * | agent, |
const NextHopKey * | key | ||
) |
|
pure virtual |
Implemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, and TunnelNH.
|
virtual |
Definition at line 113 of file nexthop.cc.
|
pure virtual |
Implemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, LabelledTunnelNH, and TunnelNH.
|
virtual |
Implements AgentDBEntry.
Definition at line 3455 of file nexthop.cc.
|
inlinevirtual |
Reimplemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, and TunnelNH.
|
inlinevirtual |
Reimplemented in CompositeNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, MirrorNH, LabelledTunnelNH, and TunnelNH.
|
private |
void NextHop::EnqueueResync | ( | ) | const |
Definition at line 135 of file nexthop.cc.
|
protected |
Definition at line 142 of file nexthop.cc.
|
static |
|
static |
Definition at line 253 of file nexthop.cc.
|
inlinevirtual |
Implements AgentDBEntry.
Definition at line 395 of file nexthop.h.
|
inlinevirtual |
|
pure virtual |
Implemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, and TunnelNH.
|
pure virtual |
Implemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, LabelledTunnelNH, and TunnelNH.
|
pure virtual |
Implemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, and TunnelNH.
bool NextHop::NexthopToInterfacePolicy | ( | ) | const |
|
inlinevirtual |
Reimplemented in CompositeNH.
|
virtual |
Reimplemented from AgentDBEntry.
Definition at line 123 of file nexthop.cc.
|
virtual |
Reimplemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ReceiveNH, MirrorNH, LabelledTunnelNH, and TunnelNH.
Definition at line 84 of file nexthop.cc.
|
virtual |
Implements DBEntry.
Reimplemented in CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, and TunnelNH.
Definition at line 98 of file nexthop.cc.
void NextHop::SetNHSandeshData | ( | NhSandeshData & | data | ) | const |
Definition at line 3172 of file nexthop.cc.
|
inlinevirtual |
Implements DBEntryBase.
Reimplemented in CompositeNH, VrfNH, InterfaceNH, PBBNH, ResolveNH, ReceiveNH, L2ReceiveNH, DiscardNH, MirrorNH, LabelledTunnelNH, and TunnelNH.
|
protected |