
Hi Lorenzo, Erik, I have to parse RIS raw data (in C) for a SG project. Bgpdump.c sort of shows how to do this, but I don't quite understand what's happening with next hop in the show_attr function: if (attr->mp_info->announce[AFI_IP6][SAFI_UNICAST]) { printf("(IPv6 Unicast)\n"); printf("NEXT_HOP: %s\n",inet_ntop(AF_INET6,&attr->mp_info->announce[AFI_IP6][SAFI_UNICAST]->nexthop.v6_addr,buf,128)); if (attr->mp_info->announce[AFI_IP6][SAFI_UNICAST]->nexthop_len==32) printf("NEXT_HOP: %s\n",inet_ntop(AF_INET6,&attr->mp_info->announce[AFI_IP6][SAFI_UNICAST]->nexthop_local.v6_addr,buf,128)); } (and the same for IPv4 unicast) What is this special case where ... nexthop_len==32 ? If I read this piece of C correctly, it would result in two next hop addresses being printed ????? Can one of you explain? Thanks, -- Rene