diff -Nur olsrd-0.5.5.orig/gui/linux-gtk/src/ipc.c olsrd-0.5.5/gui/linux-gtk/src/ipc.c
--- olsrd-0.5.5.orig/gui/linux-gtk/src/ipc.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/gui/linux-gtk/src/ipc.c	2008-02-29 01:34:56.000000000 +0100
@@ -238,13 +238,13 @@
   olsr_u8_t type;
   int msgsize;
   char itoa_buf[10];
-  olsr_u8_t vtime;
+  olsr_u8_t vtime_me;
   union olsr_ip_addr *originator;
 
-  /* Find size, vtime, originator and type - same for IPv4 and 6 */
+  /* Find size, vtime_me, originator and type - same for IPv4 and 6 */
   type = olsr_in->v4.olsr_msgtype;
   msgsize = ntohs(olsr_in->v4.olsr_msgsize);
-  vtime = olsr_in->v4.olsr_vtime;
+  vtime_me = olsr_in->v4.olsr_msgvtime_me;
   originator = (union olsr_ip_addr *)&olsr_in->v4.originator;
 
   gui_itoa(msgsize, itoa_buf);
@@ -258,11 +258,11 @@
 
       if(ipversion == AF_INET)
 	{
-	  process_hello(msgsize, vtime, originator, (union hello_message *)&olsr_in->v4.message.hello);
+	  process_hello(msgsize, vtime_me, originator, (union hello_message *)&olsr_in->v4.message.hello);
 	}
       else
 	{
-	  process_hello(msgsize, vtime, originator, (union hello_message *)&olsr_in->v6.message.hello);
+	  process_hello(msgsize, vtime_me, originator, (union hello_message *)&olsr_in->v6.message.hello);
 	}
       break;
 
@@ -272,12 +272,12 @@
       
       if(ipversion == AF_INET)
 	{
-	  process_tc(msgsize, vtime, originator, (union tc_message *)&olsr_in->v4.message.tc);
+	  process_tc(msgsize, vtime_me, originator, (union tc_message *)&olsr_in->v4.message.tc);
 	  //printf("Recieved TC packet from %s\n", ip_to_string(&m->olsr_tc->tc_origaddr));
 	}
       else
 	{
-	  process_tc(msgsize, vtime, originator, (union tc_message *)&olsr_in->v6.message.tc);
+	  process_tc(msgsize, vtime_me, originator, (union tc_message *)&olsr_in->v6.message.tc);
 	  //printf("Recieved TC packet from %s\n", ip_to_string(&m->olsr_tc->tc_origaddr));
 	}
       break;
@@ -287,12 +287,12 @@
 	packet_list_add("MID", ip_to_string(originator), itoa_buf);
       if(ipversion == AF_INET)
 	{
-	  process_mid(msgsize, vtime, originator, (union mid_message *)&olsr_in->v4.message.mid);
+	  process_mid(msgsize, vtime_me, originator, (union mid_message *)&olsr_in->v4.message.mid);
 	  //printf("Recieved MID packet from %s\n", ip_to_string(&m->olsr_mid->mid_origaddr));
 	}
       else
 	{
-	  process_mid(msgsize, vtime, originator, (union mid_message *)&olsr_in->v6.message.mid);
+	  process_mid(msgsize, vtime_me, originator, (union mid_message *)&olsr_in->v6.message.mid);
 	  //printf("Recieved MID packet from %s\n", ip_to_string(&m->olsr_mid->mid_origaddr));
 	}
       
@@ -304,12 +304,12 @@
 	packet_list_add("HNA", ip_to_string(originator), itoa_buf);
       if(ipversion == AF_INET)
 	{
-	  process_hna(msgsize, vtime, originator, (union hna_message *)&olsr_in->v4.message.hna);
+	  process_hna(msgsize, vtime_me, originator, (union hna_message *)&olsr_in->v4.message.hna);
 	  //printf("Recieved HNA packet\n");
 	}
       else
 	{
-	  process_hna(msgsize, vtime, originator, (union hna_message *)&olsr_in->v6.message.hna);
+	  process_hna(msgsize, vtime_me, originator, (union hna_message *)&olsr_in->v6.message.hna);
 	  //printf("Recieved HNA packet\n");
 	}
       
@@ -446,7 +446,7 @@
 
 
 int
-process_hello(int size, olsr_u8_t vtime, union olsr_ip_addr *originator, union hello_message *m)
+process_hello(int size, olsr_u8_t vtime_me, union olsr_ip_addr *originator, union hello_message *m)
 {
   struct hellinfo *neigh;
   struct hellinfo6 *neigh6;
@@ -458,8 +458,8 @@
   printf("Processing HELLO from %s size = %d\n", ip_to_string(originator), size);
 
 
-  if(!update_timer_node(originator, vtime))
-    add_node(originator, vtime);
+  if(!update_timer_node(originator, vtime_me))
+    add_node(originator, vtime_me);
 
   /* Add neighbors if any */
   size = size - 4 - 8 - ipsize; /* size of neighbors(size - olsrheder- helloheader) */
@@ -511,18 +511,18 @@
 	      if(type == MPR_NEIGH)
 		{
 		  //printf("MPR from HELLO\n");
-		  update_timer_mpr((union olsr_ip_addr *)&neigh->neigh_addr[i], originator, vtime);
+		  update_timer_mpr((union olsr_ip_addr *)&neigh->neigh_addr[i], originator, vtime_me);
 		}
-	      add_node((union olsr_ip_addr *)&neigh->neigh_addr[i++], vtime);
+	      add_node((union olsr_ip_addr *)&neigh->neigh_addr[i++], vtime_me);
 	    }
 	  else
 	    {
 	      if(type == MPR_NEIGH) /* Update MPRs */
 		{
 		  //printf("MPR from HELLO\n");
-		  update_timer_mpr((union olsr_ip_addr *)&neigh6->neigh_addr[i], originator, vtime);
+		  update_timer_mpr((union olsr_ip_addr *)&neigh6->neigh_addr[i], originator, vtime_me);
 		}
-	      add_node((union olsr_ip_addr *)&neigh6->neigh_addr[i++], vtime);
+	      add_node((union olsr_ip_addr *)&neigh6->neigh_addr[i++], vtime_me);
 	    }
 
 	  nsize = nsize - ipsize;
@@ -543,7 +543,7 @@
 
 
 int
-process_tc(int size, olsr_u8_t vtime, union olsr_ip_addr *originator, union tc_message *m)
+process_tc(int size, olsr_u8_t vtime_me, union olsr_ip_addr *originator, union tc_message *m)
 {
 
   struct neigh_info *mprsinfo;
@@ -552,8 +552,8 @@
   printf("Processing TC from %s size = %d\n", ip_to_string(originator), size);
 
   /* Updating timer */
-  if(!update_timer_node(originator, vtime))
-    add_node(originator, vtime);
+  if(!update_timer_node(originator, vtime_me))
+    add_node(originator, vtime_me);
 
   /* Calculate size of the mprsinfo */
   size = size - 4 - 8 - ipsize;
@@ -571,16 +571,16 @@
       if(ipversion == AF_INET)
 	{
 	  //printf("\tprocessing TC: %s\n", ip_to_string((union olsr_ip_addr *)&mprsinfo->addr));
-	  add_node((union olsr_ip_addr *)&mprsinfo->addr, vtime);
-	  update_timer_mpr((union olsr_ip_addr *)&mprsinfo->addr, originator, vtime);
+	  add_node((union olsr_ip_addr *)&mprsinfo->addr, vtime_me);
+	  update_timer_mpr((union olsr_ip_addr *)&mprsinfo->addr, originator, vtime_me);
 	  mprsinfo++;
 	}
       else
 	{
 	  //printf("\tprocessing TC: %s\n", ip_to_string((union olsr_ip_addr *)&mprsinfo6->addr));
 	  //printf("TC: add node %s\n", ip_to_string((union olsr_ip_addr *)&mprsinfo6->addr));
-	  add_node((union olsr_ip_addr *)&mprsinfo6->addr, vtime);
-	  update_timer_mpr((union olsr_ip_addr *)&mprsinfo6->addr, originator, vtime);
+	  add_node((union olsr_ip_addr *)&mprsinfo6->addr, vtime_me);
+	  update_timer_mpr((union olsr_ip_addr *)&mprsinfo6->addr, originator, vtime_me);
 	  mprsinfo6++;
 	}
       size = size - ipsize;
@@ -594,7 +594,7 @@
 
 
 int
-process_mid(int size, olsr_u8_t vtime, union olsr_ip_addr *originator, union mid_message *m)
+process_mid(int size, olsr_u8_t vtime_me, union olsr_ip_addr *originator, union mid_message *m)
 {
   struct midaddr *midaddr;
   struct midaddr6 *midaddr6;
@@ -617,12 +617,12 @@
       if(ipversion == AF_INET)
 	{
 	  //printf("MID: add node %s\n", ip_to_string((union olsr_ip_addr *)&midaddr->addr));
-	  add_mid_node(originator, (union olsr_ip_addr *)&midaddr->addr, vtime);
+	  add_mid_node(originator, (union olsr_ip_addr *)&midaddr->addr, vtime_me);
 	  midaddr++;
 	}
       else
 	{
-	  add_mid_node(originator, (union olsr_ip_addr *)&midaddr6->addr, vtime);
+	  add_mid_node(originator, (union olsr_ip_addr *)&midaddr6->addr, vtime_me);
 	  //printf("MID: add node %s\n", ip_to_string((union olsr_ip_addr *)&midaddr6->addr));
 	  midaddr6++;
 	}
@@ -637,7 +637,7 @@
 
 
 int
-process_hna(int size, olsr_u8_t vtime, union olsr_ip_addr *originator, union hna_message *m)
+process_hna(int size, olsr_u8_t vtime_me, union olsr_ip_addr *originator, union hna_message *m)
 {
 
 
@@ -659,12 +659,12 @@
       if(ipversion == AF_INET)
 	{
 	  //printf("\tHNA:%s\n", ip_to_string((union olsr_ip_addr *)&hnapairs->addr));
-	  add_hna_node(originator, (union olsr_ip_addr *)&hnapairs->addr, (union olsr_ip_addr *)&hnapairs->netmask, vtime);
+	  add_hna_node(originator, (union olsr_ip_addr *)&hnapairs->addr, (union olsr_ip_addr *)&hnapairs->netmask, vtime_me);
 	  hnapairs++;
 	}
       else
 	{
-	  add_hna_node(originator, (union olsr_ip_addr *)&hnapairs6->addr, (union olsr_ip_addr *)&hnapairs6->netmask, vtime);
+	  add_hna_node(originator, (union olsr_ip_addr *)&hnapairs6->addr, (union olsr_ip_addr *)&hnapairs6->netmask, vtime_me);
 	  hnapairs6++;
 	}
 
diff -Nur olsrd-0.5.5.orig/gui/linux-gtk/src/nodes.c olsrd-0.5.5/gui/linux-gtk/src/nodes.c
--- olsrd-0.5.5.orig/gui/linux-gtk/src/nodes.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/gui/linux-gtk/src/nodes.c	2008-02-29 01:34:56.000000000 +0100
@@ -38,7 +38,7 @@
  *NB! The list is NOT checked for duplicates!!
  */
 struct node *
-insert_node(struct node *n, olsr_u8_t vtime)
+insert_node(struct node *n, olsr_u8_t vtime_me)
 {
   struct node *new_node;
 
@@ -66,7 +66,7 @@
   new_node->mpr.prev = &new_node->mpr;
 
 
-  update_timer_node(&n->addr, vtime);
+  update_timer_node(&n->addr, vtime_me);
 
   return new_node;
 }
@@ -76,17 +76,17 @@
  *Add a new node to the set
  */
 int
-add_node(union olsr_ip_addr *node, olsr_u8_t vtime)
+add_node(union olsr_ip_addr *node, olsr_u8_t vtime_me)
 {
   struct node new;
   struct node *tmp_nodes;
   struct timeval tmp_timer;
-  double dbl_time;
+  double dbl_time_msec;
   olsr_u32_t time_value;
   struct mid *tmp_mid;
 
-  dbl_time = me_to_double(vtime);
-  time_value = (olsr_u32_t) dbl_time*1000;
+  dbl_time_msec = me_to_double(vtime_me);
+  time_value = (olsr_u32_t) dbl_time_msec*1000;
 
   tmp_timer.tv_sec = time_value/1000;
   tmp_timer.tv_usec = (time_value-(tmp_timer.tv_sec*1000)) * 1000;   
@@ -127,7 +127,7 @@
   memcpy(&new.addr, node, ipsize);
   new.display = 1;
   printf("1:");
-  insert_node(&new, vtime);
+  insert_node(&new, vtime_me);
   update_nodes_list(&new);
  
   return 1;
@@ -135,15 +135,15 @@
 
 
 int
-update_timer_node(union olsr_ip_addr *node, olsr_u8_t vtime)
+update_timer_node(union olsr_ip_addr *node, olsr_u8_t vtime_me)
 {
   struct node *tmp_nodes;
   struct timeval tmp_timer;
-  double dbl_time;
+  double dbl_time_msec;
   olsr_u32_t time_value;
 
-  dbl_time = me_to_double(vtime);
-  time_value = (olsr_u32_t) dbl_time*1000;
+  dbl_time_msec = me_to_double(vtime_me);
+  time_value = (olsr_u32_t) dbl_time_msec*1000;
 
   tmp_timer.tv_sec = time_value/1000;
   tmp_timer.tv_usec = (time_value-(tmp_timer.tv_sec*1000)) * 1000;   
@@ -179,16 +179,16 @@
  *@return 0 if node was added, 1 if not
  */
 int
-update_timer_mpr(union olsr_ip_addr *node, union olsr_ip_addr *mpr, olsr_u8_t vtime)
+update_timer_mpr(union olsr_ip_addr *node, union olsr_ip_addr *mpr, olsr_u8_t vtime_me)
 {
   struct node *tmp_nodes;
   struct mpr *tmp_mpr;
   struct timeval tmp_timer;
-  double dbl_time;
+  double dbl_time_msec;
   olsr_u32_t time_value;
 
-  dbl_time = me_to_double(vtime);
-  time_value = (olsr_u32_t) dbl_time*1000;
+  dbl_time_msec = me_to_double(vtime_me);
+  time_value = (olsr_u32_t) dbl_time_msec*1000;
 
   tmp_timer.tv_sec = time_value/1000;
   tmp_timer.tv_usec = (time_value-(tmp_timer.tv_sec*1000)) * 1000;   
@@ -229,7 +229,7 @@
 
 
 int
-add_mid_node(union olsr_ip_addr *node, union olsr_ip_addr *alias, olsr_u8_t vtime)
+add_mid_node(union olsr_ip_addr *node, union olsr_ip_addr *alias, olsr_u8_t vtime_me)
 {
 
   struct node *tmp_nodes;
@@ -238,7 +238,7 @@
 
   //printf("MID_add: %s\n", ip_to_string(alias));
 
-  //update_timer_node(node, vtime);
+  //update_timer_node(node, vtime_me);
 
   for(tmp_nodes = nodes.next;
       tmp_nodes != &nodes;
@@ -286,7 +286,7 @@
   /* We don't know wery much... */
   memset(&new, 0, sizeof(struct node));
   memcpy(&new.addr, node, ipsize);
-  inserted = insert_node(&new, vtime);
+  inserted = insert_node(&new, vtime_me);
 
   if((tmp_mid = malloc(sizeof(struct mid))) == 0)
     {
@@ -308,7 +308,7 @@
 
 
 int
-add_hna_node(union olsr_ip_addr *node, union olsr_ip_addr *net, union olsr_ip_addr *mask, olsr_u8_t vtime)
+add_hna_node(union olsr_ip_addr *node, union olsr_ip_addr *net, union olsr_ip_addr *mask, olsr_u8_t vtime_me)
 {
 
   struct node *tmp_nodes;
@@ -317,7 +317,7 @@
 
   //printf("HNA: %s\n", ip_to_string(&net));
 
-  update_timer_node(node, vtime);
+  update_timer_node(node, vtime_me);
 
   for(tmp_nodes = nodes.next;
       tmp_nodes != &nodes;
@@ -362,7 +362,7 @@
   /* We don't know wery much... */
   memset(&new, 0, sizeof(struct node));
   memcpy(&new.addr, node, ipsize);
-  inserted = insert_node(&new, vtime);
+  inserted = insert_node(&new, vtime_me);
 
   if((tmp_hna = malloc(sizeof(struct hna))) == 0)
     {
diff -Nur olsrd-0.5.5.orig/gui/linux-gtk/src/olsr_protocol.h olsrd-0.5.5/gui/linux-gtk/src/olsr_protocol.h
--- olsrd-0.5.5.orig/gui/linux-gtk/src/olsr_protocol.h	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/gui/linux-gtk/src/olsr_protocol.h	2008-02-29 01:34:56.000000000 +0100
@@ -356,7 +356,7 @@
 struct olsrmsg
 {
   olsr_u8_t     olsr_msgtype;
-  olsr_u8_t     olsr_vtime;
+  olsr_u8_t     olsr_msgvtime_me;
   olsr_u16_t    olsr_msgsize;
   olsr_u32_t    originator;
   olsr_u8_t     ttl;
@@ -380,7 +380,7 @@
 struct olsrmsg6
 {
   olsr_u8_t        olsr_msgtype;
-  olsr_u8_t        olsr_vtime;
+  olsr_u8_t        olsr_msgvtime_me;
   olsr_u16_t       olsr_msgsize;
   struct in6_addr  originator;
   olsr_u8_t        ttl;
diff -Nur olsrd-0.5.5.orig/gui/win32/Main/MyDialog2.cpp olsrd-0.5.5/gui/win32/Main/MyDialog2.cpp
--- olsrd-0.5.5.orig/gui/win32/Main/MyDialog2.cpp	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/gui/win32/Main/MyDialog2.cpp	2008-02-29 01:34:56.000000000 +0100
@@ -267,34 +267,34 @@
 
 	MsgPar = &Int->cnf->hello_params;
 
-	Conv.Format("%.2f", MsgPar->emission_interval);
+	Conv.Format("%.2f", MsgPar->emission_interval_msec);
 	m_HelloInt.SetWindowText(Conv);
 
-	Conv.Format("%.2f", MsgPar->validity_time);
+	Conv.Format("%.2f", MsgPar->validity_time_msec);
 	m_HelloHold.SetWindowText(Conv);
 
 	MsgPar = &Int->cnf->tc_params;
 	
-	Conv.Format("%.2f", MsgPar->emission_interval);
+	Conv.Format("%.2f", MsgPar->emission_interval_msec);
 	m_TcInt.SetWindowText(Conv);
 
-	Conv.Format("%.2f", MsgPar->validity_time);
+	Conv.Format("%.2f", MsgPar->validity_time_msec);
 	m_TcHold.SetWindowText(Conv);
 
 	MsgPar = &Int->cnf->mid_params;
 	
-	Conv.Format("%.2f", MsgPar->emission_interval);
+	Conv.Format("%.2f", MsgPar->emission_interval_msec);
 	m_MidInt.SetWindowText(Conv);
 
-	Conv.Format("%.2f", MsgPar->validity_time);
+	Conv.Format("%.2f", MsgPar->validity_time_msec);
 	m_MidHold.SetWindowText(Conv);
 
 	MsgPar = &Int->cnf->hna_params;
 	
-	Conv.Format("%.2f", MsgPar->emission_interval);
+	Conv.Format("%.2f", MsgPar->emission_interval_msec);
 	m_HnaInt.SetWindowText(Conv);
 
-	Conv.Format("%.2f", MsgPar->validity_time);
+	Conv.Format("%.2f", MsgPar->validity_time_msec);
 	m_HnaHold.SetWindowText(Conv);
 
 	SetDebugLevel(Conf->debug_level);
@@ -470,34 +470,34 @@
 		MsgPar = &Int->cnf->hello_params;
 
 		m_HelloInt.GetWindowText(Conv);
-		MsgPar->emission_interval = (float)atof(Conv);
+		MsgPar->emission_interval_msec = (float)atof(Conv);
 
 		m_HelloHold.GetWindowText(Conv);
-		MsgPar->validity_time = (float)atof(Conv);
+		MsgPar->validity_time_msec = (float)atof(Conv);
 
 		MsgPar = &Int->cnf->tc_params;
 
 		m_TcInt.GetWindowText(Conv);
-		MsgPar->emission_interval = (float)atof(Conv);
+		MsgPar->emission_interval_msec = (float)atof(Conv);
 
 		m_TcHold.GetWindowText(Conv);
-		MsgPar->validity_time = (float)atof(Conv);
+		MsgPar->validity_time_msec = (float)atof(Conv);
 
 		MsgPar = &Int->cnf->mid_params;
 
 		m_MidInt.GetWindowText(Conv);
-		MsgPar->emission_interval = (float)atof(Conv);
+		MsgPar->emission_interval_msec = (float)atof(Conv);
 
 		m_MidHold.GetWindowText(Conv);
-		MsgPar->validity_time = (float)atof(Conv);
+		MsgPar->validity_time_msec = (float)atof(Conv);
 
 		MsgPar = &Int->cnf->hna_params;
 
 		m_HnaInt.GetWindowText(Conv);
-		MsgPar->emission_interval = (float)atof(Conv);
+		MsgPar->emission_interval_msec = (float)atof(Conv);
 
 		m_HnaHold.GetWindowText(Conv);
-		MsgPar->validity_time = (float)atof(Conv);
+		MsgPar->validity_time_msec = (float)atof(Conv);
 	}
 
 	// global settings
diff -Nur olsrd-0.5.5.orig/lib/nameservice/src/nameservice.c olsrd-0.5.5/lib/nameservice/src/nameservice.c
--- olsrd-0.5.5.orig/lib/nameservice/src/nameservice.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/lib/nameservice/src/nameservice.c	2008-02-29 01:34:56.000000000 +0100
@@ -69,7 +69,7 @@
 static char my_add_hosts[MAX_FILE + 1];
 static char my_suffix[MAX_SUFFIX];
 static int my_interval = EMISSION_INTERVAL;
-static double my_timeout = NAME_VALID_TIME;
+static double my_timeout_msec = NAME_VALID_TIME;
 static char my_resolv_file[MAX_FILE +1];
 static char my_services_file[MAX_FILE + 1];
 static char latlon_in_file[MAX_FILE + 1];
@@ -233,7 +233,7 @@
 
 static const struct olsrd_plugin_parameters plugin_parameters[] = {
     { .name = "interval",      .set_plugin_parameter = &set_plugin_int,         .data = &my_interval },
-    { .name = "timeout",       .set_plugin_parameter = &set_nameservice_float,  .data = &my_timeout },
+    { .name = "timeout",       .set_plugin_parameter = &set_nameservice_float,  .data = &my_timeout_msec },
     { .name = "hosts-file",    .set_plugin_parameter = &set_plugin_string,      .data = &my_hosts_file,    .addon = {sizeof(my_hosts_file)} },
     { .name = "resolv-file",   .set_plugin_parameter = &set_plugin_string,      .data = &my_resolv_file,   .addon = {sizeof(my_resolv_file)} },
     { .name = "suffix",        .set_plugin_parameter = &set_plugin_string,      .data = &my_suffix,        .addon = {sizeof(my_suffix)} },
@@ -567,7 +567,7 @@
 	{
 		/* IPv4 */
 		message->v4.olsr_msgtype = MESSAGE_TYPE;
-		message->v4.olsr_vtime = double_to_me(my_timeout);
+		message->v4.olsr_msgvtime_me = double_to_me(my_timeout_msec);
 		memcpy(&message->v4.originator, &olsr_cnf->main_addr, olsr_cnf->ipsize);
 		message->v4.ttl = MAX_TTL;
 		message->v4.hopcnt = 0;
@@ -582,7 +582,7 @@
 	{
 		/* IPv6 */
 		message->v6.olsr_msgtype = MESSAGE_TYPE;
-		message->v6.olsr_vtime = double_to_me(my_timeout);
+		message->v6.olsr_msgvtime_me = double_to_me(my_timeout_msec);
 		memcpy(&message->v6.originator, &olsr_cnf->main_addr, olsr_cnf->ipsize);
 		message->v6.ttl = MAX_TTL;
 		message->v6.hopcnt = 0;
@@ -618,7 +618,7 @@
 {
 	struct namemsg *namemessage;
 	union olsr_ip_addr originator;
-	double vtime;
+	double vtime_msec;
 	int size;
 	olsr_u16_t seqno;
 
@@ -633,12 +633,12 @@
 		
 	/* Fetch the message based on IP version */
 	if(olsr_cnf->ip_version == AF_INET) {
-		vtime = me_to_double(m->v4.olsr_vtime);
+		vtime_msec = me_to_double(m->v4.olsr_msgvtime_me);
 		size = ntohs(m->v4.olsr_msgsize);
 		namemessage = (struct namemsg*)&m->v4.message;
 	}
 	else {
-		vtime = me_to_double(m->v6.olsr_vtime);
+		vtime_msec = me_to_double(m->v6.olsr_msgvtime_me);
 		size = ntohs(m->v6.olsr_msgsize);
 		namemessage = (struct namemsg*)&m->v6.message;
 	}
@@ -664,7 +664,7 @@
 	*/
 	if(olsr_check_dup_table_proc(&originator, seqno)) {
 		/* If not so - process */
-		update_name_entry(&originator, namemessage, size, vtime);
+		update_name_entry(&originator, namemessage, size, vtime_msec);
 	}
 
 	/* Forward the message if nessecary
@@ -872,7 +872,7 @@
  * name/service/forwarder entry in the message
  */
 void
-update_name_entry(union olsr_ip_addr *originator, struct namemsg *msg, int msg_size, double vtime)
+update_name_entry(union olsr_ip_addr *originator, struct namemsg *msg, int msg_size, double vtime_msec)
 {
 #ifndef NODEBUG
 	struct ipaddr_str strbuf;
@@ -899,16 +899,16 @@
 		
 		switch (ntohs(from_packet->type)) {
 			case NAME_HOST: 
-				insert_new_name_in_list(originator, list, from_packet, &name_table_changed, vtime); 
+				insert_new_name_in_list(originator, list, from_packet, &name_table_changed, vtime_msec); 
 				break;
 			case NAME_FORWARDER:
-				insert_new_name_in_list(originator, forwarder_list, from_packet, &forwarder_table_changed, vtime); 
+				insert_new_name_in_list(originator, forwarder_list, from_packet, &forwarder_table_changed, vtime_msec); 
 				break;
 			case NAME_SERVICE:
-				insert_new_name_in_list(originator, service_list, from_packet, &service_table_changed, vtime); 
+				insert_new_name_in_list(originator, service_list, from_packet, &service_table_changed, vtime_msec); 
 				break;
 			case NAME_LATLON:
-				insert_new_name_in_list(originator, latlon_list, from_packet, &latlon_table_changed, vtime);
+				insert_new_name_in_list(originator, latlon_list, from_packet, &latlon_table_changed, vtime_msec);
 				break;
 			default:
 				OLSR_PRINTF(3, "NAME PLUGIN: Received Message of unknown type [%d] from (%s)\n", from_packet->type, olsr_ip_to_string(&strbuf, originator));
@@ -928,7 +928,7 @@
  * corresponding entry for this ip in the corresponding hash table
  */
 void
-insert_new_name_in_list(union olsr_ip_addr *originator, struct db_entry **this_list, struct name *from_packet, olsr_bool *this_table_changed, double vtime)
+insert_new_name_in_list(union olsr_ip_addr *originator, struct db_entry **this_list, struct name *from_packet, olsr_bool *this_table_changed, double vtime_msec)
 {
 	int hash;
 	struct db_entry *entry;
@@ -950,7 +950,7 @@
 			//delegate to function for parsing the packet and linking it to entry->names
 			decap_namemsg(from_packet, &entry->names, this_table_changed);
 
-			olsr_get_timestamp(vtime * 1000, &entry->timer);
+			olsr_get_timestamp(vtime_msec * 1000, &entry->timer);
 
 			entry_found = OLSR_TRUE;
 		}
@@ -966,7 +966,7 @@
 		entry = olsr_malloc(sizeof(struct db_entry), "new db_entry");
 
 		entry->originator = *originator;
-		olsr_get_timestamp(vtime * 1000, &entry->timer);
+		olsr_get_timestamp(vtime_msec * 1000, &entry->timer);
 		entry->names = NULL;
 
 		// queue to front
diff -Nur olsrd-0.5.5.orig/lib/nameservice/src/nameservice.h olsrd-0.5.5/lib/nameservice/src/nameservice.h
--- olsrd-0.5.5.orig/lib/nameservice/src/nameservice.h	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/lib/nameservice/src/nameservice.h	2008-02-29 01:34:56.000000000 +0100
@@ -143,7 +143,7 @@
 decap_namemsg(struct name *from_packet, struct name_entry **to, olsr_bool *this_table_changed );
 
 void
-insert_new_name_in_list(union olsr_ip_addr *originator, struct db_entry **this_list, struct name *from_packet, olsr_bool *this_table_changed, double vtime);
+insert_new_name_in_list(union olsr_ip_addr *originator, struct db_entry **this_list, struct name *from_packet, olsr_bool *this_table_changed, double vtime_msec);
 
 olsr_bool
 allowed_hostname_or_ip_in_service(const char *service_line, const regmatch_t *hostname_or_ip);
diff -Nur olsrd-0.5.5.orig/lib/secure/src/olsrd_secure.c olsrd-0.5.5/lib/secure/src/olsrd_secure.c
--- olsrd-0.5.5.orig/lib/secure/src/olsrd_secure.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/lib/secure/src/olsrd_secure.c	2008-02-29 01:34:56.000000000 +0100
@@ -331,7 +331,7 @@
   
   /* Fill packet header */
   msg->olsr_msgtype = MESSAGE_TYPE;
-  msg->olsr_vtime = 0;
+  msg->olsr_msgvtime_me = 0;
   msg->olsr_msgsize = htons(sizeof(struct s_olsrmsg));
   memcpy(&msg->originator, &olsr_cnf->main_addr, olsr_cnf->ipsize);
   msg->ttl = 1;
@@ -431,7 +431,7 @@
 
   /* Sanity check first */
   if((sig->olsr_msgtype != MESSAGE_TYPE) || 
-     (sig->olsr_vtime != 0) ||
+     (sig->olsr_msgvtime_me != 0) ||
      (sig->olsr_msgsize != ntohs(sizeof(struct s_olsrmsg))) ||
      (sig->ttl != 1) ||
      (sig->hopcnt != 0))
@@ -593,7 +593,7 @@
 
   /* Fill challengemessage */
   cmsg.olsr_msgtype = TYPE_CHALLENGE;
-  cmsg.olsr_vtime = 0;
+  cmsg.olsr_msgvtime_me = 0;
   cmsg.olsr_msgsize = htons(sizeof(struct challengemsg));
   memcpy(&cmsg.originator, &olsr_cnf->main_addr, olsr_cnf->ipsize);
   cmsg.ttl = 1;
@@ -975,7 +975,7 @@
 
   /* Fill challengemessage */
   crmsg.olsr_msgtype = TYPE_CRESPONSE;
-  crmsg.olsr_vtime = 0;
+  crmsg.olsr_msgvtime_me = 0;
   crmsg.olsr_msgsize = htons(sizeof(struct c_respmsg));
   memcpy(&crmsg.originator, &olsr_cnf->main_addr, olsr_cnf->ipsize);
   crmsg.ttl = 1;
@@ -1055,7 +1055,7 @@
 
   /* Fill challengemessage */
   rrmsg.olsr_msgtype = TYPE_RRESPONSE;
-  rrmsg.olsr_vtime = 0;
+  rrmsg.olsr_msgvtime_me = 0;
   rrmsg.olsr_msgsize = htons(sizeof(struct r_respmsg));
   memcpy(&rrmsg.originator, &olsr_cnf->main_addr, olsr_cnf->ipsize);
   rrmsg.ttl = 1;
diff -Nur olsrd-0.5.5.orig/lib/secure/src/secure_messages.h olsrd-0.5.5/lib/secure/src/secure_messages.h
--- olsrd-0.5.5.orig/lib/secure/src/secure_messages.h	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/lib/secure/src/secure_messages.h	2008-02-29 01:34:56.000000000 +0100
@@ -97,7 +97,7 @@
 struct s_olsrmsg
 {
   olsr_u8_t     olsr_msgtype;
-  olsr_u8_t     olsr_vtime;
+  olsr_u8_t     olsr_msgvtime_me;
   olsr_u16_t    olsr_msgsize;
   olsr_u32_t    originator;
   olsr_u8_t     ttl;
@@ -117,7 +117,7 @@
 struct challengemsg
 {
   olsr_u8_t     olsr_msgtype;
-  olsr_u8_t     olsr_vtime;
+  olsr_u8_t     olsr_msgvtime_me;
   olsr_u16_t    olsr_msgsize;
   olsr_u32_t    originator;
   olsr_u8_t     ttl;
@@ -136,7 +136,7 @@
 struct c_respmsg
 {
   olsr_u8_t     olsr_msgtype;
-  olsr_u8_t     olsr_vtime;
+  olsr_u8_t     olsr_msgvtime_me;
   olsr_u16_t    olsr_msgsize;
   olsr_u32_t    originator;
   olsr_u8_t     ttl;
@@ -156,7 +156,7 @@
 struct r_respmsg
 {
   olsr_u8_t     olsr_msgtype;
-  olsr_u8_t     olsr_vtime;
+  olsr_u8_t     olsr_msgvtime_me;
   olsr_u16_t    olsr_msgsize;
   olsr_u32_t    originator;
   olsr_u8_t     ttl;
@@ -179,7 +179,7 @@
 struct s_olsrmsg6
 {
   olsr_u8_t        olsr_msgtype;
-  olsr_u8_t        olsr_vtime;
+  olsr_u8_t        olsr_msgvtime_me;
   olsr_u16_t       olsr_msgsize;
   struct in6_addr  originator;
   olsr_u8_t        ttl;
diff -Nur olsrd-0.5.5.orig/src/build_msg.c olsrd-0.5.5/src/build_msg.c
--- olsrd-0.5.5.orig/src/build_msg.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/build_msg.c	2008-02-29 01:34:56.000000000 +0100
@@ -300,11 +300,11 @@
   /* Set source(main) addr */
   m->v4.originator = olsr_cnf->main_addr.v4.s_addr;
 
-  m->v4.olsr_vtime = ifp->valtimes.hello;
+  m->v4.olsr_msgvtime_me = ifp->valtimes.hello_me;
 
   /* Fill HELLO header */
   h->willingness = message->willingness; 
-  h->htime = double_to_me(ifp->hello_etime);
+  h->hello_htime_me = double_to_me(ifp->hello_etime_msec);
 
   memset(&h->reserved, 0, sizeof(olsr_u16_t));
   
@@ -475,11 +475,11 @@
   m->v6.originator = olsr_cnf->main_addr.v6;
   m->v6.olsr_msgtype = HELLO_MESSAGE;
 
-  m->v6.olsr_vtime = ifp->valtimes.hello;
+  m->v6.olsr_msgvtime_me = ifp->valtimes.hello_me;
   
   /* Fill packet header */
   h6->willingness = message->willingness; 
-  h6->htime = double_to_me(ifp->hello_etime);
+  h6->hello_htime_me = double_to_me(ifp->hello_etime_msec);
   memset(&h6->reserved, 0, sizeof(olsr_u16_t));
 
   /*
@@ -638,7 +638,7 @@
   check_buffspace(curr_size, remainsize, "TC");
 
   /* Fill header */
-  m->v4.olsr_vtime = ifp->valtimes.tc;
+  m->v4.olsr_msgvtime_me = ifp->valtimes.tc_me;
   m->v4.olsr_msgtype = TC_MESSAGE;
   m->v4.hopcnt = message->hop_count;
   m->v4.ttl = message->ttl;
@@ -764,7 +764,7 @@
   check_buffspace(curr_size, remainsize, "TC");
 
   /* Fill header */
-  m->v6.olsr_vtime = ifp->valtimes.tc;
+  m->v6.olsr_msgvtime_me = ifp->valtimes.tc_me;
   m->v6.olsr_msgtype = TC_MESSAGE;
   m->v6.hopcnt = message->hop_count;
   m->v6.ttl = message->ttl;
@@ -883,7 +883,7 @@
   /* Set main(first) address */
   m->v4.originator = olsr_cnf->main_addr.v4.s_addr;
   m->v4.olsr_msgtype = MID_MESSAGE;
-  m->v4.olsr_vtime = ifp->valtimes.mid;
+  m->v4.olsr_msgvtime_me = ifp->valtimes.mid_me;
  
   addrs = m->v4.message.mid.mid_addr;
 
@@ -983,7 +983,7 @@
   m->v6.hopcnt = 0;
   m->v6.ttl = MAX_TTL;      
   m->v6.olsr_msgtype = MID_MESSAGE;
-  m->v6.olsr_vtime = ifp->valtimes.mid;
+  m->v6.olsr_msgvtime_me = ifp->valtimes.mid_me;
   /* Set main(first) address */
   m->v6.originator = olsr_cnf->main_addr.v6;
 
@@ -1089,7 +1089,7 @@
   m->v4.hopcnt = 0;
   m->v4.ttl = MAX_TTL;
   m->v4.olsr_msgtype = HNA_MESSAGE;
-  m->v4.olsr_vtime = ifp->valtimes.hna;
+  m->v4.olsr_msgvtime_me = ifp->valtimes.hna_me;
   
 
   pair = m->v4.message.hna.hna_net;
@@ -1174,7 +1174,7 @@
   m->v6.hopcnt = 0;
   m->v6.ttl = MAX_TTL;
   m->v6.olsr_msgtype = HNA_MESSAGE;
-  m->v6.olsr_vtime = ifp->valtimes.hna;
+  m->v6.olsr_msgvtime_me = ifp->valtimes.hna_me;
 
   pair6 = m->v6.message.hna.hna_net;
 
diff -Nur olsrd-0.5.5.orig/src/cfgparser/cfgfile_gen.c olsrd-0.5.5/src/cfgparser/cfgfile_gen.c
--- olsrd-0.5.5.orig/src/cfgparser/cfgfile_gen.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/cfgparser/cfgfile_gen.c	2008-02-29 01:34:56.000000000 +0100
@@ -253,38 +253,38 @@
 	  fprintf(fd, "    # Emission and validity intervals.\n    # If not defined, RFC proposed values will\n    # in most cases be used.\n\n");
 	  
 	  
-	  if(in->cnf->hello_params.emission_interval != HELLO_INTERVAL)
-	    fprintf(fd, "    HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval);
+	  if(in->cnf->hello_params.emission_interval_msec != HELLO_INTERVAL)
+	    fprintf(fd, "    HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval_msec);
 	  else
-	    fprintf(fd, "    #HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval);
-	  if(in->cnf->hello_params.validity_time != NEIGHB_HOLD_TIME)
-	    fprintf(fd, "    HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time);
-	  else
-	    fprintf(fd, "    #HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time);
-	  if(in->cnf->tc_params.emission_interval != TC_INTERVAL)
-	    fprintf(fd, "    TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval);
-	  else
-	    fprintf(fd, "    #TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval);
-	  if(in->cnf->tc_params.validity_time != TOP_HOLD_TIME)
-	    fprintf(fd, "    TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time);
-	  else
-	    fprintf(fd, "    #TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time);
-	  if(in->cnf->mid_params.emission_interval != MID_INTERVAL)
-	    fprintf(fd, "    MidInterval\t\t%0.2f\n", in->cnf->mid_params.emission_interval);
-	  else
-	    fprintf(fd, "    #MidInterval\t%0.2f\n", in->cnf->mid_params.emission_interval);
-	  if(in->cnf->mid_params.validity_time != MID_HOLD_TIME)
-	    fprintf(fd, "    MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time);
-	  else
-	    fprintf(fd, "    #MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time);
-	  if(in->cnf->hna_params.emission_interval != HNA_INTERVAL)
-	    fprintf(fd, "    HnaInterval\t\t%0.2f\n", in->cnf->hna_params.emission_interval);
-	  else
-	    fprintf(fd, "    #HnaInterval\t%0.2f\n", in->cnf->hna_params.emission_interval);
-	  if(in->cnf->hna_params.validity_time != HNA_HOLD_TIME)
-	    fprintf(fd, "    HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time);	  
+	    fprintf(fd, "    #HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval_msec);
+	  if(in->cnf->hello_params.validity_time_msec != NEIGHB_HOLD_TIME)
+	    fprintf(fd, "    HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time_msec);
+	  else
+	    fprintf(fd, "    #HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time_msec);
+	  if(in->cnf->tc_params.emission_interval_msec != TC_INTERVAL)
+	    fprintf(fd, "    TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval_msec);
+	  else
+	    fprintf(fd, "    #TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval_msec);
+	  if(in->cnf->tc_params.validity_time_msec != TOP_HOLD_TIME)
+	    fprintf(fd, "    TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time_msec);
+	  else
+	    fprintf(fd, "    #TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time_msec);
+	  if(in->cnf->mid_params.emission_interval_msec != MID_INTERVAL)
+	    fprintf(fd, "    MidInterval\t\t%0.2f\n", in->cnf->mid_params.emission_interval_msec);
+	  else
+	    fprintf(fd, "    #MidInterval\t%0.2f\n", in->cnf->mid_params.emission_interval_msec);
+	  if(in->cnf->mid_params.validity_time_msec != MID_HOLD_TIME)
+	    fprintf(fd, "    MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time_msec);
+	  else
+	    fprintf(fd, "    #MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time_msec);
+	  if(in->cnf->hna_params.emission_interval_msec != HNA_INTERVAL)
+	    fprintf(fd, "    HnaInterval\t\t%0.2f\n", in->cnf->hna_params.emission_interval_msec);
+	  else
+	    fprintf(fd, "    #HnaInterval\t%0.2f\n", in->cnf->hna_params.emission_interval_msec);
+	  if(in->cnf->hna_params.validity_time_msec != HNA_HOLD_TIME)
+	    fprintf(fd, "    HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time_msec);	  
 	  else
-	    fprintf(fd, "    #HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time);	  
+	    fprintf(fd, "    #HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time_msec);	  
 	  
           mult = in->cnf->lq_mult;
 
@@ -548,38 +548,38 @@
             WRITE_TO_BUF("    # Emission and validity intervals.\n    # If not defined, RFC proposed values will\n    # in most cases be used.\n\n");
 	  
 	  
-	  if(in->cnf->hello_params.emission_interval != HELLO_INTERVAL)
-	    WRITE_TO_BUF("    HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval);
+	  if(in->cnf->hello_params.emission_interval_msec != HELLO_INTERVAL)
+	    WRITE_TO_BUF("    HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval_msec);
           else if(first)
-	    WRITE_TO_BUF("    #HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval);
-	  if(in->cnf->hello_params.validity_time != NEIGHB_HOLD_TIME)
-	    WRITE_TO_BUF("    HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time);
+	    WRITE_TO_BUF("    #HelloInterval\t%0.2f\n", in->cnf->hello_params.emission_interval_msec);
+	  if(in->cnf->hello_params.validity_time_msec != NEIGHB_HOLD_TIME)
+	    WRITE_TO_BUF("    HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time_msec);
           else if(first)
-	    WRITE_TO_BUF("    #HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time);
-	  if(in->cnf->tc_params.emission_interval != TC_INTERVAL)
-	    WRITE_TO_BUF("    TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval);
+	    WRITE_TO_BUF("    #HelloValidityTime\t%0.2f\n", in->cnf->hello_params.validity_time_msec);
+	  if(in->cnf->tc_params.emission_interval_msec != TC_INTERVAL)
+	    WRITE_TO_BUF("    TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval_msec);
           else if(first)
-	    WRITE_TO_BUF("    #TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval);
-	  if(in->cnf->tc_params.validity_time != TOP_HOLD_TIME)
-	    WRITE_TO_BUF("    TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time);
+	    WRITE_TO_BUF("    #TcInterval\t\t%0.2f\n", in->cnf->tc_params.emission_interval_msec);
+	  if(in->cnf->tc_params.validity_time_msec != TOP_HOLD_TIME)
+	    WRITE_TO_BUF("    TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time_msec);
           else if(first)
-	    WRITE_TO_BUF("    #TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time);
-	  if(in->cnf->mid_params.emission_interval != MID_INTERVAL)
-	    WRITE_TO_BUF("    MidInterval\t\t%0.2f\n", in->cnf->mid_params.emission_interval);
+	    WRITE_TO_BUF("    #TcValidityTime\t%0.2f\n", in->cnf->tc_params.validity_time_msec);
+	  if(in->cnf->mid_params.emission_interval_msec != MID_INTERVAL)
+	    WRITE_TO_BUF("    MidInterval\t\t%0.2f\n", in->cnf->mid_params.emission_interval_msec);
           else if(first)
-	    WRITE_TO_BUF("    #MidInterval\t%0.2f\n", in->cnf->mid_params.emission_interval);
-	  if(in->cnf->mid_params.validity_time != MID_HOLD_TIME)
-	    WRITE_TO_BUF("    MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time);
+	    WRITE_TO_BUF("    #MidInterval\t%0.2f\n", in->cnf->mid_params.emission_interval_msec);
+	  if(in->cnf->mid_params.validity_time_msec != MID_HOLD_TIME)
+	    WRITE_TO_BUF("    MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time_msec);
           else if(first)
-	    WRITE_TO_BUF("    #MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time);
-	  if(in->cnf->hna_params.emission_interval != HNA_INTERVAL)
-	    WRITE_TO_BUF("    HnaInterval\t\t%0.2f\n", in->cnf->hna_params.emission_interval);
+	    WRITE_TO_BUF("    #MidValidityTime\t%0.2f\n", in->cnf->mid_params.validity_time_msec);
+	  if(in->cnf->hna_params.emission_interval_msec != HNA_INTERVAL)
+	    WRITE_TO_BUF("    HnaInterval\t\t%0.2f\n", in->cnf->hna_params.emission_interval_msec);
           else if(first)
-	    WRITE_TO_BUF("    #HnaInterval\t%0.2f\n", in->cnf->hna_params.emission_interval);
-	  if(in->cnf->hna_params.validity_time != HNA_HOLD_TIME)
-	    WRITE_TO_BUF("    HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time);	  
+	    WRITE_TO_BUF("    #HnaInterval\t%0.2f\n", in->cnf->hna_params.emission_interval_msec);
+	  if(in->cnf->hna_params.validity_time_msec != HNA_HOLD_TIME)
+	    WRITE_TO_BUF("    HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time_msec);	  
           else if(first)
-	    WRITE_TO_BUF("    #HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time);	  
+	    WRITE_TO_BUF("    #HnaValidityTime\t%0.2f\n", in->cnf->hna_params.validity_time_msec);	  
 	  
           mult = in->cnf->lq_mult;
 
diff -Nur olsrd-0.5.5.orig/src/cfgparser/olsrd_conf.c olsrd-0.5.5/src/cfgparser/olsrd_conf.c
--- olsrd-0.5.5.orig/src/cfgparser/olsrd_conf.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/cfgparser/olsrd_conf.c	2008-02-29 01:34:56.000000000 +0100
@@ -323,43 +323,43 @@
 	
       /* HELLO interval */
 
-      if (io->hello_params.validity_time < 0.0)
+      if (io->hello_params.validity_time_msec < 0.0)
       {
         if (cnf->lq_level == 0)
-          io->hello_params.validity_time = NEIGHB_HOLD_TIME;
+          io->hello_params.validity_time_msec = NEIGHB_HOLD_TIME;
 
         else
-          io->hello_params.validity_time = cnf->lq_wsize * io->hello_params.emission_interval;
+          io->hello_params.validity_time_msec = cnf->lq_wsize * io->hello_params.emission_interval_msec;
       }
 
-      if(io->hello_params.emission_interval < cnf->pollrate ||
-	 io->hello_params.emission_interval > io->hello_params.validity_time)
+      if(io->hello_params.emission_interval_msec < cnf->pollrate ||
+	 io->hello_params.emission_interval_msec > io->hello_params.validity_time_msec)
 	{
-	  fprintf(stderr, "Bad HELLO parameters! (em: %0.2f, vt: %0.2f)\n", io->hello_params.emission_interval, io->hello_params.validity_time);
+	  fprintf(stderr, "Bad HELLO parameters! (em: %0.2f, vt: %0.2f)\n", io->hello_params.emission_interval_msec, io->hello_params.validity_time_msec);
 	  return -1;
 	}
 
       /* TC interval */
-      if(io->tc_params.emission_interval < cnf->pollrate ||
-	 io->tc_params.emission_interval > io->tc_params.validity_time)
+      if(io->tc_params.emission_interval_msec < cnf->pollrate ||
+	 io->tc_params.emission_interval_msec > io->tc_params.validity_time_msec)
 	{
-	  fprintf(stderr, "Bad TC parameters! (em: %0.2f, vt: %0.2f)\n", io->tc_params.emission_interval, io->tc_params.validity_time);
+	  fprintf(stderr, "Bad TC parameters! (em: %0.2f, vt: %0.2f)\n", io->tc_params.emission_interval_msec, io->tc_params.validity_time_msec);
 	  return -1;
 	}
 
       /* MID interval */
-      if(io->mid_params.emission_interval < cnf->pollrate ||
-	 io->mid_params.emission_interval > io->mid_params.validity_time)
+      if(io->mid_params.emission_interval_msec < cnf->pollrate ||
+	 io->mid_params.emission_interval_msec > io->mid_params.validity_time_msec)
 	{
-	  fprintf(stderr, "Bad MID parameters! (em: %0.2f, vt: %0.2f)\n", io->mid_params.emission_interval, io->mid_params.validity_time);
+	  fprintf(stderr, "Bad MID parameters! (em: %0.2f, vt: %0.2f)\n", io->mid_params.emission_interval_msec, io->mid_params.validity_time_msec);
 	  return -1;
 	}
 
       /* HNA interval */
-      if(io->hna_params.emission_interval < cnf->pollrate ||
-	 io->hna_params.emission_interval > io->hna_params.validity_time)
+      if(io->hna_params.emission_interval_msec < cnf->pollrate ||
+	 io->hna_params.emission_interval_msec > io->hna_params.validity_time_msec)
 	{
-	  fprintf(stderr, "Bad HNA parameters! (em: %0.2f, vt: %0.2f)\n", io->hna_params.emission_interval, io->hna_params.validity_time);
+	  fprintf(stderr, "Bad HNA parameters! (em: %0.2f, vt: %0.2f)\n", io->hna_params.emission_interval_msec, io->hna_params.validity_time_msec);
 	  return -1;
 	}
 
@@ -471,7 +471,7 @@
     cnf->will_int = 10 * HELLO_INTERVAL;
     cnf->max_jitter = 0.0;
     cnf->exit_value = EXIT_SUCCESS;
-    cnf->max_tc_vtime = 0.0;
+    cnf->max_tc_vtime_msec = 0.0;
     cnf->ioctl_s = 0;
 #if LINUX_POLICY_ROUTING
     cnf->rtnl_s = 0;
@@ -513,14 +513,14 @@
 
   io->ipv6_addrtype = 0; /* global */
 
-  io->hello_params.emission_interval = HELLO_INTERVAL;
-  io->hello_params.validity_time = NEIGHB_HOLD_TIME;
-  io->tc_params.emission_interval = TC_INTERVAL;
-  io->tc_params.validity_time = TOP_HOLD_TIME;
-  io->mid_params.emission_interval = MID_INTERVAL;
-  io->mid_params.validity_time = MID_HOLD_TIME;
-  io->hna_params.emission_interval = HNA_INTERVAL;
-  io->hna_params.validity_time = HNA_HOLD_TIME;
+  io->hello_params.emission_interval_msec = HELLO_INTERVAL;
+  io->hello_params.validity_time_msec = NEIGHB_HOLD_TIME;
+  io->tc_params.emission_interval_msec = TC_INTERVAL;
+  io->tc_params.validity_time_msec = TOP_HOLD_TIME;
+  io->mid_params.emission_interval_msec = MID_INTERVAL;
+  io->mid_params.validity_time_msec = MID_HOLD_TIME;
+  io->hna_params.emission_interval_msec = HNA_INTERVAL;
+  io->hna_params.validity_time_msec = HNA_HOLD_TIME;
   io->autodetect_chg = OLSR_TRUE;
 
   return io;
@@ -615,10 +615,10 @@
 	  printf("\tIPv6 multicast site/glbl : %s", inet_ntop(AF_INET6, &in->cnf->ipv6_multi_site.v6, ipv6_buf, sizeof(ipv6_buf)));
 	  printf("/%s\n", inet_ntop(AF_INET6, &in->cnf->ipv6_multi_glbl.v6, ipv6_buf, sizeof(ipv6_buf)));
 	  
-	  printf("\tHELLO emission/validity  : %0.2f/%0.2f\n", in->cnf->hello_params.emission_interval, in->cnf->hello_params.validity_time);
-	  printf("\tTC emission/validity     : %0.2f/%0.2f\n", in->cnf->tc_params.emission_interval, in->cnf->tc_params.validity_time);
-	  printf("\tMID emission/validity    : %0.2f/%0.2f\n", in->cnf->mid_params.emission_interval, in->cnf->mid_params.validity_time);
-	  printf("\tHNA emission/validity    : %0.2f/%0.2f\n", in->cnf->hna_params.emission_interval, in->cnf->hna_params.validity_time);
+	  printf("\tHELLO emission/validity  : %0.2f/%0.2f\n", in->cnf->hello_params.emission_interval_msec, in->cnf->hello_params.validity_time_msec);
+	  printf("\tTC emission/validity     : %0.2f/%0.2f\n", in->cnf->tc_params.emission_interval_msec, in->cnf->tc_params.validity_time_msec);
+	  printf("\tMID emission/validity    : %0.2f/%0.2f\n", in->cnf->mid_params.emission_interval_msec, in->cnf->mid_params.validity_time_msec);
+	  printf("\tHNA emission/validity    : %0.2f/%0.2f\n", in->cnf->hna_params.emission_interval_msec, in->cnf->hna_params.validity_time_msec);
 	  
           for (mult = in->cnf->lq_mult; mult != NULL; mult = mult->next)
           {
diff -Nur olsrd-0.5.5.orig/src/cfgparser/oparse.y olsrd-0.5.5/src/cfgparser/oparse.y
--- olsrd-0.5.5.orig/src/cfgparser/oparse.y	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/cfgparser/oparse.y	2008-02-29 01:34:56.000000000 +0100
@@ -529,7 +529,7 @@
   PARSER_DEBUG_PRINTF("\tHELLO interval: %0.2f\n", $2->floating);
 
   while (ifcnt) {
-    ifs->cnf->hello_params.emission_interval = $2->floating;
+    ifs->cnf->hello_params.emission_interval_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -546,7 +546,7 @@
   PARSER_DEBUG_PRINTF("\tHELLO validity: %0.2f\n", $2->floating);
 
   while (ifcnt) {
-    ifs->cnf->hello_params.validity_time = $2->floating;
+    ifs->cnf->hello_params.validity_time_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -563,7 +563,7 @@
   PARSER_DEBUG_PRINTF("\tTC interval: %0.2f\n", $2->floating);
 
   while (ifcnt) {
-    ifs->cnf->tc_params.emission_interval = $2->floating;
+    ifs->cnf->tc_params.emission_interval_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -578,7 +578,7 @@
   
   PARSER_DEBUG_PRINTF("\tTC validity: %0.2f\n", $2->floating);
   while (ifcnt) {
-    ifs->cnf->tc_params.validity_time = $2->floating;
+    ifs->cnf->tc_params.validity_time_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -595,7 +595,7 @@
 
   PARSER_DEBUG_PRINTF("\tMID interval: %0.2f\n", $2->floating);
   while (ifcnt) {
-    ifs->cnf->mid_params.emission_interval = $2->floating;
+    ifs->cnf->mid_params.emission_interval_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -611,7 +611,7 @@
 
   PARSER_DEBUG_PRINTF("\tMID validity: %0.2f\n", $2->floating);
   while (ifcnt) {
-    ifs->cnf->mid_params.validity_time = $2->floating;
+    ifs->cnf->mid_params.validity_time_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -627,7 +627,7 @@
   
   PARSER_DEBUG_PRINTF("\tHNA interval: %0.2f\n", $2->floating);
   while (ifcnt) {
-    ifs->cnf->hna_params.emission_interval = $2->floating;
+    ifs->cnf->hna_params.emission_interval_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
@@ -643,7 +643,7 @@
 
   PARSER_DEBUG_PRINTF("\tHNA validity: %0.2f\n", $2->floating);
   while (ifcnt) {
-    ifs->cnf->hna_params.validity_time = $2->floating;
+    ifs->cnf->hna_params.validity_time_msec = $2->floating;
       
     ifs = ifs->next;
     ifcnt--;
diff -Nur olsrd-0.5.5.orig/src/hna_set.c olsrd-0.5.5/src/hna_set.c
--- olsrd-0.5.5.orig/src/hna_set.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/hna_set.c	2008-02-29 01:34:56.000000000 +0100
@@ -217,7 +217,7 @@
  *@return nada
  */
 void
-olsr_update_hna_entry(const union olsr_ip_addr *gw, const union olsr_ip_addr *net, olsr_u8_t prefixlen, const float vtime)
+olsr_update_hna_entry(const union olsr_ip_addr *gw, const union olsr_ip_addr *net, olsr_u8_t prefixlen, const float vtime_msec)
 {
   struct hna_entry *gw_entry = olsr_lookup_hna_gw(gw);
   struct hna_net *net_entry;
@@ -234,7 +234,7 @@
   }
 
   /* Update holdingtime */
-  net_entry->A_time = GET_TIMESTAMP(vtime*1000);
+  net_entry->A_time = GET_TIMESTAMP(vtime_msec*1000);
 }
 
 
diff -Nur olsrd-0.5.5.orig/src/interfaces.h olsrd-0.5.5/src/interfaces.h
--- olsrd-0.5.5.orig/src/interfaces.h	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/interfaces.h	2008-02-29 01:34:56.000000000 +0100
@@ -101,10 +101,10 @@
 
 struct vtimes
 {
-  olsr_u8_t hello;
-  olsr_u8_t tc;
-  olsr_u8_t mid;
-  olsr_u8_t hna;
+  olsr_u8_t hello_me;
+  olsr_u8_t tc_me;
+  olsr_u8_t mid_me;
+  olsr_u8_t hna_me;
 };
 
 /* Output buffer structure. This should actually be in net_olsr.h but we have circular references then.
@@ -152,7 +152,7 @@
   } nic_state;
 #endif
 
-  float         hello_etime;
+  float         hello_etime_msec;
   struct        vtimes valtimes;
 
   clock_t       fwdtimer;                       /* Timeout for OLSR forwarding on this if */
diff -Nur olsrd-0.5.5.orig/src/link_set.c olsrd-0.5.5/src/link_set.c
--- olsrd-0.5.5.orig/src/link_set.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/link_set.c	2008-02-29 01:34:56.000000000 +0100
@@ -492,7 +492,7 @@
 add_link_entry(const union olsr_ip_addr *local,
                const union olsr_ip_addr *remote,
                const union olsr_ip_addr *remote_main,
-               double vtime,
+               double vtime_msec,
                double htime,
                const struct interface *local_if)
 {
@@ -546,7 +546,7 @@
   new_link->SYM_time = now_times - 1;
 
   /* L_time = current time + validity time */
-  new_link->time = GET_TIMESTAMP(vtime*1000);
+  new_link->time = GET_TIMESTAMP(vtime_msec*1000);
 
   new_link->prev_status = ASYM_LINK;
 
@@ -554,9 +554,9 @@
   if(olsr_cnf->use_hysteresis)
     {
       new_link->L_link_pending = 1;
-      new_link->L_LOST_LINK_time = GET_TIMESTAMP(vtime*1000);
+      new_link->L_LOST_LINK_time = GET_TIMESTAMP(vtime_msec*1000);
       new_link->hello_timeout = GET_TIMESTAMP(htime*1500);
-      new_link->last_htime = htime;
+      new_link->link_last_htime_msec = htime;
       new_link->olsr_seqno = 0;
       new_link->olsr_seqno_valid = OLSR_FALSE;
     }
@@ -740,13 +740,13 @@
   struct link_entry *entry;
 
   /* Add if not registered */
-  entry = add_link_entry(local, remote, &message->source_addr, message->vtime, message->htime, in_if);
+  entry = add_link_entry(local, remote, &message->source_addr, message->hello_vtime_msec, message->hello_htime_msec, in_if);
 
   /* Update ASYM_time */
-  //printf("Vtime is %f\n", message->vtime);
+  //printf("Vtime is %f\n", message->vtime_msec);
   /* L_ASYM_time = current time + validity time */
-  entry->vtime = message->vtime;
-  entry->ASYM_time = GET_TIMESTAMP(message->vtime*1000);
+  entry->link_vtime_uint = message->hello_vtime_msec;
+  entry->ASYM_time = GET_TIMESTAMP(message->hello_vtime_msec*1000);
   
   entry->prev_status = check_link_status(message, in_if);
   
@@ -763,7 +763,7 @@
     case(ASYM_LINK):
       /* L_SYM_time = current time + validity time */
       //printf("updating SYM time for %s\n", olsr_ip_to_string(remote));
-      entry->SYM_time = GET_TIMESTAMP(message->vtime*1000);
+      entry->SYM_time = GET_TIMESTAMP(message->hello_vtime_msec*1000);
 
       /* L_time = L_SYM_time + NEIGHB_HOLD_TIME */
       entry->time = entry->SYM_time + hold_time_neighbor;
@@ -780,7 +780,7 @@
   /*
   printf("Updating link LOCAL: %s ", olsr_ip_to_string(local));
   printf("REMOTE: %s\n", olsr_ip_to_string(remote));
-  printf("VTIME: %f ", message->vtime);
+  printf("VTIME: %f ", message->vtime_msec);
   printf("STATUS: %d\n", status);
   */
 
@@ -977,7 +977,7 @@
                       olsr_ip_to_string(&buf, &tmp_link_set->neighbor_iface_addr),
                       olsr_etx_to_string(tmp_link_set->L_link_quality));
 	  /* Update hello_timeout - NO SLACK THIS TIME */
-	  tmp_link_set->hello_timeout = GET_TIMESTAMP(tmp_link_set->last_htime*1000);
+	  tmp_link_set->hello_timeout = GET_TIMESTAMP(tmp_link_set->link_last_htime_msec*1000);
 	  /* Recalculate status */
 	  /* Update hysteresis values */
 	  olsr_process_hysteresis(tmp_link_set);
diff -Nur olsrd-0.5.5.orig/src/link_set.h olsrd-0.5.5/src/link_set.h
--- olsrd-0.5.5.orig/src/link_set.h	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/link_set.h	2008-02-29 01:34:56.000000000 +0100
@@ -59,7 +59,7 @@
   clock_t SYM_time;
   clock_t ASYM_time;
   clock_t time;
-  unsigned int vtime;
+  unsigned int link_vtime_uint;
   struct neighbor_entry *neighbor;
   olsr_u8_t prev_status;
 
@@ -74,7 +74,7 @@
   int L_link_pending;
   clock_t L_LOST_LINK_time;
   clock_t hello_timeout; /* When we should receive a new HELLO */
-  double last_htime;
+  double link_last_htime_msec;
   olsr_bool olsr_seqno_valid;
   olsr_u16_t olsr_seqno;
 
diff -Nur olsrd-0.5.5.orig/src/lq_packet.c olsrd-0.5.5/src/lq_packet.c
--- olsrd-0.5.5.orig/src/lq_packet.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/lq_packet.c	2008-02-29 01:34:56.000000000 +0100
@@ -70,7 +70,7 @@
   // initialize the static fields
 
   lq_hello->comm.type = LQ_HELLO_MESSAGE;
-  lq_hello->comm.vtime = me_to_double(outif->valtimes.hello);
+  lq_hello->comm.lq_vtime_msec = me_to_double(outif->valtimes.hello_me);
   lq_hello->comm.size = 0;
 
   lq_hello->comm.orig = olsr_cnf->main_addr;
@@ -79,7 +79,7 @@
   lq_hello->comm.hops = 0;
   lq_hello->comm.seqno = get_msg_seqno();
 
-  lq_hello->htime = outif->hello_etime;
+  lq_hello->lq_htime_msec = outif->hello_etime_msec;
   lq_hello->will = olsr_cnf->willingness;
 
   lq_hello->neigh = NULL;
@@ -162,7 +162,7 @@
   // initialize the static fields
 
   lq_tc->comm.type = LQ_TC_MESSAGE;
-  lq_tc->comm.vtime = me_to_double(outif->valtimes.tc);
+  lq_tc->comm.lq_vtime_msec = me_to_double(outif->valtimes.tc_me);
   lq_tc->comm.size = 0;
 
   lq_tc->comm.orig = olsr_cnf->main_addr;
@@ -279,7 +279,7 @@
       struct olsr_header_v4 *olsr_head_v4 = (struct olsr_header_v4 *)msg_buffer;
 
       olsr_head_v4->type = comm->type;
-      olsr_head_v4->vtime = double_to_me(comm->vtime);
+      olsr_head_v4->lq_vtime_me = double_to_me(comm->lq_vtime_msec);
       olsr_head_v4->size = htons(comm->size);
 
       olsr_head_v4->orig = comm->orig.v4.s_addr;
@@ -294,7 +294,7 @@
       struct olsr_header_v6 *olsr_head_v6 = (struct olsr_header_v6 *)msg_buffer;
 
       olsr_head_v6->type = comm->type;
-      olsr_head_v6->vtime = double_to_me(comm->vtime);
+      olsr_head_v6->lq_vtime_me = double_to_me(comm->lq_vtime_msec);
       olsr_head_v6->size = htons(comm->size);
 
       memcpy(&olsr_head_v6->orig, &comm->orig.v6.s6_addr, sizeof(olsr_head_v6->orig));
@@ -324,7 +324,7 @@
   struct lq_hello_header *head = (struct lq_hello_header *)(msg_buffer + off);
 
   head->reserved = 0;
-  head->htime = double_to_me(lq_hello->htime);
+  head->lq_htime_me = double_to_me(lq_hello->lq_htime_msec);
   head->will = lq_hello->will; 
 
   // 'off' is the offset of the byte following the LQ_HELLO header
@@ -641,7 +641,7 @@
   } else if (prev_empty == 0) {
       // initialize timer
 
-      set_empty_tc_timer(GET_TIMESTAMP(olsr_cnf->max_tc_vtime * 3 * 1000));
+      set_empty_tc_timer(GET_TIMESTAMP(olsr_cnf->max_tc_vtime_msec * 3 * 1000));
 
       prev_empty = 1;
 
diff -Nur olsrd-0.5.5.orig/src/lq_packet.h olsrd-0.5.5/src/lq_packet.h
--- olsrd-0.5.5.orig/src/lq_packet.h	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/lq_packet.h	2008-02-29 01:34:56.000000000 +0100
@@ -54,7 +54,7 @@
 struct olsr_common
 {
   olsr_u8_t          type;
-  double             vtime;
+  double             lq_vtime_msec;
   olsr_u16_t         size;
   union olsr_ip_addr orig;
   olsr_u8_t          ttl;
@@ -67,7 +67,7 @@
 struct olsr_header_v4
 {
   olsr_u8_t  type;
-  olsr_u8_t  vtime;
+  olsr_u8_t  lq_vtime_me;
   olsr_u16_t size;
   olsr_u32_t orig;
   olsr_u8_t  ttl;
@@ -80,7 +80,7 @@
 struct olsr_header_v6
 {
   olsr_u8_t     type;
-  olsr_u8_t     vtime;
+  olsr_u8_t     lq_vtime_me;
   olsr_u16_t    size;
   unsigned char orig[16];
   olsr_u8_t     ttl;
@@ -108,7 +108,7 @@
 struct lq_hello_message
 {
   struct olsr_common       comm;
-  double                   htime;
+  double                   lq_htime_msec;
   olsr_u8_t                will;
   struct lq_hello_neighbor *neigh;
 };
@@ -125,7 +125,7 @@
 struct lq_hello_header
 {
   olsr_u16_t reserved;
-  olsr_u8_t  htime;
+  olsr_u8_t  lq_htime_me;
   olsr_u8_t  will;
 };
 
diff -Nur olsrd-0.5.5.orig/src/lq_route.c olsrd-0.5.5/src/lq_route.c
--- olsrd-0.5.5.orig/src/lq_route.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/lq_route.c	2008-02-29 01:34:56.000000000 +0100
@@ -391,7 +391,7 @@
          */
         if (!tc_edge) {
           tc_edge = olsr_add_tc_edge_entry(tc_myself, &neigh->neighbor_main_addr,
-                                           0, link->vtime,
+                                           0, link->link_vtime_uint,
                                            link->loss_link_quality2,
                                            link->neigh_link_quality2);
         } else {
@@ -401,7 +401,7 @@
            */
           tc_edge->link_quality = link->loss_link_quality2;
           tc_edge->inverse_link_quality = link->neigh_link_quality2;
-          olsr_set_tc_edge_timer(tc_edge, link->vtime*1000);
+          olsr_set_tc_edge_timer(tc_edge, link->link_vtime_uint*1000);
           olsr_calc_tc_edge_entry_etx(tc_edge);
         }
         if (tc_edge->edge_inv) {
diff -Nur olsrd-0.5.5.orig/src/main.c olsrd-0.5.5/src/main.c
--- olsrd-0.5.5.orig/src/main.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/main.c	2008-02-29 01:34:56.000000000 +0100
@@ -731,8 +731,8 @@
 	{
 	  NEXT_ARG;
           CHECK_ARGC;
-	  sscanf(*argv,"%f", &ifcnf->hello_params.emission_interval);
-          ifcnf->hello_params.validity_time = ifcnf->hello_params.emission_interval * 3;
+	  sscanf(*argv,"%f", &ifcnf->hello_params.emission_interval_msec);
+          ifcnf->hello_params.validity_time_msec = ifcnf->hello_params.emission_interval_msec * 3;
 	  continue;
 	}
 
@@ -744,8 +744,8 @@
 	{
 	  NEXT_ARG;
           CHECK_ARGC;
-	  sscanf(*argv,"%f", &ifcnf->hna_params.emission_interval);
-          ifcnf->hna_params.validity_time = ifcnf->hna_params.emission_interval * 3;
+	  sscanf(*argv,"%f", &ifcnf->hna_params.emission_interval_msec);
+          ifcnf->hna_params.validity_time_msec = ifcnf->hna_params.emission_interval_msec * 3;
 	  continue;
 	}
 
@@ -757,8 +757,8 @@
 	{
 	  NEXT_ARG;
           CHECK_ARGC;
-	  sscanf(*argv,"%f", &ifcnf->mid_params.emission_interval);
-          ifcnf->mid_params.validity_time = ifcnf->mid_params.emission_interval * 3;
+	  sscanf(*argv,"%f", &ifcnf->mid_params.emission_interval_msec);
+          ifcnf->mid_params.validity_time_msec = ifcnf->mid_params.emission_interval_msec * 3;
 	  continue;
 	}
 
@@ -770,8 +770,8 @@
 	{
 	  NEXT_ARG;
           CHECK_ARGC;
-	  sscanf(*argv,"%f", &ifcnf->tc_params.emission_interval);
-          ifcnf->tc_params.validity_time = ifcnf->tc_params.emission_interval * 3;
+	  sscanf(*argv,"%f", &ifcnf->tc_params.emission_interval_msec);
+          ifcnf->tc_params.validity_time_msec = ifcnf->tc_params.emission_interval_msec * 3;
 	  continue;
 	}
 
diff -Nur olsrd-0.5.5.orig/src/mid_set.c olsrd-0.5.5/src/mid_set.c
--- olsrd-0.5.5.orig/src/mid_set.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/mid_set.c	2008-02-29 01:34:56.000000000 +0100
@@ -98,7 +98,7 @@
  */
 
 void 
-insert_mid_tuple(union olsr_ip_addr *m_addr, struct mid_address *alias, float vtime)
+insert_mid_tuple(union olsr_ip_addr *m_addr, struct mid_address *alias, float vtime_msec)
 {
   struct mid_entry *tmp;
   struct mid_address *tmp_adr;
@@ -139,7 +139,7 @@
       alias->main_entry = tmp;
       QUEUE_ELEM(reverse_mid_set[alias_hash], alias);
       alias->next_alias = tmp_adr;
-      tmp->ass_timer = GET_TIMESTAMP(vtime*1000);
+      tmp->ass_timer = GET_TIMESTAMP(vtime_msec*1000);
     }
   else
     {
@@ -151,7 +151,7 @@
       alias->main_entry = tmp;
       QUEUE_ELEM(reverse_mid_set[alias_hash], alias);
       tmp->main_addr = *m_addr;
-      tmp->ass_timer = GET_TIMESTAMP(vtime*1000);
+      tmp->ass_timer = GET_TIMESTAMP(vtime_msec*1000);
       /* Queue */
       QUEUE_ELEM(mid_set[hash], tmp);
     }
@@ -227,7 +227,7 @@
  *@return nada
  */
 void
-insert_mid_alias(union olsr_ip_addr *main_add, const union olsr_ip_addr *alias, float vtime)
+insert_mid_alias(union olsr_ip_addr *main_add, const union olsr_ip_addr *alias, float vtime_msec)
 {
   struct neighbor_entry *ne_old, *ne_new;
   struct mid_entry *me_old;
@@ -269,7 +269,7 @@
      }
   }
   
-  insert_mid_tuple(main_add, adr, vtime);
+  insert_mid_tuple(main_add, adr, vtime_msec);
   
   /*
    *Recalculate topology
@@ -356,7 +356,7 @@
  *@return 1 if the node was updated, 0 if not
  */
 int
-olsr_update_mid_table(const union olsr_ip_addr *adr, float vtime)
+olsr_update_mid_table(const union olsr_ip_addr *adr, float vtime_msec)
 {
   olsr_u32_t hash;
 #ifndef NODEBUG
@@ -376,7 +376,7 @@
       if(ipequal(&tmp_list->main_addr, adr))
 	{
 	  // printf("MID: Updating timer for node %s\n", olsr_ip_to_string(&buf, &tmp_list->main_addr));
-	  tmp_list->ass_timer = GET_TIMESTAMP(vtime*1000);
+	  tmp_list->ass_timer = GET_TIMESTAMP(vtime_msec*1000);
 
 	  return 1;
 	}
diff -Nur olsrd-0.5.5.orig/src/mpr_selector_set.c olsrd-0.5.5/src/mpr_selector_set.c
--- olsrd-0.5.5.orig/src/mpr_selector_set.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/mpr_selector_set.c	2008-02-29 01:34:56.000000000 +0100
@@ -102,7 +102,7 @@
  *@return a pointer to the new entry
  */
 struct mpr_selector *
-olsr_add_mpr_selector(const union olsr_ip_addr *addr, float vtime)
+olsr_add_mpr_selector(const union olsr_ip_addr *addr, float vtime_msec)
 {
 #ifndef NODEBUG
   struct ipaddr_str buf;
@@ -115,7 +115,7 @@
 
   /* Fill struct */
   new_entry->MS_main_addr = *addr;
-  new_entry->MS_time = GET_TIMESTAMP(vtime*1000);
+  new_entry->MS_time = GET_TIMESTAMP(vtime_msec*1000);
 
   /* Queue */
   QUEUE_ELEM(mprs_list, new_entry);
@@ -168,7 +168,7 @@
  *@return 1 if a new entry was added 0 if not
  */
 int
-olsr_update_mprs_set(const union olsr_ip_addr *addr, float vtime)
+olsr_update_mprs_set(const union olsr_ip_addr *addr, float vtime_msec)
 {
 #ifndef NODEBUG
   struct ipaddr_str buf;
@@ -178,11 +178,11 @@
   OLSR_PRINTF(5, "MPRS: Update %s\n", olsr_ip_to_string(&buf, addr));
 
   if(mprs == NULL) {
-    olsr_add_mpr_selector(addr, vtime);
+    olsr_add_mpr_selector(addr, vtime_msec);
     signal_link_changes(OLSR_TRUE);
     return 1;
   }
-  mprs->MS_time = GET_TIMESTAMP(vtime*1000);
+  mprs->MS_time = GET_TIMESTAMP(vtime_msec*1000);
   return 0;
 }
 
diff -Nur olsrd-0.5.5.orig/src/olsr_cfg.h olsrd-0.5.5/src/olsr_cfg.h
--- olsrd-0.5.5.orig/src/olsr_cfg.h	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/olsr_cfg.h	2008-02-29 01:34:56.000000000 +0100
@@ -108,8 +108,8 @@
 
 struct olsr_msg_params
 {
-  float                    emission_interval;
-  float                    validity_time;
+  float                    emission_interval_msec;
+  float                    validity_time_msec;
 };
 
 struct olsr_lq_mult
@@ -232,7 +232,7 @@
   float                    will_int;
   float                    max_jitter;
   int                      exit_value;           /* Global return value for process termination */
-  float                    max_tc_vtime;
+  float                    max_tc_vtime_msec;
 
   int                      ioctl_s;              /* Socket used for ioctl calls */
 #if LINUX_POLICY_ROUTING
diff -Nur olsrd-0.5.5.orig/src/olsr_protocol.h olsrd-0.5.5/src/olsr_protocol.h
--- olsrd-0.5.5.orig/src/olsr_protocol.h	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/olsr_protocol.h	2008-02-29 01:34:56.000000000 +0100
@@ -210,7 +210,7 @@
 struct hellomsg 
 {
   olsr_u16_t      reserved;
-  olsr_u8_t       htime;
+  olsr_u8_t       hello_htime_me;
   olsr_u8_t       willingness;
   struct hellinfo hell_info[1];
 } __attribute__ ((packed));
@@ -230,7 +230,7 @@
 struct hellomsg6
 {
   olsr_u16_t         reserved;
-  olsr_u8_t          htime;
+  olsr_u8_t          hello_htime_me;
   olsr_u8_t          willingness;
   struct hellinfo6   hell_info[1];
 } __attribute__ ((packed));
@@ -355,7 +355,7 @@
 struct olsrmsg
 {
   olsr_u8_t     olsr_msgtype;
-  olsr_u8_t     olsr_vtime;
+  olsr_u8_t     olsr_msgvtime_me;
   olsr_u16_t    olsr_msgsize;
   olsr_u32_t    originator;
   olsr_u8_t     ttl;
@@ -379,7 +379,7 @@
 struct olsrmsg6
 {
   olsr_u8_t        olsr_msgtype;
-  olsr_u8_t        olsr_vtime;
+  olsr_u8_t        olsr_msgvtime_me;
   olsr_u16_t       olsr_msgsize;
   struct in6_addr  originator;
   olsr_u8_t        ttl;
diff -Nur olsrd-0.5.5.orig/src/packet.c olsrd-0.5.5/src/packet.c
--- olsrd-0.5.5.orig/src/packet.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/packet.c	2008-02-29 01:34:56.000000000 +0100
@@ -427,7 +427,7 @@
 	{
 	  /* Send empty TC */
 	  OLSR_PRINTF(3, "No more MPR selectors - will send empty TCs\n");
-	  set_empty_tc_timer(GET_TIMESTAMP((olsr_cnf->max_tc_vtime*3)*1000));
+	  set_empty_tc_timer(GET_TIMESTAMP((olsr_cnf->max_tc_vtime_msec*3)*1000));
 
 	  sending_tc = OLSR_FALSE;
 	}
diff -Nur olsrd-0.5.5.orig/src/packet.h olsrd-0.5.5/src/packet.h
--- olsrd-0.5.5.orig/src/packet.h	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/packet.h	2008-02-29 01:34:56.000000000 +0100
@@ -63,8 +63,8 @@
 
 struct hello_message
 {
-  double                 vtime;
-  double                 htime;
+  double                 hello_vtime_msec;
+  double                 hello_htime_msec;
   union olsr_ip_addr     source_addr;
   olsr_u16_t             packet_seq_number;
   olsr_u8_t              hop_count;
@@ -89,7 +89,7 @@
 
 struct tc_message
 {
-  double              vtime;
+  double              tc_vtime_msec;
   union olsr_ip_addr  source_addr;
   union olsr_ip_addr  originator;
   olsr_u16_t          packet_seq_number;
@@ -116,7 +116,7 @@
 
 struct mid_message
 {
-  double             vtime;
+  double             mid_vtime_msec;
   union olsr_ip_addr mid_origaddr;  /* originator's address */
   olsr_u8_t          mid_hopcnt;    /* number of hops to destination */
   olsr_u8_t          mid_ttl;       /* ttl */
diff -Nur olsrd-0.5.5.orig/src/print_packet.c olsrd-0.5.5/src/print_packet.c
--- olsrd-0.5.5.orig/src/print_packet.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/print_packet.c	2008-02-29 01:34:56.000000000 +0100
@@ -113,7 +113,7 @@
   fprintf(handle, "    Type: %s, size: %d, vtime: %0.2f\n", 
 	  olsr_msgtype_to_string(msg->v4.olsr_msgtype), 
 	  ntohs(msg->v4.olsr_msgsize),
-	  me_to_double(msg->v4.olsr_vtime));
+	  me_to_double(msg->v4.olsr_msgvtime_me));
   fprintf(handle, "    TTL: %d, Hopcnt: %d, seqno: %d\n",
 	  (olsr_cnf->ip_version == AF_INET) ? msg->v4.ttl : msg->v6.ttl,
 	  (olsr_cnf->ip_version == AF_INET) ? msg->v4.hopcnt : msg->v6.hopcnt,
diff -Nur olsrd-0.5.5.orig/src/process_package.c olsrd-0.5.5/src/process_package.c
--- olsrd-0.5.5.orig/src/process_package.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/process_package.c	2008-02-29 01:34:56.000000000 +0100
@@ -114,7 +114,7 @@
           if (two_hop_neighbor_yet != NULL)
             {
               /* Updating the holding time for this neighbor */
-              two_hop_neighbor_yet->neighbor_2_timer = GET_TIMESTAMP(message->vtime*1000);
+              two_hop_neighbor_yet->neighbor_2_timer = GET_TIMESTAMP(message->hello_vtime_msec*1000);
               two_hop_neighbor = two_hop_neighbor_yet->neighbor_2;
 
               // For link quality OLSR, reset the path link quality here.
@@ -175,7 +175,7 @@
 
                   olsr_insert_two_hop_neighbor_table(two_hop_neighbor);
 
-                  linking_this_2_entries(neighbor, two_hop_neighbor, message->vtime);
+                  linking_this_2_entries(neighbor, two_hop_neighbor, message->hello_vtime_msec);
                 }
               else
                 {
@@ -185,7 +185,7 @@
                   changes_neighborhood = OLSR_TRUE;
                   changes_topology = OLSR_TRUE;
 		  
-                  linking_this_2_entries(neighbor, two_hop_neighbor, message->vtime); 
+                  linking_this_2_entries(neighbor, two_hop_neighbor, message->hello_vtime_msec); 
                 }
             }
         }
@@ -388,7 +388,7 @@
  *@return nada
  */
 static void
-linking_this_2_entries(struct neighbor_entry *neighbor, struct neighbor_2_entry *two_hop_neighbor, float vtime)
+linking_this_2_entries(struct neighbor_entry *neighbor, struct neighbor_2_entry *two_hop_neighbor, float vtime_msec)
 {
   struct neighbor_list_entry    *list_of_1_neighbors = olsr_malloc(sizeof(struct neighbor_list_entry), "Link entries 1");
   struct neighbor_2_list_entry  *list_of_2_neighbors = olsr_malloc(sizeof(struct neighbor_2_list_entry), "Link entries 2");
@@ -413,7 +413,7 @@
   list_of_1_neighbors->prev = &two_hop_neighbor->neighbor_2_nblist;
   list_of_2_neighbors->neighbor_2 = two_hop_neighbor;
   
-  list_of_2_neighbors->neighbor_2_timer = GET_TIMESTAMP(vtime*1000);
+  list_of_2_neighbors->neighbor_2_timer = GET_TIMESTAMP(vtime_msec*1000);
 
   /* Queue */
   neighbor->neighbor_2_list.next->prev = list_of_2_neighbors;
@@ -465,7 +465,7 @@
 		/* No need to do anything more */
 		return 1;
 	}
-	pkt_get_double(&curr, &hello->vtime);
+	pkt_get_double(&curr, &hello->hello_vtime_msec);
 	pkt_get_u16(&curr, &size);
 	pkt_get_ipaddress(&curr, &hello->source_addr);
 	
@@ -474,7 +474,7 @@
 	pkt_get_u16(&curr, &hello->packet_seq_number);
 	pkt_ignore_u16(&curr);
 	
-	pkt_get_double(&curr, &hello->htime);
+	pkt_get_double(&curr, &hello->hello_htime_msec);
 	pkt_get_u8(&curr, &hello->willingness);
 	
 	hello->neighbors = NULL;
@@ -559,7 +559,7 @@
 #endif
       struct hello_neighbor *walker;
       // just in case our neighbor has changed its HELLO interval
-      olsr_update_packet_loss_hello_int(lnk, message->htime);
+      olsr_update_packet_loss_hello_int(lnk, message->hello_htime_msec);
 
       // find the input interface in the list of neighbor interfaces
 
@@ -632,13 +632,13 @@
     {
       /* Update HELLO timeout */
       //printf("MESSAGE HTIME: %f\n", message->htime);
-      olsr_update_hysteresis_hello(lnk, message->htime);
+      olsr_update_hysteresis_hello(lnk, message->hello_htime_msec);
     }
 
   /* Check if we are chosen as MPR */
   if(lookup_mpr_status(message, in_if))
     /* source_addr is always the main addr of a node! */
-    olsr_update_mprs_set(&message->source_addr, message->vtime);
+    olsr_update_mprs_set(&message->source_addr, message->hello_vtime_msec);
 
 
 
@@ -724,7 +724,7 @@
     }
 
     /* Update the timeout of the MID */
-    olsr_update_mid_table(&message.mid_origaddr, (float)message.vtime);
+    olsr_update_mid_table(&message.mid_origaddr, (float)message.mid_vtime_msec);
 
     while (tmp_adr) {
       if (!mid_lookup_main_addr(&tmp_adr->alias_addr)){
@@ -733,7 +733,7 @@
 #endif
         OLSR_PRINTF(1, "MID new: (%s, ", olsr_ip_to_string(&buf, &message.mid_origaddr));
         OLSR_PRINTF(1, "%s)\n", olsr_ip_to_string(&buf, &tmp_adr->alias_addr));
-        insert_mid_alias(&message.mid_origaddr, &tmp_adr->alias_addr, (float)message.vtime);
+        insert_mid_alias(&message.mid_origaddr, &tmp_adr->alias_addr, (float)message.mid_vtime_msec);
       }
       tmp_adr = tmp_adr->next;
     } 
@@ -766,7 +766,7 @@
 {
 
   olsr_u8_t          olsr_msgtype;
-  double             vtime;
+  double             vtime_msec;
   olsr_u16_t         olsr_msgsize;
   union olsr_ip_addr originator;
   //olsr_u8_t          ttl; unused
@@ -793,7 +793,7 @@
     return;
   }
   /* Get vtime */
-  pkt_get_double(&curr, &vtime);
+  pkt_get_double(&curr, &vtime_msec);
 
   /* olsr_msgsize */
   pkt_get_u16(&curr, &olsr_msgsize);
@@ -845,7 +845,7 @@
       entry = ip_prefix_list_find(olsr_cnf->hna_entries, &net, prefixlen);
       if (entry == NULL) {
         /* only update if it's not from us */
-        olsr_update_hna_entry(&originator, &net, prefixlen, vtime);
+        olsr_update_hna_entry(&originator, &net, prefixlen, vtime_msec);
 #else
     while (hna_tmp) {
       /* Don't add an HNA entry that we are advertising ourselves. */
diff -Nur olsrd-0.5.5.orig/src/rebuild_packet.c olsrd-0.5.5/src/rebuild_packet.c
--- olsrd-0.5.5.orig/src/rebuild_packet.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/rebuild_packet.c	2008-02-29 01:34:56.000000000 +0100
@@ -87,7 +87,7 @@
       mmsg->mid_addr = NULL;
 
       /* Get vtime */
-      mmsg->vtime = me_to_double(m->v4.olsr_vtime);
+      mmsg->mid_vtime_msec = me_to_double(m->v4.olsr_msgvtime_me);
 
       //printf("Sequencenuber of MID from %s is %d\n", ip_to_string(&mmsg->addr), mmsg->mid_seqno);
 
@@ -138,7 +138,7 @@
       mmsg->mid_addr = NULL;
 
       /* Get vtime */
-      mmsg->vtime = me_to_double(m->v6.olsr_vtime);
+      mmsg->mid_vtime_msec = me_to_double(m->v6.olsr_msgvtime_me);
 
       //printf("Sequencenuber of MID from %s is %d\n", ip_to_string(&mmsg->addr), mmsg->mid_seqno);
 
diff -Nur olsrd-0.5.5.orig/src/tc_set.c olsrd-0.5.5/src/tc_set.c
--- olsrd-0.5.5.orig/src/tc_set.c	2008-02-29 01:34:56.000000000 +0100
+++ olsrd-0.5.5/src/tc_set.c	2008-02-29 01:34:56.000000000 +0100
@@ -346,7 +346,7 @@
  */
 struct tc_edge_entry *
 olsr_add_tc_edge_entry(struct tc_entry *tc, union olsr_ip_addr *addr,
-                       olsr_u16_t ansn, unsigned int vtime,
+                       olsr_u16_t ansn, unsigned int vtime_uint,
 #ifdef USE_FPM
                        fpm link_quality, fpm neigh_link_quality
 #else
@@ -368,7 +368,7 @@
 
   /* Fill entry */
   tc_edge->T_dest_addr = *addr;
-  olsr_set_tc_edge_timer(tc_edge, vtime*1000);
+  olsr_set_tc_edge_timer(tc_edge, vtime_uint*1000);
   tc_edge->T_seq = ansn;
   tc_edge->edge_node.data = tc_edge;
   tc_edge->edge_node.key = &tc_edge->T_dest_addr;
@@ -810,7 +810,7 @@
 #endif
   olsr_u16_t size, msg_seq, ansn;
   olsr_u8_t type, ttl, msg_hops;
-  double vtime;
+  double vtime_msec;
   unsigned int vtime_s;
   union olsr_ip_addr originator;
   const unsigned char *limit, *curr;
@@ -827,8 +827,8 @@
     return;
   }
 
-  pkt_get_double(&curr, &vtime);
-  vtime_s = (unsigned int)vtime;
+  pkt_get_double(&curr, &vtime_msec);
+  vtime_s = (unsigned int)vtime_msec;
   pkt_get_u16(&curr, &size);
 
   pkt_get_ipaddress(&curr, &originator);
diff -Nur olsrd-0.5.5.orig/src/unix/ifnet.c olsrd-0.5.5/src/unix/ifnet.c
--- olsrd-0.5.5.orig/src/unix/ifnet.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/unix/ifnet.c	2008-02-29 01:34:56.000000000 +0100
@@ -471,12 +471,12 @@
     {
       olsr_remove_scheduler_event(&generate_hello, 
                                   ifp, 
-                                  iface->cnf->hello_params.emission_interval, 
+                                  iface->cnf->hello_params.emission_interval_msec, 
                                   0, 
                                   NULL);
       olsr_remove_scheduler_event(&generate_tc, 
                                   ifp, 
-                                  iface->cnf->tc_params.emission_interval,
+                                  iface->cnf->tc_params.emission_interval_msec,
                                   0, 
                                   NULL);
     }
@@ -485,24 +485,24 @@
     {
       olsr_remove_scheduler_event(&olsr_output_lq_hello, 
                                   ifp, 
-                                  iface->cnf->hello_params.emission_interval, 
+                                  iface->cnf->hello_params.emission_interval_msec, 
                                   0, 
                                   NULL);
       olsr_remove_scheduler_event(&olsr_output_lq_tc, 
                                   ifp, 
-                                  iface->cnf->tc_params.emission_interval,
+                                  iface->cnf->tc_params.emission_interval_msec,
                                   0, 
                                   NULL);
     }
 
   olsr_remove_scheduler_event(&generate_mid, 
 			      ifp, 
-			      iface->cnf->mid_params.emission_interval,
+			      iface->cnf->mid_params.emission_interval_msec,
 			      0, 
 			      NULL);
   olsr_remove_scheduler_event(&generate_hna, 
 			      ifp, 
-			      iface->cnf->hna_params.emission_interval,
+			      iface->cnf->hna_params.emission_interval_msec,
 			      0, 
 			      NULL);
 
@@ -662,12 +662,12 @@
     {
       olsr_register_scheduler_event(&generate_hello, 
                                     ifp, 
-                                    iface->cnf->hello_params.emission_interval, 
+                                    iface->cnf->hello_params.emission_interval_msec, 
                                     0, 
                                     NULL);
       olsr_register_scheduler_event(&generate_tc, 
                                     ifp, 
-                                    iface->cnf->tc_params.emission_interval,
+                                    iface->cnf->tc_params.emission_interval_msec,
                                     0, 
                                     NULL);
     }
@@ -676,42 +676,42 @@
     {
       olsr_register_scheduler_event(&olsr_output_lq_hello, 
                                     ifp, 
-                                    iface->cnf->hello_params.emission_interval, 
+                                    iface->cnf->hello_params.emission_interval_msec, 
                                     0, 
                                     NULL);
       olsr_register_scheduler_event(&olsr_output_lq_tc, 
                                     ifp, 
-                                    iface->cnf->tc_params.emission_interval,
+                                    iface->cnf->tc_params.emission_interval_msec,
                                     0, 
                                     NULL);
     }
 
   olsr_register_scheduler_event(&generate_mid, 
 				ifp, 
-				iface->cnf->mid_params.emission_interval,
+				iface->cnf->mid_params.emission_interval_msec,
 				0, 
 				NULL);
   olsr_register_scheduler_event(&generate_hna, 
 				ifp, 
-				iface->cnf->hna_params.emission_interval,
+				iface->cnf->hna_params.emission_interval_msec,
 				0, 
 				NULL);
 
   /* Recalculate max jitter */
 
   if((olsr_cnf->max_jitter == 0) || 
-     ((iface->cnf->hello_params.emission_interval / 4) < olsr_cnf->max_jitter))
-    olsr_cnf->max_jitter = iface->cnf->hello_params.emission_interval / 4;
+     ((iface->cnf->hello_params.emission_interval_msec / 4) < olsr_cnf->max_jitter))
+    olsr_cnf->max_jitter = iface->cnf->hello_params.emission_interval_msec / 4;
 
   /* Recalculate max topology hold time */
-  if(olsr_cnf->max_tc_vtime < iface->cnf->tc_params.emission_interval)
-    olsr_cnf->max_tc_vtime = iface->cnf->tc_params.emission_interval;
+  if(olsr_cnf->max_tc_vtime_msec < iface->cnf->tc_params.emission_interval_msec)
+    olsr_cnf->max_tc_vtime_msec = iface->cnf->tc_params.emission_interval_msec;
 
-  ifp->hello_etime = iface->cnf->hello_params.emission_interval;
-  ifp->valtimes.hello = double_to_me(iface->cnf->hello_params.validity_time);
-  ifp->valtimes.tc = double_to_me(iface->cnf->tc_params.validity_time);
-  ifp->valtimes.mid = double_to_me(iface->cnf->mid_params.validity_time);
-  ifp->valtimes.hna = double_to_me(iface->cnf->hna_params.validity_time);
+  ifp->hello_etime_msec = iface->cnf->hello_params.emission_interval_msec;
+  ifp->valtimes.hello_me = double_to_me(iface->cnf->hello_params.validity_time_msec);
+  ifp->valtimes.tc_me = double_to_me(iface->cnf->tc_params.validity_time_msec);
+  ifp->valtimes.mid_me = double_to_me(iface->cnf->mid_params.validity_time_msec);
+  ifp->valtimes.hna_me = double_to_me(iface->cnf->hna_params.validity_time_msec);
 
   return 1;
 }
@@ -936,7 +936,7 @@
   
   ifp = olsr_malloc(sizeof (struct interface), "Interface update 2");
   
-  ifp->immediate_send_tc = (iface->cnf->tc_params.emission_interval < iface->cnf->hello_params.emission_interval);
+  ifp->immediate_send_tc = (iface->cnf->tc_params.emission_interval_msec < iface->cnf->hello_params.emission_interval_msec);
 
   iface->configured = 1;
   iface->interf = ifp;
@@ -1040,41 +1040,41 @@
 
   olsr_register_scheduler_event(olsr_cnf->lq_level == 0 ? &generate_hello : &olsr_output_lq_hello,
                                 ifp, 
-                                iface->cnf->hello_params.emission_interval, 
+                                iface->cnf->hello_params.emission_interval_msec, 
                                 0, 
                                 NULL);
   olsr_register_scheduler_event(olsr_cnf->lq_level == 0 ? &generate_tc : &olsr_output_lq_tc,
                                 ifp, 
-                                iface->cnf->tc_params.emission_interval,
+                                iface->cnf->tc_params.emission_interval_msec,
                                 0, 
                                 NULL);
   olsr_register_scheduler_event(&generate_mid, 
 				ifp, 
-				iface->cnf->mid_params.emission_interval,
+				iface->cnf->mid_params.emission_interval_msec,
 				0, 
 				NULL);
   olsr_register_scheduler_event(&generate_hna, 
 				ifp, 
-				iface->cnf->hna_params.emission_interval,
+				iface->cnf->hna_params.emission_interval_msec,
 				0, 
 				NULL);
 
   /* Recalculate max jitter */
 
   if((olsr_cnf->max_jitter == 0) || 
-     ((iface->cnf->hello_params.emission_interval / 4) < olsr_cnf->max_jitter)) {
-    olsr_cnf->max_jitter = iface->cnf->hello_params.emission_interval / 4;
+     ((iface->cnf->hello_params.emission_interval_msec / 4) < olsr_cnf->max_jitter)) {
+    olsr_cnf->max_jitter = iface->cnf->hello_params.emission_interval_msec / 4;
   }
 
   /* Recalculate max topology hold time */
-  if(olsr_cnf->max_tc_vtime < iface->cnf->tc_params.emission_interval) {
-    olsr_cnf->max_tc_vtime = iface->cnf->tc_params.emission_interval;
+  if(olsr_cnf->max_tc_vtime_msec < iface->cnf->tc_params.emission_interval_msec) {
+    olsr_cnf->max_tc_vtime_msec = iface->cnf->tc_params.emission_interval_msec;
   }
-  ifp->hello_etime = iface->cnf->hello_params.emission_interval;
-  ifp->valtimes.hello = double_to_me(iface->cnf->hello_params.validity_time);
-  ifp->valtimes.tc = double_to_me(iface->cnf->tc_params.validity_time);
-  ifp->valtimes.mid = double_to_me(iface->cnf->mid_params.validity_time);
-  ifp->valtimes.hna = double_to_me(iface->cnf->hna_params.validity_time);
+  ifp->hello_etime_msec = iface->cnf->hello_params.emission_interval_msec;
+  ifp->valtimes.hello_me = double_to_me(iface->cnf->hello_params.validity_time_msec);
+  ifp->valtimes.tc_me = double_to_me(iface->cnf->tc_params.validity_time_msec);
+  ifp->valtimes.mid_me = double_to_me(iface->cnf->mid_params.validity_time_msec);
+  ifp->valtimes.hna_me = double_to_me(iface->cnf->hna_params.validity_time_msec);
 
 
   /*
diff -Nur olsrd-0.5.5.orig/src/win32/ifnet.c olsrd-0.5.5/src/win32/ifnet.c
--- olsrd-0.5.5.orig/src/win32/ifnet.c	2008-02-06 19:32:49.000000000 +0100
+++ olsrd-0.5.5/src/win32/ifnet.c	2008-02-29 01:34:56.000000000 +0100
@@ -559,31 +559,31 @@
   if (olsr_cnf->lq_level == 0)
     {
       olsr_remove_scheduler_event(&generate_hello, Int,
-                                  IntConf->cnf->hello_params.emission_interval,
+                                  IntConf->cnf->hello_params.emission_interval_msec,
                                   0, NULL);
 
       olsr_remove_scheduler_event(&generate_tc, Int,
-                                  IntConf->cnf->tc_params.emission_interval,
+                                  IntConf->cnf->tc_params.emission_interval_msec,
                                   0, NULL);
     }
 
   else
     {
       olsr_remove_scheduler_event(&olsr_output_lq_hello, Int,
-                                  IntConf->cnf->hello_params.emission_interval,
+                                  IntConf->cnf->hello_params.emission_interval_msec,
                                   0, NULL);
 
       olsr_remove_scheduler_event(&olsr_output_lq_tc, Int,
-                                  IntConf->cnf->tc_params.emission_interval,
+                                  IntConf->cnf->tc_params.emission_interval_msec,
                                   0, NULL);
     }
 
   olsr_remove_scheduler_event(&generate_mid, Int,
-                              IntConf->cnf->mid_params.emission_interval,
+                              IntConf->cnf->mid_params.emission_interval_msec,
                               0, NULL);
 
   olsr_remove_scheduler_event(&generate_hna, Int,
-                              IntConf->cnf->hna_params.emission_interval,
+                              IntConf->cnf->hna_params.emission_interval_msec,
                               0, NULL);
 
   net_remove_buffer(Int);
@@ -728,12 +728,12 @@
     {
       olsr_register_scheduler_event(&generate_hello, 
                                     ifp, 
-                                    iface->cnf->hello_params.emission_interval, 
+                                    iface->cnf->hello_params.emission_interval_msec, 
                                     0, 
                                     NULL);
       olsr_register_scheduler_event(&generate_tc, 
                                     ifp, 
-                                    iface->cnf->tc_params.emission_interval,
+                                    iface->cnf->tc_params.emission_interval_msec,
                                     0, 
                                     NULL);
     }
@@ -742,42 +742,42 @@
     {
       olsr_register_scheduler_event(&olsr_output_lq_hello, 
                                     ifp, 
-                                    iface->cnf->hello_params.emission_interval, 
+                                    iface->cnf->hello_params.emission_interval_msec, 
                                     0, 
                                     NULL);
       olsr_register_scheduler_event(&olsr_output_lq_tc, 
                                     ifp, 
-                                    iface->cnf->tc_params.emission_interval,
+                                    iface->cnf->tc_params.emission_interval_msec,
                                     0, 
                                     NULL);
     }
 
   olsr_register_scheduler_event(&generate_mid, 
 				ifp, 
-				iface->cnf->mid_params.emission_interval,
+				iface->cnf->mid_params.emission_interval_msec,
 				0, 
 				NULL);
   olsr_register_scheduler_event(&generate_hna, 
 				ifp, 
-				iface->cnf->hna_params.emission_interval,
+				iface->cnf->hna_params.emission_interval_msec,
 				0, 
 				NULL);
 
   /* Recalculate max jitter */
 
   if((olsr_cnf->max_jitter == 0) || 
-     ((iface->cnf->hello_params.emission_interval / 4) < olsr_cnf->max_jitter))
-    olsr_cnf->max_jitter = iface->cnf->hello_params.emission_interval / 4;
+     ((iface->cnf->hello_params.emission_interval_msec / 4) < olsr_cnf->max_jitter))
+    olsr_cnf->max_jitter = iface->cnf->hello_params.emission_interval_msec / 4;
 
   /* Recalculate max topology hold time */
-  if(olsr_cnf->max_tc_vtime < iface->cnf->tc_params.emission_interval)
-    olsr_cnf->max_tc_vtime = iface->cnf->tc_params.emission_interval;
+  if(olsr_cnf->max_tc_vtime_msec < iface->cnf->tc_params.emission_interval_msec)
+    olsr_cnf->max_tc_vtime_msec = iface->cnf->tc_params.emission_interval_msec;
 
-  ifp->hello_etime = iface->cnf->hello_params.emission_interval;
-  ifp->valtimes.hello = double_to_me(iface->cnf->hello_params.validity_time);
-  ifp->valtimes.tc = double_to_me(iface->cnf->tc_params.validity_time);
-  ifp->valtimes.mid = double_to_me(iface->cnf->mid_params.validity_time);
-  ifp->valtimes.hna = double_to_me(iface->cnf->hna_params.validity_time);
+  ifp->hello_etime_msec = iface->cnf->hello_params.emission_interval_msec;
+  ifp->valtimes.hello_me = double_to_me(iface->cnf->hello_params.validity_time_msec);
+  ifp->valtimes.tc_me = double_to_me(iface->cnf->tc_params.validity_time_msec);
+  ifp->valtimes.mid_me = double_to_me(iface->cnf->mid_params.validity_time_msec);
+  ifp->valtimes.hna_me = double_to_me(iface->cnf->hna_params.validity_time_msec);
 
   return 1;
 }
@@ -955,7 +955,7 @@
 
   New = olsr_malloc(sizeof (struct interface), "Interface 1");
 
-  New->immediate_send_tc = (IntConf->cnf->tc_params.emission_interval < IntConf->cnf->hello_params.emission_interval);
+  New->immediate_send_tc = (IntConf->cnf->tc_params.emission_interval_msec < IntConf->cnf->hello_params.emission_interval_msec);
 
   New->gen_properties = NULL;
 
@@ -1049,46 +1049,46 @@
   if (olsr_cnf->lq_level == 0)
   {
     olsr_register_scheduler_event(&generate_hello, New,
-                                  IntConf->cnf->hello_params.emission_interval,
+                                  IntConf->cnf->hello_params.emission_interval_msec,
                                   0, NULL);
 
     olsr_register_scheduler_event(&generate_tc, New,
-                                  IntConf->cnf->tc_params.emission_interval,
+                                  IntConf->cnf->tc_params.emission_interval_msec,
                                   0, NULL);
   }
 
   else
   {
     olsr_register_scheduler_event(&olsr_output_lq_hello, New,
-                                  IntConf->cnf->hello_params.emission_interval,
+                                  IntConf->cnf->hello_params.emission_interval_msec,
                                   0, NULL);
 
     olsr_register_scheduler_event(&olsr_output_lq_tc, New,
-                                  IntConf->cnf->tc_params.emission_interval,
+                                  IntConf->cnf->tc_params.emission_interval_msec,
                                   0, NULL);
   }
 
   olsr_register_scheduler_event(&generate_mid, New,
-                                IntConf->cnf->mid_params.emission_interval,
+                                IntConf->cnf->mid_params.emission_interval_msec,
                                 0, NULL);
 
   olsr_register_scheduler_event(&generate_hna, New,
-                                IntConf->cnf->hna_params.emission_interval,
+                                IntConf->cnf->hna_params.emission_interval_msec,
                                 0, NULL);
 
   if(olsr_cnf->max_jitter == 0 ||
-     IntConf->cnf->hello_params.emission_interval / 4 < olsr_cnf->max_jitter)
-    olsr_cnf->max_jitter = IntConf->cnf->hello_params.emission_interval / 4;
+     IntConf->cnf->hello_params.emission_interval_msec / 4 < olsr_cnf->max_jitter)
+    olsr_cnf->max_jitter = IntConf->cnf->hello_params.emission_interval_msec / 4;
 
-  if(olsr_cnf->max_tc_vtime < IntConf->cnf->tc_params.emission_interval)
-    olsr_cnf->max_tc_vtime = IntConf->cnf->tc_params.emission_interval;
+  if(olsr_cnf->max_tc_vtime_msec < IntConf->cnf->tc_params.emission_interval_msec)
+    olsr_cnf->max_tc_vtime_msec = IntConf->cnf->tc_params.emission_interval_msec;
 
-  New->hello_etime = IntConf->cnf->hello_params.emission_interval;
+  New->hello_etime_msec = IntConf->cnf->hello_params.emission_interval_msec;
 
-  New->valtimes.hello = double_to_me(IntConf->cnf->hello_params.validity_time);
-  New->valtimes.tc = double_to_me(IntConf->cnf->tc_params.validity_time);
-  New->valtimes.mid = double_to_me(IntConf->cnf->mid_params.validity_time);
-  New->valtimes.hna = double_to_me(IntConf->cnf->hna_params.validity_time);
+  New->valtimes.hello_me = double_to_me(IntConf->cnf->hello_params.validity_time_msec);
+  New->valtimes.tc_me = double_to_me(IntConf->cnf->tc_params.validity_time_msec);
+  New->valtimes.mid_me = double_to_me(IntConf->cnf->mid_params.validity_time_msec);
+  New->valtimes.hna_me = double_to_me(IntConf->cnf->hna_params.validity_time_msec);
 
   run_ifchg_cbs(New, IFCHG_IF_ADD);
 
