OpenSDN source code
|
#include <arp_proto.h>
Classes | |
struct | ArpIpc |
struct | ArpStats |
struct | InterfaceArpInfo |
Public Types | |
enum | ArpMsgType { ARP_RESOLVE, ARP_DELETE, ARP_SEND_GRATUITOUS, RETRY_TIMER_EXPIRED, AGING_TIMER_EXPIRED, GRATUITOUS_TIMER_EXPIRED } |
typedef std::map< ArpKey, ArpEntry * > | ArpCache |
typedef std::pair< ArpKey, ArpEntry * > | ArpCachePair |
typedef std::map< ArpKey, ArpEntry * >::iterator | ArpIterator |
typedef std::set< ArpKey > | ArpKeySet |
typedef std::set< ArpEntry * > | ArpEntrySet |
typedef std::map< ArpKey, ArpEntrySet > | GratuitousArpCache |
typedef std::pair< ArpKey, ArpEntrySet > | GratuitousArpCachePair |
typedef std::map< ArpKey, ArpEntrySet >::iterator | GratuitousArpIterator |
typedef std::map< uint32_t, InterfaceArpInfo > | InterfaceArpMap |
typedef std::pair< uint32_t, InterfaceArpInfo > | InterfaceArpPair |
![]() | |
typedef WorkQueue < boost::shared_ptr< PktInfo > > | ProtoWorkQueue |
Static Public Attributes | |
static const uint16_t | kGratRetries = 2 |
static const uint16_t | kMaxFailures = 3 |
static const uint32_t | kGratRetryTimeout = 2000 |
static const uint16_t | kMaxRetries = 8 |
static const uint32_t | kRetryTimeout = 2000 |
static const uint32_t | kAgingTimeout = (5 * 60 * 1000) |
Private Member Functions | |
void | VrfNotify (DBTablePartBase *part, DBEntryBase *entry) |
void | NextHopNotify (DBEntryBase *entry) |
void | InterfaceNotify (DBEntryBase *entry) |
void | SendArpIpc (ArpProto::ArpMsgType type, ArpKey &key, InterfaceConstRef itf) |
ArpProto::ArpIterator | DeleteArpEntry (ArpProto::ArpIterator iter) |
DISALLOW_COPY_AND_ASSIGN (ArpProto) | |
Additional Inherited Members | |
![]() | |
Agent * | agent_ |
PktHandler::PktModuleName | module_ |
bool | trace_ |
bool | free_buffer_ |
boost::asio::io_context & | io_ |
ProtoWorkQueue | work_queue_ |
Definition at line 19 of file arp_proto.h.
typedef std::map<ArpKey, ArpEntry *> ArpProto::ArpCache |
Definition at line 28 of file arp_proto.h.
typedef std::pair<ArpKey, ArpEntry *> ArpProto::ArpCachePair |
Definition at line 29 of file arp_proto.h.
typedef std::set<ArpEntry *> ArpProto::ArpEntrySet |
Definition at line 32 of file arp_proto.h.
typedef std::map<ArpKey, ArpEntry *>::iterator ArpProto::ArpIterator |
Definition at line 30 of file arp_proto.h.
typedef std::set<ArpKey> ArpProto::ArpKeySet |
Definition at line 31 of file arp_proto.h.
typedef std::map<ArpKey, ArpEntrySet> ArpProto::GratuitousArpCache |
Definition at line 33 of file arp_proto.h.
typedef std::pair<ArpKey, ArpEntrySet> ArpProto::GratuitousArpCachePair |
Definition at line 34 of file arp_proto.h.
typedef std::map<ArpKey, ArpEntrySet>::iterator ArpProto::GratuitousArpIterator |
Definition at line 35 of file arp_proto.h.
typedef std::map<uint32_t, InterfaceArpInfo> ArpProto::InterfaceArpMap |
Definition at line 88 of file arp_proto.h.
typedef std::pair<uint32_t, InterfaceArpInfo> ArpProto::InterfaceArpPair |
Definition at line 89 of file arp_proto.h.
enum ArpProto::ArpMsgType |
Enumerator | |
---|---|
ARP_RESOLVE | |
ARP_DELETE | |
ARP_SEND_GRATUITOUS | |
RETRY_TIMER_EXPIRED | |
AGING_TIMER_EXPIRED | |
GRATUITOUS_TIMER_EXPIRED |
Definition at line 37 of file arp_proto.h.
ArpProto::ArpProto | ( | Agent * | agent, |
boost::asio::io_context & | io, | ||
bool | run_with_vrouter | ||
) |
|
virtual |
Definition at line 38 of file arp_proto.cc.
bool ArpProto::AddArpEntry | ( | ArpEntry * | entry | ) |
void ArpProto::AddGratuitousArpEntry | ( | ArpKey & | key | ) |
Definition at line 771 of file arp_proto.cc.
|
inline |
Definition at line 168 of file arp_proto.h.
|
virtual |
Implements Proto.
Definition at line 62 of file arp_proto.cc.
|
inline |
Definition at line 103 of file arp_proto.h.
ArpProto::InterfaceArpInfo & ArpProto::ArpMapIndexToEntry | ( | uint32_t | idx | ) |
Definition at line 692 of file arp_proto.cc.
uint32_t ArpProto::ArpReplyStatsCounter | ( | uint32_t | idx | ) |
uint32_t ArpProto::ArpRequestStatsCounter | ( | uint32_t | idx | ) |
uint32_t ArpProto::ArpResolvedStatsCounter | ( | uint32_t | idx | ) |
void ArpProto::ClearInterfaceArpStats | ( | uint32_t | idx | ) |
|
inline |
bool ArpProto::DeleteArpEntry | ( | ArpEntry * | entry | ) |
|
private |
Definition at line 878 of file arp_proto.cc.
void ArpProto::DeleteGratuitousArpEntry | ( | ArpEntry * | entry | ) |
|
private |
Definition at line 885 of file arp_proto.cc.
ArpProto::ArpIterator ArpProto::FindLowerBoundArpEntry | ( | const ArpKey & | key | ) |
Definition at line 931 of file arp_proto.cc.
ArpProto::ArpIterator ArpProto::FindUpperBoundArpEntry | ( | const ArpKey & | key | ) |
Definition at line 926 of file arp_proto.cc.
|
inline |
Definition at line 102 of file arp_proto.h.
|
inline |
Definition at line 154 of file arp_proto.h.
|
inline |
Definition at line 104 of file arp_proto.h.
ArpProto::GratuitousArpIterator ArpProto::GratuitousArpEntryIterator | ( | const ArpKey & | key, |
bool * | key_valid | ||
) |
void ArpProto::HandlePathPreferenceArpReply | ( | const VrfEntry * | vrf, |
uint32_t | itf, | ||
Ip4Address | sip | ||
) |
|
inline |
Definition at line 128 of file arp_proto.h.
void ArpProto::IncrementStatsArpReply | ( | uint32_t | idx | ) |
|
inline |
Definition at line 127 of file arp_proto.h.
void ArpProto::IncrementStatsArpRequest | ( | uint32_t | idx | ) |
|
inline |
Definition at line 132 of file arp_proto.h.
|
inline |
Definition at line 129 of file arp_proto.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 152 of file arp_proto.h.
|
inline |
Definition at line 131 of file arp_proto.h.
|
inline |
Definition at line 130 of file arp_proto.h.
void ArpProto::IncrementStatsResolved | ( | uint32_t | idx | ) |
|
inline |
Definition at line 134 of file arp_proto.h.
|
inline |
Definition at line 133 of file arp_proto.h.
|
inline |
Definition at line 105 of file arp_proto.h.
|
inline |
Definition at line 183 of file arp_proto.h.
|
private |
|
inline |
Definition at line 107 of file arp_proto.h.
|
inline |
Definition at line 108 of file arp_proto.h.
|
inline |
Definition at line 111 of file arp_proto.h.
|
inline |
Definition at line 166 of file arp_proto.h.
|
private |
|
inline |
Definition at line 167 of file arp_proto.h.
void ArpProto::SendArpIpc | ( | ArpProto::ArpMsgType | type, |
in_addr_t | ip, | ||
const VrfEntry * | vrf, | ||
InterfaceConstRef | itf | ||
) |
|
private |
|
inline |
Definition at line 171 of file arp_proto.h.
|
inline |
Definition at line 114 of file arp_proto.h.
|
inline |
Definition at line 115 of file arp_proto.h.
|
inline |
Definition at line 118 of file arp_proto.h.
|
inline |
Definition at line 169 of file arp_proto.h.
|
inline |
Definition at line 170 of file arp_proto.h.
void ArpProto::Shutdown | ( | ) |
bool ArpProto::ValidateAndClearVrfState | ( | VrfEntry * | vrf, |
const ArpVrfState * | vrf_state | ||
) |
|
inline |
Definition at line 180 of file arp_proto.h.
|
private |
|
private |
Definition at line 208 of file arp_proto.h.
|
private |
Definition at line 194 of file arp_proto.h.
|
private |
Definition at line 195 of file arp_proto.h.
|
private |
Definition at line 196 of file arp_proto.h.
|
private |
Definition at line 204 of file arp_proto.h.
|
private |
Definition at line 202 of file arp_proto.h.
|
private |
Definition at line 200 of file arp_proto.h.
|
private |
Definition at line 198 of file arp_proto.h.
|
private |
Definition at line 199 of file arp_proto.h.
|
static |
Definition at line 26 of file arp_proto.h.
|
static |
Definition at line 21 of file arp_proto.h.
|
static |
Definition at line 23 of file arp_proto.h.
|
static |
Definition at line 22 of file arp_proto.h.
|
static |
Definition at line 24 of file arp_proto.h.
|
static |
Definition at line 25 of file arp_proto.h.
|
private |
Definition at line 206 of file arp_proto.h.
|
private |
Definition at line 203 of file arp_proto.h.
|
private |
Definition at line 207 of file arp_proto.h.
|
private |
Definition at line 197 of file arp_proto.h.
|
private |
Definition at line 201 of file arp_proto.h.