| 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 | 
|  Public Types inherited from Proto | |
| 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 | |
|  Protected Attributes inherited from Proto | |
| 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.
| 
 | private | 
| void ArpProto::SendArpIpc | ( | ArpProto::ArpMsgType | type, | 
| in_addr_t | ip, | ||
| const VrfEntry * | vrf, | ||
| InterfaceConstRef | itf | ||
| ) | 
| 
 | 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.