def _generate_arp_table_and_notify_agent(
        self, context, fixed_ip, mac_address, notifier):
        ip_address = fixed_ip['ip_address']
        subnet = fixed_ip['subnet_id']
        filters = {'fixed_ips': {'subnet_id': [subnet]},
                   'device_owner': [const.DEVICE_OWNER_DVR_INTERFACE]}
        ports = self._core_plugin.get_ports(context, filters=filters)
        router_id = next((port['device_id'] for port in ports), None)
        if not router_id:
            return
        arp_table = {'ip_address': ip_address,
                     'mac_address': mac_address,
                     'subnet_id': subnet}
        notifier(context, router_id, arp_table)
Generates the arp table entry and notifies the l3 agent.
dataset/ETHPy150Open openstack/neutron/neutron/db/l3_dvr_db.py/L3_NAT_with_dvr_db_mixin._generate_arp_table_and_notify_agent