'Process updates to this router
This method is the point where the agent requests that updates be
applied to this router.
:param agent: Passes the agent in order to send RPC messages.'

@common_utils.exception_logger()
def process(self):

    LOG.debug('process    router    updates')
    self._process_internal_ports()
    self.agent.pd.sync_router(self.router['id'])
    self.process_external()
    self.process_address_scope()
    self.routes_updated(self.routes, self.router['routes'])
    self.routes = self.router['routes']
    self.ex_gw_port = self.get_ex_gw_port()
    self.fip_map = dict([(fip['floating_ip_address'], fip['fixed_ip_address']) for fip in self.get_floating_ips()])
