From cb6864f04a433eecf58fc2253a4e3b84e61e3ca0 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Tue, 15 Sep 2015 20:32:00 -0400 Subject: [PATCH] updated nc_accept and lwip.so --- netcon/NetconEthernetTap.cpp | 46 ++++++++++++++++++++++++++++++++--- netcon/liblwip.so | Bin 213704 -> 213648 bytes 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp index 20b8fc1b6..6fd55d4d8 100644 --- a/netcon/NetconEthernetTap.cpp +++ b/netcon/NetconEthernetTap.cpp @@ -286,7 +286,7 @@ NetconClient *NetconEthernetTap::getClientByPCB(struct tcp_pcb *pcb) void NetconEthernetTap::closeClient(NetconClient *client) { - fprintf(stderr, "closeClient\n"); + //fprintf(stderr, "closeClient\n"); NetconConnection *temp_conn; closeConnection(client->rpc); for(size_t i=0; iconnections.size(); i++) { @@ -306,7 +306,7 @@ void NetconEthernetTap::closeAllClients() void NetconEthernetTap::closeConnection(NetconConnection *conn) { - fprintf(stderr, "closeConnection\n"); + //fprintf(stderr, "closeConnection\n"); NetconClient *client = conn->owner; _phy.close(conn->sock); lwipstack->tcp_close(conn->pcb); @@ -380,7 +380,7 @@ void NetconEthernetTap::phyOnSocketPairEndpointData(PhySocket *sock, void **uptr void NetconEthernetTap::phyOnSocketPairEndpointWritable(PhySocket *sock, void **uptr) { - //_phy.setNotifyWritable(sock, false); + _phy.setNotifyWritable(sock, false); } // Unused -- no UDP or TCP from this thread/Phy<> @@ -403,7 +403,7 @@ void NetconEthernetTap::phyOnUnixAccept(PhySocket *sockL,PhySocket *sockN,void * void NetconEthernetTap::phyOnUnixClose(PhySocket *sock,void **uptr) { _phy.setNotifyWritable(sock, false); - fprintf(stderr, "phyOnUnixClose\n"); + //fprintf(stderr, "phyOnUnixClose\n"); closeClient(((NetconClient*)*uptr)); } @@ -503,6 +503,44 @@ err_t NetconEthernetTap::nc_poll(void* arg, struct tcp_pcb *tpcb) err_t NetconEthernetTap::nc_accept(void *arg, struct tcp_pcb *newpcb, err_t err) { fprintf(stderr, "nc_accept\n"); + + Larg *l = (Larg*)arg; + NetconEthernetTap *tap = l->tap; + NetconConnection *c = tap->getConnectionByPCB(newpcb); + NetconClient *client = c->owner; + + if(c && client) { + int their_fd; + NetconConnection *new_conn = client->addConnection(BUFFER, tap->_phy.createSocketPair(their_fd, client)); + new_conn->their_fd = their_fd; + new_conn->pcb = newpcb; + PhySocket *sock = client->rpc->sock; + int send_fd = tap->_phy.getDescriptor(sock); + + int n = write(tap->_phy.getDescriptor(new_conn->sock), "z", 1); + if(n > 0) { + sock_fd_write(send_fd, their_fd); + client->unmapped_conn = new_conn; + } + else { + //dwr(c->owner->tid, "nc_accept() - unknown error writing signal byte to listening socket\n"); + return -1; + } + tap->lwipstack->tcp_arg(newpcb, (void*)(intptr_t)(tap->_phy.getDescriptor(new_conn->sock))); + tap->lwipstack->tcp_recv(newpcb, nc_recved); + tap->lwipstack->tcp_err(newpcb, nc_err); + tap->lwipstack->tcp_sent(newpcb, nc_sent); + tap->lwipstack->tcp_poll(newpcb, nc_poll, 1); + tcp_accepted(c->pcb); + + return ERR_OK; + } + else { + //dwr("can't locate Connection object for PCB\n"); + } + return -1; + + return ERR_OK; } diff --git a/netcon/liblwip.so b/netcon/liblwip.so index 799b57397cf3660aeedf61c1da8d42487b908496..cc6710c2e352c952e1c4f21e1dfccec6b0d3f65b 100755 GIT binary patch delta 46707 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 delta 46349 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