'fdb update when an IP of a port is updated.
The ML2 l2-pop mechanism driver sends an fdb update rpc message when an
IP of a port is updated.
:param context: RPC context.
:param br: represent the bridge on which fdb_chg_ip_tun should be
applied.
:param fdb_entries: fdb dicts that contain all mac/IP information per
agent and network.
{\'net1\':
{\'agent_ip\':
{\'before\': PortInfo,
\'after\': PortInfo
\'net2\':
PortInfo has .mac_address and .ip_address attrs.
:param local_ip: local IP address of this agent.'

@log_helpers.log_method_call
def fdb_chg_ip_tun(self, context, br, fdb_entries, local_ip):

    vlan_manager = vlanmanager.LocalVlanManager()
    for (network_id, agent_ports) in fdb_entries.items():
        try:
            lvm = vlan_manager.get(network_id)
        except vlanmanager.MappingNotFound:
            continue
        for (agent_ip, state) in agent_ports.items():
            if (agent_ip == local_ip):
                continue
            after = state.get('after', [])
            for mac_ip in after:
                self.setup_entry_for_arp_reply(br, 'add', lvm.vlan, mac_ip.mac_address, mac_ip.ip_address)
            before = state.get('before', [])
            for mac_ip in before:
                self.setup_entry_for_arp_reply(br, 'remove', lvm.vlan, mac_ip.mac_address, mac_ip.ip_address)
