summaryrefslogtreecommitdiff
path: root/accel-pppd/net.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2015-11-23 00:00:09 +0300
committerDmitry Kozlov <xeb@mail.ru>2015-12-04 21:30:40 +0300
commit43a2c73a9607561faa30ab6cd9812cbfb361a9c1 (patch)
treedcbdd15ffc807601e060232292eb5e03c1418dcd /accel-pppd/net.c
parent3b030913ce1965ff96f2ed4bdee315600b7e09b6 (diff)
downloadaccel-ppp-43a2c73a9607561faa30ab6cd9812cbfb361a9c1.tar.gz
accel-ppp-43a2c73a9607561faa30ab6cd9812cbfb361a9c1.zip
preparation for DPDK intergation (part 3)
Diffstat (limited to 'accel-pppd/net.c')
-rw-r--r--accel-pppd/net.c52
1 files changed, 47 insertions, 5 deletions
diff --git a/accel-pppd/net.c b/accel-pppd/net.c
index 054885e4..cbd47304 100644
--- a/accel-pppd/net.c
+++ b/accel-pppd/net.c
@@ -8,16 +8,51 @@
__export __thread const struct ap_net *net;
-static int def_pppox_socket(int proto)
+static int def_socket(int domain, int type, int proto)
{
- return socket(AF_PPPOX, SOCK_STREAM, proto);
+ return socket(domain, type, proto);
}
-static int def_pppox_connect(int sock, const struct sockaddr *addr, socklen_t len)
+static int def_connect(int sock, const struct sockaddr *addr, socklen_t len)
{
return connect(sock, addr, len);
}
+static int def_bind(int sock, const struct sockaddr *addr, socklen_t len)
+{
+ return bind(sock, addr, len);
+}
+
+static int def_listen(int sock, int backlog)
+{
+ return listen(sock, backlog);
+}
+
+static ssize_t def_recv(int sock, void *buf, size_t len, int flags)
+{
+ return recv(sock, buf, len, flags);
+}
+
+static ssize_t def_recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen)
+{
+ return recvfrom(sock, buf, len, flags, src_addr, addrlen);
+}
+
+static ssize_t def_send(int sock, const void *buf, size_t len, int flags)
+{
+ return send(sock, buf, len, flags);
+}
+
+static ssize_t def_sendto(int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen)
+{
+ return sendto(sock, buf, len, flags, dest_addr, addrlen);
+}
+
+static int def_set_nonblocking(int sock, int f)
+{
+ return fcntl(sock, F_SETFL, O_NONBLOCK);
+}
+
static int def_ppp_open()
{
return open("/dev/ppp", O_RDWR);
@@ -34,8 +69,15 @@ static int def_sock_ioctl(unsigned long request, void *arg)
}
__export const struct ap_net def_net = {
- .pppox_socket = def_pppox_socket,
- .pppox_connect = def_pppox_connect,
+ .socket = def_socket,
+ .connect = def_connect,
+ .bind = def_bind,
+ .listen = def_listen,
+ .recv = def_recv,
+ .recvfrom = def_recvfrom,
+ .send = def_send,
+ .sendto = def_sendto,
+ .set_nonblocking = def_set_nonblocking,
.ppp_open = def_ppp_open,
.ppp_ioctl = def_ppp_ioctl,
.sock_ioctl = def_sock_ioctl,