diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index 6f33f79..497265e 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -147,6 +147,10 @@
 
 const struct osmo_sockaddr *gprs_ns2_ip_vc_remote(const struct gprs_ns2_vc *nsvc);
 const struct osmo_sockaddr *gprs_ns2_ip_vc_local(const struct gprs_ns2_vc *nsvc);
+bool gprs_ns2_ip_vc_equal(const struct gprs_ns2_vc *nsvc,
+			  const struct osmo_sockaddr *local,
+			  const struct osmo_sockaddr *remote,
+			  uint16_t nsvci);
 const struct osmo_sockaddr *gprs_ns2_ip_bind_sockaddr(struct gprs_ns2_vc_bind *bind);
 int gprs_ns2_is_ip_bind(struct gprs_ns2_vc_bind *bind);
 int gprs_ns2_ip_bind_set_dscp(struct gprs_ns2_vc_bind *bind, int dscp);
diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c
index d41c492..2cc1006 100644
--- a/src/gb/gprs_ns2_udp.c
+++ b/src/gb/gprs_ns2_udp.c
@@ -424,6 +424,40 @@
 	return &priv->remote;
 }
 
+/*! Compare the NS-VC with the given parameter
+ *  \param[in] nsvc NS-VC to compare with
+ *  \param[in] local The local address
+ *  \param[in] remote The remote address
+ *  \param[in] nsvci NS-VCI will only be used if the NS-VC in BLOCKRESET mode otherwise NS-VCI isn't applicable.
+ *  \return true if the NS-VC has the same properties as given
+ */
+bool gprs_ns2_ip_vc_equal(const struct gprs_ns2_vc *nsvc,
+			  const struct osmo_sockaddr *local,
+			  const struct osmo_sockaddr *remote,
+			  uint16_t nsvci)
+{
+	struct priv_vc *vpriv;
+	struct priv_bind *bpriv;
+
+	if (nsvc->ll != GPRS_NS_LL_UDP)
+		return false;
+
+	vpriv = nsvc->priv;
+	bpriv = nsvc->bind->priv;
+
+	if (osmo_sockaddr_cmp(local, &bpriv->addr))
+		return false;
+
+	if (osmo_sockaddr_cmp(remote, &vpriv->remote))
+		return false;
+
+	if (nsvc->mode == NS2_VC_MODE_BLOCKRESET)
+		if (nsvc->nsvci != nsvci)
+			return false;
+
+	return true;
+}
+
 /*! Return the locally bound socket address of the bind.
  *  \param[in] bind The bind whose local address we want to know
  *  \return address of the local bind */
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index eea1285..c9ba012 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -95,6 +95,7 @@
 gprs_ns2_ip_connect_sns;
 gprs_ns2_ip_vc_local;
 gprs_ns2_ip_vc_remote;
+gprs_ns2_ip_vc_equal;
 gprs_ns2_is_frgre_bind;
 gprs_ns2_is_ip_bind;
 gprs_ns2_ll_str;
