docs: def get_bgp_neighbors(self):
          def generate_vrf_query(vrf_name):
              """
              Helper to provide XML-query for the VRF-type we're interested in.
              """
              if vrf_name == "global":
                  rpc_command = "<Get><Operational><BGP><InstanceTable><Instance><Naming>\
                  <InstanceName>default</InstanceName></Naming><InstanceActive><DefaultVRF>\
                  <GlobalProcessInfo></GlobalProcessInfo><NeighborTable></NeighborTable></DefaultVRF>\
                  </InstanceActive></Instance></InstanceTable></BGP></Operational></Get>"
  
              else:
                  rpc_command = "<Get><Operational><BGP><InstanceTable><Instance><Naming>\
                  <InstanceName>default</InstanceName></Naming><InstanceActive><VRFTable><VRF>\
                  <Naming>{vrf_name}</Naming><GlobalProcessInfo></GlobalProcessInfo><NeighborTable>\
                  </NeighborTable></VRF></VRFTable></InstanceActive></Instance></InstanceTable>\
                  </BGP></Operational></Get>".format(
                      vrf_name=vrf_name
                  )
              return rpc_command
  
          """
          Initial run to figure out what VRF's are available
          Decided to get this one from Configured-section
          because bulk-getting all instance-data to do the same could get ridiculously heavy
          Assuming we're always interested in the DefaultVRF
          """
  
          active_vrfs = ["global"]
  
          rpc_command = "<Get><Operational><BGP><ConfigInstanceTable><ConfigInstance><Naming>\
          <InstanceName>default</InstanceName></Naming><ConfigInstanceVRFTable>\
          </ConfigInstanceVRFTable></ConfigInstance></ConfigInstanceTable></BGP></Operational></Get>"
  
          result_tree = ETREE.fromstring(self.device.make_rpc_call(rpc_command))
  
          for node in result_tree.xpath(".//ConfigVRF"):
              active_vrfs.append(napalm.base.helpers.find_txt(node, "Naming/VRFName"))
  
          result = {}
  
          for vrf in active_vrfs:
              rpc_command = generate_vrf_query(vrf)
              result_tree = ETREE.fromstring(self.device.make_rpc_call(rpc_command))
  
              this_vrf = {}
              this_vrf["peers"] = {}
  
              if vrf == "global":
                  this_vrf["router_id"] = napalm.base.helpers.convert(
                      text_type,
                      napalm.base.helpers.find_txt(
                          result_tree,
                          "Get/Operational/BGP/InstanceTable/Instance/InstanceActive/DefaultVRF"
                          "/GlobalProcessInfo/VRF/RouterID",
                      ),
                  )
              else:
                  this_vrf["router_id"] = napalm.base.helpers.convert(
                      text_type,
                      napalm.base.helpers.find_txt(
                          result_tree,
                          "Get/Operational/BGP/InstanceTable/Instance/InstanceActive/VRFTable/VRF"
                          "/GlobalProcessInfo/VRF/RouterID",
                      ),
                  )
  
              neighbors = {}
  
              for neighbor in result_tree.xpath(".//Neighbor"):
                  this_neighbor = {}
                  this_neighbor["local_as"] = napalm.base.helpers.convert(
                      int, napalm.base.helpers.find_txt(neighbor, "LocalAS")
                  )
                  this_neighbor["remote_as"] = napalm.base.helpers.convert(
                      int, napalm.base.helpers.find_txt(neighbor, "RemoteAS")
                  )
                  this_neighbor["remote_id"] = napalm.base.helpers.convert(
                      text_type, napalm.base.helpers.find_txt(neighbor, "RouterID")
                  )
  
                  if (
                      napalm.base.helpers.find_txt(neighbor, "ConnectionAdminStatus")
                      == "1"
                  ):
                      this_neighbor["is_enabled"] = True
  
                  try:
                      this_neighbor["description"] = napalm.base.helpers.convert(
                          text_type, napalm.base.helpers.find_txt(neighbor, "Description")
                      )
                  except AttributeError:
                      this_neighbor["description"] = ""
  
                  this_neighbor["is_enabled"] = (
                      napalm.base.helpers.find_txt(neighbor, "ConnectionAdminStatus")
                      == "1"
                  )
  
                  if (
                      text_type(
                          napalm.base.helpers.find_txt(neighbor, "ConnectionAdminStatus")
                      )
                      == "1"
                  ):
                      this_neighbor["is_enabled"] = True
                  else:
                      this_neighbor["is_enabled"] = False
  
                  if (
                      text_type(napalm.base.helpers.find_txt(neighbor, "ConnectionState"))
                      == "BGP_ST_ESTAB"
                  ):
                      this_neighbor["is_up"] = True
                      this_neighbor["uptime"] = napalm.base.helpers.convert(
                          int,
                          napalm.base.helpers.find_txt(
                              neighbor, "ConnectionEstablishedTime"
                          ),
                      )
                  else:
                      this_neighbor["is_up"] = False
                      this_neighbor["uptime"] = -1
  
                  this_neighbor["address_family"] = {}
  
                  if (
                      napalm.base.helpers.find_txt(
                          neighbor, "ConnectionRemoteAddress/AFI"
                      )
                      == "IPv4"
                  ):
                      this_afi = "ipv4"
                  elif (
                      napalm.base.helpers.find_txt(
                          neighbor, "ConnectionRemoteAddress/AFI"
                      )
                      == "IPv6"
                  ):
                      this_afi = "ipv6"
                  else:
                      this_afi = napalm.base.helpers.find_txt(
                          neighbor, "ConnectionRemoteAddress/AFI"
                      )
  
                  this_neighbor["address_family"][this_afi] = {}
  
                  try:
                      this_neighbor["address_family"][this_afi][
                          "received_prefixes"
                      ] = napalm.base.helpers.convert(
                          int,
                          napalm.base.helpers.find_txt(
                              neighbor, "AFData/Entry/PrefixesAccepted"
                          ),
                          0,
                      ) + napalm.base.helpers.convert(
                          int,
                          napalm.base.helpers.find_txt(
                              neighbor, "AFData/Entry/PrefixesDenied"
                          ),
                          0,
                      )
                      this_neighbor["address_family"][this_afi][
                          "accepted_prefixes"
                      ] = napalm.base.helpers.convert(
                          int,
                          napalm.base.helpers.find_txt(
                              neighbor, "AFData/Entry/PrefixesAccepted"
                          ),
                          0,
                      )
                      this_neighbor["address_family"][this_afi][
                          "sent_prefixes"
                      ] = napalm.base.helpers.convert(
                          int,
                          napalm.base.helpers.find_txt(
                              neighbor, "AFData/Entry/PrefixesAdvertised"
                          ),
                          0,
                      )
                  except AttributeError:
                      this_neighbor["address_family"][this_afi]["received_prefixes"] = -1
                      this_neighbor["address_family"][this_afi]["accepted_prefixes"] = -1
                      this_neighbor["address_family"][this_afi]["sent_prefixes"] = -1
  
                  neighbor_ip = napalm.base.helpers.ip(
                      napalm.base.helpers.find_txt(
                          neighbor, "Naming/NeighborAddress/IPV4Address"
                      )
                      or napalm.base.helpers.find_txt(
                          neighbor, "Naming/NeighborAddress/IPV6Address"
                      )
                  )
  
                  neighbors[neighbor_ip] = this_neighbor
  
              this_vrf["peers"] = neighbors
              result[vrf] = this_vrf
  
          return result