code: def _session_next_hop(self, path):
          
          route_family = path.route_family
  
          # By default we use BGPS's interface IP with this peer as next_hop.
          if self._neigh_conf.next_hop:
              next_hop = self._neigh_conf.next_hop
          else:
              next_hop = self.host_bind_ip
          if route_family == RF_IPv6_VPN:
              next_hop = self._ipv4_mapped_ipv6(next_hop)
  
          return next_hop
docs: Returns nexthop address relevant to current session
  
          Nexthop used can depend on capabilities of the session. If VPNv6
          capability is active and session is on IPv4 connection, we have to use
          IPv4 mapped IPv6 address. In other cases we can use connection end
          point/local ip address.