code: def request_route_refresh(self, *route_families):
          
          # If this peer has not established session yet
          if not self.in_established:
              raise ValueError('Peer not in established state to satisfy'
                               ' this request.')
  
          skip_validation = False
          # If request is made for all supported route_families for current
          # session, we collect all route_families for valid for current session.
          if len(route_families) == 0:
              route_families = []
              # We skip validation of route families that we collect ourselves
              # below.
              skip_validation = True
              for route_family in SUPPORTED_GLOBAL_RF:
                  if self.is_mbgp_cap_valid(route_family):
                      route_families.append(route_family)
  
          for route_family in route_families:
              if (skip_validation or
                      ((route_family in SUPPORTED_GLOBAL_RF) and
                       # We ignore request for route_family not valid
                       # for current session.
                       self._protocol.is_mbgp_cap_valid(route_family))):
                  rr_req = BGPRouteRefresh(route_family.afi, route_family.safi)
                  self.enque_outgoing_msg(rr_req)
                  LOG.debug('Enqueued Route Refresh message to '
                            'peer %s for rf: %s', self, route_family)
docs: Request route refresh to peer for given `route_families`.
  
           If no `route_families` are given, we make request for all supported
           route families with this peer.
          Parameters:
              - `route_families`: list of route families to request route
              refresh for.
  
          If this peer is currently not in Established state, we raise exception.
          If any of the `route_families` are invalid we raise exception.