|
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 } |
Public Types inherited from AgentDBEntry | |
| typedef boost::intrusive_ptr< AgentDBEntry > | AgentDBEntyRef |
Public Types inherited from DBEntryBase | |
| 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 |
Public Member Functions inherited from AgentDBEntry | |
| 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) |
Public Member Functions inherited from DBEntry | |
| DBEntry () | |
| virtual | ~DBEntry () |
| bool | operator< (const DBEntry &rhs) const |
Public Member Functions inherited from DBEntryBase | |
| 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) | |
Private Member Functions inherited from AgentRefCount< NextHop > | |
| uint32_t | GetRefCount () const |
| AgentRefCount () | |
| AgentRefCount (const AgentRefCount &) | |
| AgentRefCount & | operator= (const AgentRefCount &) |
| virtual | ~AgentRefCount () |
| void | swap (AgentRefCount &) |
Additional Inherited Members | |
Public Attributes inherited from DBEntryBase | |
| boost::intrusive::list_member_hook | chg_list_ |
Private Attributes inherited from AgentRefCount< NextHop > | |
| 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 MirrorNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
|
virtual |
Definition at line 113 of file nexthop.cc.
|
pure virtual |
Implemented in MirrorNH, LabelledTunnelNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
|
virtual |
Implements AgentDBEntry.
Definition at line 3455 of file nexthop.cc.

|
inlinevirtual |
Reimplemented in MirrorNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
|
inlinevirtual |
Reimplemented in MirrorNH, LabelledTunnelNH, TunnelNH, CompositeNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, and ResolveNH.
|
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 MirrorNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
|
pure virtual |
Implemented in MirrorNH, LabelledTunnelNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
|
pure virtual |
Implemented in MirrorNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
| bool NextHop::NexthopToInterfacePolicy | ( | ) | const |
|
inlinevirtual |
Reimplemented in CompositeNH.
|
virtual |
Reimplemented from AgentDBEntry.
Definition at line 123 of file nexthop.cc.
|
virtual |
Reimplemented in MirrorNH, LabelledTunnelNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, and ReceiveNH.
Definition at line 84 of file nexthop.cc.
|
virtual |
Implements DBEntry.
Reimplemented in MirrorNH, TunnelNH, CompositeNH, VlanNH, VrfNH, InterfaceNH, PBBNH, NdpNH, ArpNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
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 MirrorNH, LabelledTunnelNH, TunnelNH, CompositeNH, VrfNH, InterfaceNH, PBBNH, ResolveNH, ReceiveNH, L2ReceiveNH, and DiscardNH.
|
protected |