From Henning Rogge <rogge@fgan.de>: join LQ and non-LQ Hello execution paths
[olsrd.git] / src / rebuild_packet.c
index aea4b76..a3498b3 100644 (file)
@@ -218,116 +218,3 @@ unk_chgestruct(struct unknown_message *umsg, const union olsr_message *m)
     }
   
 }
-
-
-
-/**
- *Process/rebuild HELLO message. Converts the OLSR
- *packet to the internal hello_message format.
- *@param hmsg the hello_message struct in wich infomation
- *is to be put.
- *@param m the entire OLSR message revieved.
- *@return negative on error
- */
-
-void
-hello_chgestruct(struct hello_message *hmsg, const union olsr_message *m)
-{
-  const union olsr_ip_addr *hadr;
-  struct hello_neighbor *nb;
-  
-  hmsg->neighbors = NULL;
-
-  if ((!m) || (m->v4.olsr_msgtype != HELLO_MESSAGE))
-    return;
-
-  if(olsr_cnf->ip_version == AF_INET)
-    {
-      const struct hellinfo *hinf;
-
-      /* IPv4 */
-      hmsg->source_addr.v4.s_addr = m->v4.originator;
-      hmsg->packet_seq_number = ntohs(m->v4.seqno);
-
-
-      /* Get vtime */
-      hmsg->vtime = me_to_double(m->v4.olsr_vtime);
-
-      /* Get htime */
-      hmsg->htime = me_to_double(m->v4.message.hello.htime);
-
-      /* Willingness */
-      hmsg->willingness = m->v4.message.hello.willingness;
-
-      OLSR_PRINTF(3, "Got HELLO vtime: %f htime: %f\n", hmsg->vtime, hmsg->htime);
-
-      for (hinf = m->v4.message.hello.hell_info; 
-          (const char *)hinf < ((const char *)m + (ntohs(m->v4.olsr_msgsize))); 
-          hinf = (const struct hellinfo *)((const char *)hinf + ntohs(hinf->size)))
-       {
-         
-         for (hadr = (const union olsr_ip_addr  *)&hinf->neigh_addr; 
-              (const char *)hadr < (const char *)hinf + ntohs(hinf->size); 
-              hadr = (const union olsr_ip_addr *)&hadr->v6.s6_addr[4])
-           {
-             nb = olsr_malloc(sizeof (struct hello_neighbor), "HELLO chgestruct");
-
-             nb->address = *hadr;
-
-             /* Fetch link and status */
-             nb->link = EXTRACT_LINK(hinf->link_code);
-             nb->status = EXTRACT_STATUS(hinf->link_code);
-
-             nb->next = hmsg->neighbors;
-             hmsg->neighbors = nb;
-           }
-       }
-
-      
-    }
-  else
-    {
-      const struct hellinfo6 *hinf6;
-
-      /* IPv6 */
-      hmsg->source_addr.v6 = m->v6.originator;
-      //printf("parsing HELLO from %s\n", olsr_ip_to_string(&buf, &hmsg->source_addr));
-      hmsg->packet_seq_number = ntohs(m->v6.seqno);
-
-      /* Get vtime */
-      hmsg->vtime = me_to_double(m->v6.olsr_vtime);
-
-      /* Get htime */
-      hmsg->htime = me_to_double(m->v6.message.hello.htime);
-
-      /* Willingness */
-      hmsg->willingness = m->v6.message.hello.willingness;
-
-      OLSR_PRINTF(3, "Got HELLO vtime: %f htime: %f\n", hmsg->vtime, hmsg->htime);
-
-
-      for (hinf6 = m->v6.message.hello.hell_info; 
-          (const char *)hinf6 < ((const char *)m + (ntohs(m->v6.olsr_msgsize))); 
-          hinf6 = (const struct hellinfo6 *)((const char *)hinf6 + ntohs(hinf6->size)))
-       {
-
-         for (hadr = (const union olsr_ip_addr *)hinf6->neigh_addr; 
-              (const char *)hadr < (const char *)hinf6 + ntohs(hinf6->size); 
-              hadr++)
-           {
-             nb = olsr_malloc(sizeof (struct hello_neighbor), "OLSR chgestruct 2");
-
-             nb->address = *hadr;
-
-             /* Fetch link and status */
-             nb->link = EXTRACT_LINK(hinf6->link_code);
-             nb->status = EXTRACT_STATUS(hinf6->link_code);
-
-             nb->next = hmsg->neighbors;
-             hmsg->neighbors = nb;
-           }
-       }
-
-    }
-
-}