[Olsr-dev] Bug in Quagga plugin ?

jpo (spam-protected)
Fri Jun 14 16:27:09 CEST 2013

Hello all,
looking at the quagga plugin code I noticed a discrepancy between the quagga and olsr code. The OLSR plugin defines the zserv-api message for routes like this:

struct zroute {
  unsigned char type;
  unsigned char flags;
  unsigned char message;
  uint16_t safi;
  unsigned char prefixlen;
  union olsr_ip_addr prefix;
  unsigned char nexthop_num;
  union olsr_ip_addr *nexthop;
  unsigned char ifindex_num;
  uint32_t *ifindex;
  uint32_t metric;
  uint8_t distance;

 while zclient.h defines it so:

struct zapi_ipv4
  u_char type;

  u_char flags;

  u_char message;

  safi_t safi;

  u_char nexthop_num;
  struct in_addr **nexthop;

  u_char ifindex_num;
  unsigned int *ifindex;

  u_char distance;

  u_int32_t metric;

Note the order of the last two entries. In quagga, e.g. the authorative source its
  u_char distance;
  u_int32_t metric;
while in OLSRd its:
  uint32_t metric;
  uint8_t distance;

Wrong order, I think. 


More information about the Olsr-dev mailing list