[ris-int] how to get the next hop from ris raw data
Rene Wilhelm wilhelm at ripe.net
Tue Apr 3 18:33:36 CEST 2007
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
[ Ris-int Archives ]