[Olsr-dev] plugins and ipv6

John Hay (spam-protected)
Thu Jun 7 10:25:33 CEST 2007


Hi Guys,

We getting rid of the legacy protocols (ipv4) on our olsr network and
the latest thing biting me is the fact that most of the plugins that
listen on a port, only do it on ipv4. The one most important to me at
the moment is the dot draw one. I have done a quick hack to get it to
use ipv6 (without access control) and was wondering about the direction
I should be taking. Should it listen on both ipv4 and ipv6? Should it
check which version is being used (v4/v6) and just listen on that?

PS. The current dot draw module seems to have a bug in that it will
not announce the HNA entries that the local olsrd is announcing. Is
that on purpose or just an oversight? My patch to fix that looks
something like this. (It is still against 0.4.10, so don't apply it
just yet. I'll move it to the cvs stuff one of these days.)

John
-- 
John Hay -- (spam-protected) / (spam-protected)


--- lib/dot_draw/src/olsrd_dot_draw.c.orig	Fri Dec 30 04:23:59 2005
+++ lib/dot_draw/src/olsrd_dot_draw.c	Fri May  4 22:12:21 2007
@@ -306,6 +340,9 @@
   struct topo_dst *dst_entry;
   struct hna_entry *tmp_hna;
   struct hna_net *tmp_net;
+  struct hna4_entry *hna4;
+  struct hna6_entry *hna6;
+  union hna_netmask hna_msk;
 
   res = 0;
 
@@ -367,6 +404,31 @@
 	    }
 	}
 
+      /* Local HNA entries */
+      if (olsr_cnf->ip_version == AF_INET)
+	{
+	  hna4 = olsr_cnf->hna4_entries;
+	  while(hna4)
+	    {
+	      hna_msk.v4 = hna4->netmask.v4;
+	      ipc_print_net(&olsr_cnf->interfaces->interf->ip_addr,
+			    &hna4->net,
+			    &hna_msk);
+	      hna4 = hna4->next;
+	    }
+	}
+      else
+	{
+	  hna6 = olsr_cnf->hna6_entries;
+	  while(hna6)
+	    {
+	      hna_msk.v6 = hna6->prefix_len;
+	      ipc_print_net(&olsr_cnf->interfaces->interf->ip_addr,
+			    &hna6->net,
+			    &hna_msk);
+	      hna6 = hna6->next;
+	    }
+	}
 
       ipc_send_str("}\n\n");
 



More information about the Olsr-dev mailing list