summaryrefslogtreecommitdiff
path: root/netcon/NetconEthernetTap.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'netcon/NetconEthernetTap.hpp')
-rw-r--r--netcon/NetconEthernetTap.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/netcon/NetconEthernetTap.hpp b/netcon/NetconEthernetTap.hpp
index 159e4042..930807a5 100644
--- a/netcon/NetconEthernetTap.hpp
+++ b/netcon/NetconEthernetTap.hpp
@@ -107,8 +107,9 @@ private:
void handle_bind(PhySocket *sock, void **uptr, struct bind_st *bind_rpc);
void handle_listen(PhySocket *sock, void **uptr, struct listen_st *listen_rpc);
void handle_map_request(PhySocket *sock, void **uptr, unsigned char* buf);
+ void handle_i_am(PhySocket *sock, void **uptr, unsigned char* buf);
void handle_retval(PhySocket *sock, void **uptr, unsigned char* buf);
- void handle_socket(PhySocket *sock, void **uptr, struct socket_st* socket_rpc);
+ int handle_socket(PhySocket *sock, void **uptr, struct socket_st* socket_rpc);
void handle_connect(PhySocket *sock, void **uptr, struct connect_st* connect_rpc);
void handle_write(TcpConnection *conn);
@@ -141,16 +142,19 @@ private:
// Client helpers
TcpConnection *getConnectionByTheirFD(PhySocket *sock, int fd);
- TcpConnection *getConnectionByPCB(struct tcp_pcb *pcb);
void closeConnection(TcpConnection *conn);
void closeAll();
void closeClient(PhySocket *sock);
+ void compact_dump();
+ void dump();
+ void die(int exret);
Phy<NetconEthernetTap *> _phy;
PhySocket *_unixListenSocket;
std::vector<TcpConnection*> tcp_connections;
std::vector<PhySocket*> rpc_sockets;
+ std::map<PhySocket*, pid_t> pidmap;
netif interface;