summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Henry <joseph.henry@zerotier.com>2015-09-15 15:41:57 -0400
committerJoseph Henry <joseph.henry@zerotier.com>2015-09-15 15:41:57 -0400
commit735ae9b3698e79e9a6be9386e65540d4dd51b401 (patch)
tree9c0e9ad24e619145aeda8622083ede4691268987
parentcb277f52e8d223a7d9f54de73746dab78c4e9948 (diff)
downloadinfinitytier-735ae9b3698e79e9a6be9386e65540d4dd51b401.tar.gz
infinitytier-735ae9b3698e79e9a6be9386e65540d4dd51b401.zip
debug changes
-rw-r--r--netcon/NetconEthernetTap.cpp34
-rw-r--r--netcon/NetconEthernetTap.hpp10
2 files changed, 21 insertions, 23 deletions
diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp
index ecfca72d..2f47f212 100644
--- a/netcon/NetconEthernetTap.cpp
+++ b/netcon/NetconEthernetTap.cpp
@@ -156,6 +156,8 @@ void NetconEthernetTap::put(const MAC &from,const MAC &to,unsigned int etherType
if (!_enabled)
return;
+ fprintf(stderr, "put\n");
+/*
if (etherType == ZT_ETHERTYPE_ARP) {
char arpReplyBuf[ZT_ARP_BUF_LENGTH];
unsigned int arpReplyLen = 0;
@@ -167,8 +169,7 @@ void NetconEthernetTap::put(const MAC &from,const MAC &to,unsigned int etherType
fprintf(stderr, "ARP reply generated\n");
_handler(_arg,_nwid,_mac,from,ZT_ETHERTYPE_ARP,0,arpReplyBuf,arpReplyLen);
}
- else if (etherType == ZT_ETHERTYPE_IPV4) {
-
+*/
// Copy data into a pbuf chain
struct pbuf *p, *q;
//u16_t len;
@@ -202,11 +203,12 @@ void NetconEthernetTap::put(const MAC &from,const MAC &to,unsigned int etherType
_mac.copyTo(ethhdr->dest.addr, 6);
ethhdr->type = ZT_ETHERTYPE_IPV4;
- if(interface.input(p, &interface) != ERR_OK)
- {
+ if(interface.input(p, &interface) != ERR_OK) {
fprintf(stderr, "IP error (netif->input)\n");
}
- }
+ else {
+ fprintf(stderr, "interface.input(...) len = %d\n", len);
+ }
}
std::string NetconEthernetTap::deviceName() const
@@ -342,29 +344,21 @@ void NetconEthernetTap::threadMain()
unsigned long since_etharp;
struct timeval tv;
+ fprintf(stderr, "initializing interface\n");
+
/* set up the faux-netif for LWIP's sake */
fprintf(stderr, "netif_add\n");
lwipstack->netif_add(&interface,&ipaddr, &netmask, &gw, NULL, tapif_init, lwipstack->ethernet_input);
-
- fprintf(stderr, "initializing interface\n");
- struct tapif *tapif;
- tapif = (struct tapif *)mem_malloc(sizeof(struct tapif));
- if (!tapif) {
- //return ERR_MEM;
- }
- //interface.state = tapif;
interface.state = this;
interface.name[0] = 't';
interface.name[1] = 'p';
interface.output = lwipstack->etharp_output;
interface.linkoutput = low_level_output;
interface.mtu = 1500;
- /* hardware address length */
interface.hwaddr_len = 6;
- tapif->ethaddr = (struct eth_addr *)&(interface.hwaddr[0]);
+ _mac.copyTo(interface.hwaddr, 6);
interface.flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_IGMP;
- low_level_init(&interface);
fprintf(stderr, "netif_set_default\n");
lwipstack->netif_set_default(&interface);
@@ -383,11 +377,13 @@ void NetconEthernetTap::threadMain()
if(since_tcp > tcp_time)
{
prev_tcp_time = curr_time+1;
+ fprintf(stderr, "tcp_tmr\n");
lwipstack->tcp_tmr();
}
if(since_etharp > etharp_time)
{
prev_etharp_time = curr_time;
+ fprintf(stderr, "etharp_tmr\n");
lwipstack->etharp_tmr();
}
fprintf(stderr, "_run\n");
@@ -660,7 +656,9 @@ void NetconEthernetTap::handle_bind(NetconClient *client, struct bind_st *bind_r
connaddr = (struct sockaddr_in *) &bind_rpc->addr;
int conn_port = lwipstack->ntohs(connaddr->sin_port);
ip_addr_t conn_addr;
- IP4_ADDR(&conn_addr, 192,168,0,2);
+ //IP4_ADDR(&conn_addr, 192,168,0,2);
+ conn_addr.addr = *((u32_t *)_ips[0].rawIpData());
+
/*
int ip = connaddr->sin_addr.s_addr;
@@ -671,6 +669,8 @@ void NetconEthernetTap::handle_bind(NetconClient *client, struct bind_st *bind_r
bytes[3] = (ip >> 24) & 0xFF;
"binding to: %d.%d.%d.%d", bytes[0], bytes[1], bytes[2], bytes[3]
*/
+
+ fprintf(stderr, "PORT = %d\n", conn_port);
NetconConnection *c = client->getConnectionByTheirFD(bind_rpc->sockfd);
if(c) {
if(c->pcb->state == CLOSED){
diff --git a/netcon/NetconEthernetTap.hpp b/netcon/NetconEthernetTap.hpp
index f48f9e80..4ca61ef2 100644
--- a/netcon/NetconEthernetTap.hpp
+++ b/netcon/NetconEthernetTap.hpp
@@ -188,10 +188,12 @@ private:
static void low_level_init(struct netif *netif)
{
+ fprintf(stderr, "low_level_init\n");
}
static err_t tapif_init(struct netif *netif)
{
+ fprintf(stderr, "tapif_init\n");
return ERR_OK;
}
@@ -206,12 +208,6 @@ private:
//tapif = (struct tapif *)netif->state;
ZeroTier::NetconEthernetTap *tap = (ZeroTier::NetconEthernetTap*)netif->state;
- #if 0
- if(((double)rand()/(double)RAND_MAX) < 0.2) {
- printf("drop output\n");
- return ERR_OK;
- }
- #endif
/* initiate transfer(); */
bufptr = &buf[0];
@@ -238,6 +234,8 @@ private:
dest_mac.setTo(ethhdr->dest.addr, 6);
tap->_handler(tap->_arg,tap->_nwid,src_mac,dest_mac,ZT_ETHERTYPE_IPV4,0,buf,p->tot_len);
+ fprintf(stderr, "low_level_output(%d)\n", tap->_nwid);
+
return ERR_OK;
}