diff --git a/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket.c b/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket.c
index 1686c4f..fdcf137 100644
--- a/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket.c
+++ b/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket.c
@@ -1272,8 +1272,11 @@
 int
 vppcom_session_getsockname (int sid, vppcom_endpt_t * ep)
 {
-  /* TBD: move it to vppcom */
-  return 0;
+  int rv;
+  uint32_t size = sizeof (*ep);
+
+  rv = vppcom_session_attr (sid, VPPCOM_ATTR_GET_LCL_ADDR, ep, &size);
+  return rv;
 }
 
 int
@@ -1305,18 +1308,6 @@
       return -EINVAL;
     }
 
-  /* TBD: remove libc_getsockname code snippet
-   * once vppcom implements vppcom_session_getsockname */
-  rv = libc_getsockname (__fd, __addr, __len);
-  if (rv != 0)
-    {
-      rv = -errno;
-      return rv;
-    }
-
-  /* TBD: use the below code snippet when vppcom
-   * implements vppcom_session_getsockname */
-#if 0
   vppcom_endpt_t ep;
   ep.ip = (u8 *) & ((const struct sockaddr_in *) __addr)->sin_addr;
   rv = vppcom_session_getsockname (vsock->sid, &ep);
@@ -1342,7 +1333,6 @@
 	    }
 	}
     }
-#endif
 
   return rv;
 }
@@ -1394,8 +1384,11 @@
 int
 vppcom_session_getpeername (int sid, vppcom_endpt_t * ep)
 {
-  /* TBD: move it to vppcom */
-  return 0;
+  int rv;
+  uint32_t size = sizeof (*ep);
+
+  rv = vppcom_session_attr (sid, VPPCOM_ATTR_GET_PEER_ADDR, ep, &size);
+  return rv;
 }
 
 int
@@ -1441,18 +1434,6 @@
     return 0;
   }
 
-  /* TBD: remove libc_getpeername code snippet
-   * once vppcom implements vppcom_session_getpeername */
-  rv = libc_getpeername (__fd, __addr, __len);
-  if (rv != 0)
-    {
-      rv = -errno;
-      return rv;
-    }
-
-  /* TBD: use the below code snippet when vppcom
-   * implements vppcom_session_getpeername */
-#if 0
   vppcom_endpt_t ep;
   ep.ip = (u8 *) & ((const struct sockaddr_in *) __addr)->sin_addr;
   rv = vppcom_session_getpeername (vsock->sid, &ep);
@@ -1478,7 +1459,6 @@
 	    }
 	}
     }
-#endif
 
   return rv;
 }
