13 agent_(agent), interface_listener_id_(), vrf_listener_id_(),
14 vn_listener_id_(), hc_listener_id_() {
56 bool delete_mac =
false;
80 state->
sg_l_ = new_sg_l;
127 bool changed =
false;
128 bool delete_mac_ip =
false;
139 delete_mac_ip =
true;
171 bool param_changed =
false;
172 bool ip_list_changed =
false;
184 param_changed =
true;
188 param_changed =
true;
192 param_changed =
true;
196 param_changed =
true;
200 param_changed =
true;
204 param_changed =
true;
210 ip_list_changed =
true;
214 ip_list_changed =
true;
220 if (ip_list_changed) {
221 std::set<boost::uuids::uuid> vn_uuid_list = hc_service->
GetVnUuidList();
222 std::set<boost::uuids::uuid>::iterator it = vn_uuid_list.begin();
223 while(it != vn_uuid_list.end()) {
251 if (vrf_state && rt_state) {
267 if (rt_state == NULL) {
316 GetMacIpLearningTable()->
Enqueue(ptr);
340 bridge_table->
Unregister(bridge_listener_id_);
391 if (vrf_state == NULL) {
398 if (state->
gen_id_ != gen_id) {
408 for (uint32_t i = 0; i < ml_proto->
size(); i++) {
416 if (dynamic_cast<const Interface *>(entry)) {
426 if (dynamic_cast<const VrfEntry *>(entry)) {
443 if (dynamic_cast<const AgentRoute *>(entry)) {
447 if (dynamic_cast<const VnEntry *>(entry)) {
456 if (dynamic_cast<const HealthCheckService *>(entry)) {
void Enqueue(MacLearningMgmtRequestPtr &ptr)
AgentPath * FindLocalVmPortPath() const
void RouteNotify(MacLearningVrfState *state, Agent::RouteTableType type, DBTablePartBase *partition, DBEntryBase *e)
void DeleteAllMac(const DBEntry *entry, MacLearningDBState *state)
boost::uuids::uuid hc_uuid_
std::set< IpAddress > hc_target_ip_list_
bool mac_ip_learning_enable() const
AgentRouteTable * GetEvpnRouteTable() const
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
MacAgingPartition * aging_partition() const
MacLearningPartition * Find(uint32_t index)
boost::shared_ptr< MacLearningMgmtRequest > MacLearningMgmtRequestPtr
DBTableBase::ListenerId interface_listener_id_
DBTableBase * get_table() const
DBTableBase::ListenerId vrf_listener_id_
void SetState(DBTableBase *tbl_base, ListenerId listener, DBState *state)
void VnNotify(DBTablePartBase *part, DBEntryBase *e)
boost::asio::ip::address IpAddress
MacLearningProto * mac_learning_proto() const
VmInterface::SecurityGroupEntryList sg_l_
bool is_multicast() const
void DeleteNoOpEvent(const DBEntry *entry, MacLearningDBState *state)
DBTableBase::ListenerId bridge_listener_id_
void EvpnRouteNotify(MacLearningVrfState *state, Agent::RouteTableType type, DBTablePartBase *partition, DBEntryBase *e)
InterfaceTable * interface_table() const
MacLearningModule * mac_learning_module() const
VnTable * vn_table() const
void Unregister(VrfEntry *vrf)
Base class for all Route entries in agent.
void Unregister(ListenerId listener)
bool learning_enabled() const
bool is_hc_enable_all_target_ips
ListenerId Register(ChangeCallback callback, const std::string &name="unspecified")
bool learning_enabled() const
const SecurityGroupEntryList & sg_list() const
void AddEvent(const DBEntry *entry, MacLearningDBState *state)
void FreeDBState(const DBEntry *db_entry, uint32_t gen_id)
void InterfaceNotify(DBTablePartBase *part, DBEntryBase *e)
const std::set< boost::uuids::uuid > & GetVnUuidList()
MacLearningDBClient(Agent *agent)
bool IsHcEnableAllTargetIp() const
bool mac_ip_learning_enabled_
void DeleteEvent(const DBEntry *entry, MacLearningDBState *state)
bool Enqueue(PktInfoPtr msg)
AgentRouteTable * GetBridgeRouteTable() const
void VrfNotify(DBTablePartBase *part, DBEntryBase *e)
boost::shared_ptr< MacLearningEntryRequest > MacLearningEntryRequestPtr
DBTableBase::ListenerId evpn_listener_id_
bool policy_enabled() const
void Enqueue(MacLearningEntryRequestPtr req)
const uint32_t vrf_id() const
VnEntry * Find(const boost::uuids::uuid &vn_uuid)
void ClearState(DBTableBase *tbl_base, ListenerId listener)
const MacAddress & mac() const
void ReleaseToken(const MacLearningKey &key)
virtual const PrefixType & prefix_address() const
Returns the value of a stored prefix address (IPv4, IPv6 or MAC address)
void ReleaseToken(const DBEntry *entry)
void ChangeEvent(const DBEntry *entry, MacLearningDBState *state)
VrfTable * vrf_table() const
HealthCheckTable * health_check_table() const
const boost::uuids::uuid & health_check_uuid() const
const std::set< IpAddress > & GetTargetIpList()
uint32_t l2_label() const
void EnqueueAgingTableDelete(const VrfEntry *vrf)
SecurityGroupEntrySet list_
DBEntry * Find(const DBEntry *entry)
uint32_t max_retries() const
virtual ~MacLearningDBClient()
uint64_t delay_usecs() const
uint32_t Hash(uint32_t vrf_id, const MacAddress &mac)
DBTableBase::ListenerId hc_listener_id_
void FreeRouteState(const DBEntry *e, uint32_t gen_id)
void HealthCheckNotify(DBTablePartBase *part, DBEntryBase *e)
MacLearningMgmtManager * mac_learning_mgmt() const
void Register(MacLearningDBClient *client, VrfEntry *vrf)
DBTableBase::ListenerId vn_listener_id_
uint64_t timeout_usecs() const