diff options
69 files changed, 219 insertions, 216 deletions
diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h index a279674af2..b8cdfea137 100644 --- a/bgpd/bgp_attr.h +++ b/bgpd/bgp_attr.h @@ -131,7 +131,7 @@ struct attr    struct in_addr nexthop;    u_int32_t med;    u_int32_t local_pref; -  u_int32_t nh_ifindex; +  ifindex_t nh_ifindex;    /* Path origin attribute */    u_char origin; diff --git a/bgpd/bgp_btoa.c b/bgpd/bgp_btoa.c index 904ae66e10..cd52c94b1f 100644 --- a/bgpd/bgp_btoa.c +++ b/bgpd/bgp_btoa.c @@ -144,7 +144,7 @@ main (int argc, char **argv)    size_t len;    int source_as;    int dest_as; -  int ifindex; +  ifindex_t ifindex;    int family;    struct in_addr sip;    struct in_addr dip; diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 0caada488b..ed1c5600ee 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -579,7 +579,7 @@ bgp_update_source (struct peer *peer)  int  bgp_connect (struct peer *peer)  { -  unsigned int ifindex = 0; +  ifindex_t ifindex = 0;    if (peer->conf_if && BGP_PEER_SU_UNSPEC(peer))      { diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index ce5d1b498e..81bede0e92 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -856,7 +856,7 @@ if_lookup_by_ipv4_exact (struct in_addr *addr, vrf_id_t vrf_id)  #ifdef HAVE_IPV6  struct interface * -if_lookup_by_ipv6 (struct in6_addr *addr, unsigned int ifindex, vrf_id_t vrf_id) +if_lookup_by_ipv6 (struct in6_addr *addr, ifindex_t ifindex, vrf_id_t vrf_id)  {    struct listnode *ifnode;    struct listnode *cnode; @@ -892,7 +892,7 @@ if_lookup_by_ipv6 (struct in6_addr *addr, unsigned int ifindex, vrf_id_t vrf_id)  }  struct interface * -if_lookup_by_ipv6_exact (struct in6_addr *addr, unsigned int ifindex, vrf_id_t vrf_id) +if_lookup_by_ipv6_exact (struct in6_addr *addr, ifindex_t ifindex, vrf_id_t vrf_id)  {    struct listnode *ifnode;    struct listnode *cnode; @@ -1381,7 +1381,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp,    if (p->family == AF_INET6 ||        (p->family == AF_INET && BGP_ATTR_NEXTHOP_AFI_IP6(info->attr)))      { -      unsigned int ifindex; +      ifindex_t ifindex;        struct in6_addr *nexthop;        struct zapi_ipv6 api;        int valid_nh_count = 0; @@ -1527,7 +1527,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp,        api.nexthop = (struct in6_addr **)STREAM_DATA (bgp_nexthop_buf);        SET_FLAG (api.message, ZAPI_MESSAGE_IFINDEX);        api.ifindex_num = valid_nh_count; -      api.ifindex = (unsigned int *)STREAM_DATA (bgp_ifindices_buf); +      api.ifindex = (ifindex_t *)STREAM_DATA (bgp_ifindices_buf);        SET_FLAG (api.message, ZAPI_MESSAGE_METRIC);        api.metric = metric;        api.tag = 0; diff --git a/bgpd/bgp_zebra.h b/bgpd/bgp_zebra.h index 1f845bd918..af921af82f 100644 --- a/bgpd/bgp_zebra.h +++ b/bgpd/bgp_zebra.h @@ -58,8 +58,8 @@ extern int bgp_redistribute_unreg (struct bgp *, afi_t, int, u_short);  extern struct interface *if_lookup_by_ipv4 (struct in_addr *, vrf_id_t);  extern struct interface *if_lookup_by_ipv4_exact (struct in_addr *, vrf_id_t);  #ifdef HAVE_IPV6 -extern struct interface *if_lookup_by_ipv6 (struct in6_addr *, unsigned int, vrf_id_t); -extern struct interface *if_lookup_by_ipv6_exact (struct in6_addr *, unsigned int, vrf_id_t); +extern struct interface *if_lookup_by_ipv6 (struct in6_addr *, ifindex_t, vrf_id_t); +extern struct interface *if_lookup_by_ipv6_exact (struct in6_addr *, ifindex_t, vrf_id_t);  #endif /* HAVE_IPV6 */  #endif /* _QUAGGA_BGP_ZEBRA_H */ diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 991afdf7cc..d9a68599c5 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -583,7 +583,7 @@ struct peer    time_t readtime;		/* Last read time */    time_t resettime;		/* Last reset time */ -  unsigned int ifindex;		/* ifindex of the BGP connection. */ +  ifindex_t ifindex;		/* ifindex of the BGP connection. */    char *conf_if;                /* neighbor interface config name. */    struct interface *ifp;        /* corresponding interface */    char *ifname;			/* bind interface name. */ diff --git a/isisd/isis_route.c b/isisd/isis_route.c index e72e0cac7a..67d45c8f10 100644 --- a/isisd/isis_route.c +++ b/isisd/isis_route.c @@ -50,7 +50,7 @@  #include "isis_zebra.h"  static struct isis_nexthop * -isis_nexthop_create (struct in_addr *ip, unsigned int ifindex) +isis_nexthop_create (struct in_addr *ip, ifindex_t ifindex)  {    struct listnode *node;    struct isis_nexthop *nexthop; @@ -91,7 +91,7 @@ isis_nexthop_delete (struct isis_nexthop *nexthop)  static int  nexthoplookup (struct list *nexthops, struct in_addr *ip, -	       unsigned int ifindex) +	       ifindex_t ifindex)  {    struct listnode *node;    struct isis_nexthop *nh; @@ -130,7 +130,7 @@ nexthops_print (struct list *nhs)  #ifdef HAVE_IPV6  static struct isis_nexthop6 * -isis_nexthop6_new (struct in6_addr *ip6, unsigned int ifindex) +isis_nexthop6_new (struct in6_addr *ip6, ifindex_t ifindex)  {    struct isis_nexthop6 *nexthop6; @@ -144,7 +144,7 @@ isis_nexthop6_new (struct in6_addr *ip6, unsigned int ifindex)  }  static struct isis_nexthop6 * -isis_nexthop6_create (struct in6_addr *ip6, unsigned int ifindex) +isis_nexthop6_create (struct in6_addr *ip6, ifindex_t ifindex)  {    struct listnode *node;    struct isis_nexthop6 *nexthop6; @@ -181,7 +181,7 @@ isis_nexthop6_delete (struct isis_nexthop6 *nexthop6)  static int  nexthop6lookup (struct list *nexthops6, struct in6_addr *ip6, -		unsigned int ifindex) +		ifindex_t ifindex)  {    struct listnode *node;    struct isis_nexthop6 *nh6; diff --git a/isisd/isis_route.h b/isisd/isis_route.h index 5adea2293b..0d2379cbe8 100644 --- a/isisd/isis_route.h +++ b/isisd/isis_route.h @@ -28,7 +28,7 @@  #ifdef HAVE_IPV6  struct isis_nexthop6  { -  unsigned int ifindex; +  ifindex_t ifindex;    struct in6_addr ip6;    struct in6_addr router_address6;    unsigned int lock; @@ -37,7 +37,7 @@ struct isis_nexthop6  struct isis_nexthop  { -  unsigned int ifindex; +  ifindex_t ifindex;    struct in_addr ip;    struct in_addr router_address;    unsigned int lock; diff --git a/isisd/isis_zebra.c b/isisd/isis_zebra.c index 125a2f63d3..81f9d86930 100644 --- a/isisd/isis_zebra.c +++ b/isisd/isis_zebra.c @@ -333,7 +333,7 @@ isis_zebra_route_add_ipv6 (struct prefix *prefix,  {    struct zapi_ipv6 api;    struct in6_addr **nexthop_list; -  unsigned int *ifindex_list; +  ifindex_t *ifindex_list;    struct isis_nexthop6 *nexthop6;    int i, size;    struct listnode *node; @@ -370,7 +370,7 @@ isis_zebra_route_add_ipv6 (struct prefix *prefix,    /* allocate memory for ifindex_list */    size = sizeof (unsigned int) * listcount (route_info->nexthops6); -  ifindex_list = (unsigned int *) XMALLOC (MTYPE_ISIS_TMP, size); +  ifindex_list = (ifindex_t *) XMALLOC (MTYPE_ISIS_TMP, size);    if (!ifindex_list)      {        zlog_err ("isis_zebra_add_route_ipv6: out of memory!"); @@ -420,7 +420,7 @@ isis_zebra_route_del_ipv6 (struct prefix *prefix,  {    struct zapi_ipv6 api;    struct in6_addr **nexthop_list; -  unsigned int *ifindex_list; +  ifindex_t *ifindex_list;    struct isis_nexthop6 *nexthop6;    int i, size;    struct listnode *node; @@ -451,7 +451,7 @@ isis_zebra_route_del_ipv6 (struct prefix *prefix,    /* allocate memory for ifindex_list */    size = sizeof (unsigned int) * listcount (route_info->nexthops6); -  ifindex_list = (unsigned int *) XMALLOC (MTYPE_ISIS_TMP, size); +  ifindex_list = (ifindex_t *) XMALLOC (MTYPE_ISIS_TMP, size);    if (!ifindex_list)      {        zlog_err ("isis_zebra_route_del_ipv6: out of memory!"); @@ -226,41 +226,41 @@ if_add_hook (int type, int (*func)(struct interface *ifp))  /* Interface existance check by index. */  struct interface * -if_lookup_by_index_vrf (unsigned int index, vrf_id_t vrf_id) +if_lookup_by_index_vrf (ifindex_t ifindex, vrf_id_t vrf_id)  {    struct listnode *node;    struct interface *ifp;    for (ALL_LIST_ELEMENTS_RO (vrf_iflist (vrf_id), node, ifp))      { -      if (ifp->ifindex == index) +      if (ifp->ifindex == ifindex)  	return ifp;      }    return NULL;  }  struct interface * -if_lookup_by_index (unsigned int index) +if_lookup_by_index (ifindex_t ifindex)  { -  return if_lookup_by_index_vrf (index, VRF_DEFAULT); +  return if_lookup_by_index_vrf (ifindex, VRF_DEFAULT);  }  const char * -ifindex2ifname_vrf (unsigned int index, vrf_id_t vrf_id) +ifindex2ifname_vrf (ifindex_t ifindex, vrf_id_t vrf_id)  {    struct interface *ifp; -  return ((ifp = if_lookup_by_index_vrf (index, vrf_id)) != NULL) ? +  return ((ifp = if_lookup_by_index_vrf (ifindex, vrf_id)) != NULL) ?    	 ifp->name : "unknown";  }  const char * -ifindex2ifname (unsigned int index) +ifindex2ifname (ifindex_t ifindex)  { -  return ifindex2ifname_vrf (index, VRF_DEFAULT); +  return ifindex2ifname_vrf (ifindex, VRF_DEFAULT);  } -unsigned int +ifindex_t  ifname2ifindex_vrf (const char *name, vrf_id_t vrf_id)  {    struct interface *ifp; @@ -269,7 +269,7 @@ ifname2ifindex_vrf (const char *name, vrf_id_t vrf_id)                                                     : IFINDEX_INTERNAL;  } -unsigned int +ifindex_t  ifname2ifindex (const char *name)  {    return ifname2ifindex_vrf (name, VRF_DEFAULT); @@ -1167,7 +1167,7 @@ connected_add_by_prefix (struct interface *ifp, struct prefix *p,  }  #ifndef HAVE_IF_NAMETOINDEX -unsigned int +ifindex_t  if_nametoindex (const char *name)  {    struct interface *ifp; @@ -1179,7 +1179,7 @@ if_nametoindex (const char *name)  #ifndef HAVE_IF_INDEXTONAME  char * -if_indextoname (unsigned int ifindex, char *name) +if_indextoname (ifindex_t ifindex, char *name)  {    struct interface *ifp; @@ -1244,7 +1244,7 @@ ifaddr_ipv4_delete (struct in_addr *ifaddr, struct interface *ifp)  /* Lookup interface by interface's IP address or interface index. */  static struct interface * -ifaddr_ipv4_lookup (struct in_addr *addr, unsigned int ifindex) +ifaddr_ipv4_lookup (struct in_addr *addr, ifindex_t ifindex)  {    struct prefix_ipv4 p;    struct route_node *rn; @@ -21,6 +21,7 @@ Boston, MA 02111-1307, USA.  */  #ifndef _ZEBRA_IF_H  #define _ZEBRA_IF_H +#include "zebra.h"  #include "linklist.h"  /* @@ -36,6 +37,8 @@ Boston, MA 02111-1307, USA.  */  #define INTERFACE_NAMSIZ      20  #define INTERFACE_HWADDR_MAX  20 +typedef signed int ifindex_t; +  #ifdef HAVE_PROC_NET_DEV  struct if_stats  { @@ -82,9 +85,9 @@ struct interface    /* Interface index (should be IFINDEX_INTERNAL for non-kernel or       deleted interfaces). */ -  unsigned int ifindex; +  ifindex_t ifindex;  #define IFINDEX_INTERNAL	0 -#define IFINDEX_DELETED         UINT_MAX +#define IFINDEX_DELETED         INT_MAX    /* Zebra internal interface status */    u_char status; @@ -264,7 +267,7 @@ struct nbr_connected  /* Prototypes. */  extern int if_cmp_name_func (char *, char *);  extern struct interface *if_create (const char *name, int namelen); -extern struct interface *if_lookup_by_index (unsigned int); +extern struct interface *if_lookup_by_index (ifindex_t);  extern struct interface *if_lookup_exact_address (void *matchaddr, int family);  extern struct interface *if_lookup_address (void *matchaddr, int family);  extern struct interface *if_lookup_prefix (struct prefix *prefix); @@ -273,8 +276,7 @@ extern void if_update_vrf (struct interface *, const char *name, int namelen,                                  vrf_id_t vrf_id);  extern struct interface *if_create_vrf (const char *name, int namelen,                                  vrf_id_t vrf_id); -extern struct interface *if_lookup_by_index_vrf (unsigned int, -                                vrf_id_t vrf_id); +extern struct interface *if_lookup_by_index_vrf (ifindex_t, vrf_id_t vrf_id);  extern struct interface *if_lookup_exact_address_vrf (void *matchaddr, int family,                                  vrf_id_t vrf_id);  extern struct interface *if_lookup_address_vrf (void *matchaddr, int family, @@ -332,14 +334,14 @@ extern const char *if_flag_dump(unsigned long);  /* Please use ifindex2ifname instead of if_indextoname where possible;     ifindex2ifname uses internal interface info, whereas if_indextoname must     make a system call. */ -extern const char *ifindex2ifname (unsigned int); -extern const char *ifindex2ifname_vrf (unsigned int, vrf_id_t vrf_id); +extern const char *ifindex2ifname (ifindex_t); +extern const char *ifindex2ifname_vrf (ifindex_t, vrf_id_t vrf_id);  /* Please use ifname2ifindex instead of if_nametoindex where possible;     ifname2ifindex uses internal interface info, whereas if_nametoindex must     make a system call. */ -extern unsigned int ifname2ifindex(const char *ifname); -extern unsigned int ifname2ifindex_vrf(const char *ifname, vrf_id_t vrf_id); +extern ifindex_t ifname2ifindex(const char *ifname); +extern ifindex_t ifname2ifindex_vrf(const char *ifname, vrf_id_t vrf_id);  /* Connected address functions. */  extern struct connected *connected_new (void); @@ -359,10 +361,10 @@ extern void nbr_connected_free (struct nbr_connected *);  struct nbr_connected *nbr_connected_check (struct interface *, struct prefix *);  #ifndef HAVE_IF_NAMETOINDEX -extern unsigned int if_nametoindex (const char *); +extern ifindex_t if_nametoindex (const char *);  #endif  #ifndef HAVE_IF_INDEXTONAME -extern char *if_indextoname (unsigned int, char *); +extern char *if_indextoname (ifindex_t, char *);  #endif  /* Exported variables. */ diff --git a/lib/nexthop.h b/lib/nexthop.h index eb9b27ea9e..4445c4ad27 100644 --- a/lib/nexthop.h +++ b/lib/nexthop.h @@ -48,7 +48,7 @@ struct nexthop    struct nexthop *prev;    /* Interface index. */ -  unsigned int ifindex; +  ifindex_t ifindex;    enum nexthop_types_t type; diff --git a/lib/sockopt.c b/lib/sockopt.c index d8204936f9..31b2edbacf 100644 --- a/lib/sockopt.c +++ b/lib/sockopt.c @@ -221,7 +221,7 @@ setsockopt_ipv4_multicast(int sock,  			int optname,   			struct in_addr if_addr,  			unsigned int mcast_addr, -			unsigned int ifindex) +			ifindex_t ifindex)  {  #ifdef HAVE_RFC3678    struct group_req gr; @@ -322,7 +322,7 @@ setsockopt_ipv4_multicast(int sock,   */  int  setsockopt_ipv4_multicast_if(int sock, struct in_addr if_addr, -			unsigned int ifindex) +			     ifindex_t ifindex)  {  #ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX @@ -352,7 +352,7 @@ setsockopt_ipv4_multicast_if(int sock, struct in_addr if_addr,  }  static int -setsockopt_ipv4_ifindex (int sock, int val) +setsockopt_ipv4_ifindex (int sock, ifindex_t val)  {    int ret; @@ -388,7 +388,7 @@ setsockopt_ipv4_tos(int sock, int tos)  int -setsockopt_ifindex (int af, int sock, int val) +setsockopt_ifindex (int af, int sock, ifindex_t val)  {    int ret = -1; @@ -415,11 +415,11 @@ setsockopt_ifindex (int af, int sock, int val)   * Returns the interface index (small integer >= 1) if it can be   * determined, or else 0.   */ -static int +static ifindex_t  getsockopt_ipv4_ifindex (struct msghdr *msgh)  {    /* XXX: initialize to zero?  (Always overwritten, so just cosmetic.) */ -  int ifindex = -1; +  ifindex_t ifindex = -1;  #if defined(IP_PKTINFO)  /* Linux pktinfo based ifindex retrieval */ @@ -439,7 +439,7 @@ getsockopt_ipv4_ifindex (struct msghdr *msgh)    struct sockaddr_dl *sdl;  #else    /* SUNOS_5 uses an integer with the index. */ -  int *ifindex_p; +  ifindex_t *ifindex_p;  #endif /* SUNOS_5 */  #ifndef SUNOS_5 @@ -480,7 +480,7 @@ getsockopt_ipv4_ifindex (struct msghdr *msgh)  }  /* return ifindex, 0 if none found */ -int +ifindex_t  getsockopt_ifindex (int af, struct msghdr *msgh)  {    switch (af) diff --git a/lib/sockopt.h b/lib/sockopt.h index a597314c3d..d67b510b66 100644 --- a/lib/sockopt.h +++ b/lib/sockopt.h @@ -84,16 +84,16 @@ extern int setsockopt_ipv6_tclass (int, int);                      ? SOPT_SIZE_CMSG_PKTINFO_IPV6())  extern int setsockopt_ipv4_multicast_if(int sock, struct in_addr if_addr, -			             unsigned int ifindex); +					ifindex_t ifindex);  extern int setsockopt_ipv4_multicast(int sock, int optname,                                       struct in_addr if_addr,                                       unsigned int mcast_addr, -			             unsigned int ifindex); +			             ifindex_t ifindex);  extern int setsockopt_ipv4_tos(int sock, int tos);  /* Ask for, and get, ifindex, by whatever method is supported. */ -extern int setsockopt_ifindex (int, int, int); -extern int getsockopt_ifindex (int, struct msghdr *); +extern int setsockopt_ifindex (int, int, ifindex_t); +extern ifindex_t getsockopt_ifindex (int, struct msghdr *);  /* swab the fields in iph between the host order and system order expected    * for IP_HDRINCL. diff --git a/lib/sockunion.c b/lib/sockunion.c index b5a2eb954a..9184e500fc 100644 --- a/lib/sockunion.c +++ b/lib/sockunion.c @@ -291,7 +291,7 @@ sockunion_sizeof (const union sockunion *su)     1 : connect is in progress */  enum connect_result  sockunion_connect (int fd, const union sockunion *peersu, unsigned short port, -		   unsigned int ifindex) +		   ifindex_t ifindex)  {    int ret;    int val; diff --git a/lib/sockunion.h b/lib/sockunion.h index a33051ae57..105b11a24c 100644 --- a/lib/sockunion.h +++ b/lib/sockunion.h @@ -24,6 +24,7 @@  #define _ZEBRA_SOCKUNION_H  #include "privs.h" +#include "if.h"  union sockunion   { @@ -95,7 +96,7 @@ extern int sockunion_socket (const union sockunion *su);  extern const char *inet_sutop (const union sockunion *su, char *str);  extern enum connect_result sockunion_connect (int fd, const union sockunion *su,                                                 unsigned short port, -                                              unsigned int); +                                              ifindex_t);  extern union sockunion *sockunion_getsockname (int);  extern union sockunion *sockunion_getpeername (int);  extern union sockunion *sockunion_dup (const union sockunion *); diff --git a/lib/zclient.c b/lib/zclient.c index ef9516c912..a28db083cb 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -1133,7 +1133,7 @@ memconstant(const void *s, int c, size_t n)  struct connected *  zebra_interface_address_read (int type, struct stream *s, vrf_id_t vrf_id)  { -  unsigned int ifindex; +  ifindex_t ifindex;    struct interface *ifp;    struct connected *ifc;    struct prefix p, d; diff --git a/lib/zclient.h b/lib/zclient.h index f30190c1b4..8926bbbe63 100644 --- a/lib/zclient.h +++ b/lib/zclient.h @@ -146,7 +146,7 @@ struct zapi_ipv4    struct in_addr **nexthop;    u_char ifindex_num; -  unsigned int *ifindex; +  ifindex_t *ifindex;    u_char distance; @@ -229,7 +229,7 @@ struct zapi_ipv6    struct in6_addr **nexthop;    u_char ifindex_num; -  unsigned int *ifindex; +  ifindex_t *ifindex;    u_char distance; diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c index 1207419e58..208d3b8c4c 100644 --- a/ospf6d/ospf6_asbr.c +++ b/ospf6d/ospf6_asbr.c @@ -426,7 +426,7 @@ ospf6_asbr_send_externals_to_area (struct ospf6_area *oa)  }  void -ospf6_asbr_redistribute_add (int type, int ifindex, struct prefix *prefix, +ospf6_asbr_redistribute_add (int type, ifindex_t ifindex, struct prefix *prefix,                               u_int nexthop_num, struct in6_addr *nexthop)  {    int ret; @@ -575,7 +575,8 @@ ospf6_asbr_redistribute_add (int type, int ifindex, struct prefix *prefix,  }  void -ospf6_asbr_redistribute_remove (int type, int ifindex, struct prefix *prefix) +ospf6_asbr_redistribute_remove (int type, ifindex_t ifindex, +                                struct prefix *prefix)  {    struct ospf6_route *match;    struct ospf6_external_info *info = NULL; diff --git a/ospf6d/ospf6_asbr.h b/ospf6d/ospf6_asbr.h index 90befdc0dd..645e8fd9cf 100644 --- a/ospf6d/ospf6_asbr.h +++ b/ospf6d/ospf6_asbr.h @@ -49,7 +49,7 @@ struct ospf6_external_info    struct in6_addr forwarding;    /* u_int32_t tag; */ -  unsigned int ifindex; +  ifindex_t ifindex;  };  /* AS-External-LSA */ @@ -79,11 +79,11 @@ extern void ospf6_asbr_lsentry_add (struct ospf6_route *asbr_entry);  extern void ospf6_asbr_lsentry_remove (struct ospf6_route *asbr_entry);  extern int ospf6_asbr_is_asbr (struct ospf6 *o); -extern void ospf6_asbr_redistribute_add (int type, int ifindex, +extern void ospf6_asbr_redistribute_add (int type, ifindex_t ifindex,                                           struct prefix *prefix,                                           u_int nexthop_num,                                           struct in6_addr *nexthop); -extern void ospf6_asbr_redistribute_remove (int type, int ifindex, +extern void ospf6_asbr_redistribute_remove (int type, ifindex_t ifindex,                                              struct prefix *prefix);  extern int ospf6_redistribute_config_write (struct vty *vty); diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 720a3e0e69..f24ec46da7 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -61,7 +61,7 @@ const char *ospf6_interface_state_str[] =  };  struct ospf6_interface * -ospf6_interface_lookup_by_ifindex (int ifindex) +ospf6_interface_lookup_by_ifindex (ifindex_t ifindex)  {    struct ospf6_interface *oi;    struct interface *ifp; diff --git a/ospf6d/ospf6_interface.h b/ospf6d/ospf6_interface.h index 5e6b455682..3e09bfb930 100644 --- a/ospf6d/ospf6_interface.h +++ b/ospf6d/ospf6_interface.h @@ -152,7 +152,7 @@ extern const char *ospf6_interface_state_str[];  /* Function Prototypes */ -extern struct ospf6_interface *ospf6_interface_lookup_by_ifindex (int); +extern struct ospf6_interface *ospf6_interface_lookup_by_ifindex (ifindex_t);  extern struct ospf6_interface *ospf6_interface_create (struct interface *);  extern void ospf6_interface_delete (struct ospf6_interface *); diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c index fe57f2f423..b0e94288b4 100644 --- a/ospf6d/ospf6_message.c +++ b/ospf6d/ospf6_message.c @@ -290,7 +290,7 @@ ospf6_hello_recv (struct in6_addr *src, struct in6_addr *dst,    memcpy (&on->linklocal_addr, src, sizeof (struct in6_addr));    /* Neighbor ifindex check */ -  if (on->ifindex != ntohl (hello->interface_id)) +  if (on->ifindex != (ifindex_t)ntohl (hello->interface_id))      {        on->ifindex = ntohl (hello->interface_id);        neighbor_ifindex_change++; @@ -1525,7 +1525,7 @@ ospf6_receive (struct thread *thread)    unsigned int len;    char srcname[64], dstname[64];    struct in6_addr src, dst; -  unsigned int ifindex; +  ifindex_t ifindex;    struct iovec iovector[2];    struct ospf6_interface *oi;    struct ospf6_header *oh; diff --git a/ospf6d/ospf6_message.h b/ospf6d/ospf6_message.h index b085a9673b..4a9e0c7a66 100644 --- a/ospf6d/ospf6_message.h +++ b/ospf6d/ospf6_message.h @@ -64,7 +64,7 @@ struct ospf6_header  #define OSPF6_HELLO_MIN_SIZE                  20U  struct ospf6_hello  { -  u_int32_t interface_id; +  ifindex_t interface_id;    u_char    priority;    u_char    options[3];    u_int16_t hello_interval; diff --git a/ospf6d/ospf6_neighbor.h b/ospf6d/ospf6_neighbor.h index fad7fd578a..f9e197e99b 100644 --- a/ospf6d/ospf6_neighbor.h +++ b/ospf6d/ospf6_neighbor.h @@ -53,7 +53,7 @@ struct ospf6_neighbor    u_int32_t router_id;    /* Neighbor Interface ID */ -  u_int32_t ifindex; +  ifindex_t ifindex;    /* Router Priority of this neighbor */    u_char priority; diff --git a/ospf6d/ospf6_network.c b/ospf6d/ospf6_network.c index 5e254661f1..2227d03477 100644 --- a/ospf6d/ospf6_network.c +++ b/ospf6d/ospf6_network.c @@ -113,7 +113,7 @@ ospf6_serv_sock (void)  /* ospf6 set socket option */  int -ospf6_sso (u_int ifindex, struct in6_addr *group, int option) +ospf6_sso (ifindex_t ifindex, struct in6_addr *group, int option)  {    struct ipv6_mreq mreq6;    int ret; @@ -193,7 +193,7 @@ iov_totallen (struct iovec *iov)  int  ospf6_sendmsg (struct in6_addr *src, struct in6_addr *dst, -               unsigned int *ifindex, struct iovec *message) +               ifindex_t *ifindex, struct iovec *message)  {    int retval;    struct msghdr smsghdr; @@ -255,7 +255,7 @@ ospf6_sendmsg (struct in6_addr *src, struct in6_addr *dst,  int  ospf6_recvmsg (struct in6_addr *src, struct in6_addr *dst, -               unsigned int *ifindex, struct iovec *message) +               ifindex_t *ifindex, struct iovec *message)  {    int retval;    struct msghdr rmsghdr; diff --git a/ospf6d/ospf6_network.h b/ospf6d/ospf6_network.h index 2aeafe5041..4fa2839519 100644 --- a/ospf6d/ospf6_network.h +++ b/ospf6d/ospf6_network.h @@ -29,12 +29,12 @@ extern struct in6_addr allspfrouters6;  extern struct in6_addr alldrouters6;  extern int ospf6_serv_sock (void); -extern int ospf6_sso (u_int ifindex, struct in6_addr *group, int option); +extern int ospf6_sso (ifindex_t ifindex, struct in6_addr *group, int option);  extern int ospf6_sendmsg (struct in6_addr *, struct in6_addr *, -                          unsigned int *, struct iovec *); +                          ifindex_t *, struct iovec *);  extern int ospf6_recvmsg (struct in6_addr *, struct in6_addr *, -                          unsigned int *, struct iovec *); +                          ifindex_t *, struct iovec *);  #endif /* OSPF6_NETWORK_H */ diff --git a/ospf6d/ospf6_route.c b/ospf6d/ospf6_route.c index 0a98c8f082..5172eee48d 100644 --- a/ospf6d/ospf6_route.c +++ b/ospf6d/ospf6_route.c @@ -331,7 +331,7 @@ ospf6_add_nexthop (struct list *nh_list, int ifindex,  void  ospf6_route_zebra_copy_nexthops (struct ospf6_route *route, -				 unsigned int *ifindexes, +				 ifindex_t *ifindexes,  				 struct in6_addr **nexthop_addr,  				 int entries)  { diff --git a/ospf6d/ospf6_route.h b/ospf6d/ospf6_route.h index e783b72d8e..610b0970b0 100644 --- a/ospf6d/ospf6_route.h +++ b/ospf6d/ospf6_route.h @@ -41,7 +41,7 @@ extern unsigned char conf_debug_ospf6_route;  struct ospf6_nexthop  {    /* Interface index */ -  unsigned int ifindex; +  ifindex_t ifindex;    /* IP address, if any */    struct in6_addr address; @@ -278,7 +278,7 @@ extern int ospf6_num_nexthops (struct list *nh_list);  extern int ospf6_route_cmp_nexthops (struct ospf6_route *a,  				     struct ospf6_route *b);  extern void ospf6_route_zebra_copy_nexthops (struct ospf6_route *route, -					     unsigned int *ifindices, +					     ifindex_t *ifindices,  					     struct in6_addr **addr,  					     int entries);  extern int ospf6_route_get_first_nh_index (struct ospf6_route *route); diff --git a/ospf6d/ospf6_snmp.c b/ospf6d/ospf6_snmp.c index cf1630bbc9..382cf62f72 100644 --- a/ospf6d/ospf6_snmp.c +++ b/ospf6d/ospf6_snmp.c @@ -625,7 +625,7 @@ ospfv3WwLsdbEntry (struct variable *v, oid *name, size_t *length,                       int exact, size_t *var_len, WriteMethod **write_method)  {    struct ospf6_lsa *lsa = NULL; -  u_int32_t ifindex, area_id, id, instid, adv_router; +  ifindex_t ifindex, area_id, id, instid, adv_router;    u_int16_t type;    int len;    oid *offset; @@ -837,7 +837,8 @@ static u_char *  ospfv3IfEntry (struct variable *v, oid *name, size_t *length,  		int exact, size_t *var_len, WriteMethod **write_method)  { -  unsigned int ifindex, instid; +  ifindex_t ifindex = 0; +  unsigned int instid = 0;    struct ospf6_interface *oi = NULL;    struct ospf6_lsa *lsa = NULL;    struct interface      *iif; @@ -851,8 +852,6 @@ ospfv3IfEntry (struct variable *v, oid *name, size_t *length,        == MATCH_FAILED)      return NULL; -  ifindex = instid = 0; -    /* Check OSPFv3 instance. */    if (ospf6 == NULL)      return NULL; @@ -990,7 +989,8 @@ static u_char *  ospfv3NbrEntry (struct variable *v, oid *name, size_t *length,  		int exact, size_t *var_len, WriteMethod **write_method)  { -  unsigned int ifindex, instid, rtrid; +  ifindex_t ifindex = 0; +  unsigned int instid, rtrid;    struct ospf6_interface *oi = NULL;    struct ospf6_neighbor  *on = NULL;    struct interface      *iif; @@ -1003,7 +1003,7 @@ ospfv3NbrEntry (struct variable *v, oid *name, size_t *length,        == MATCH_FAILED)      return NULL; -  ifindex = instid = rtrid = 0; +  instid = rtrid = 0;    /* Check OSPFv3 instance. */    if (ospf6 == NULL) diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c index ab1213ebb6..957988b53d 100644 --- a/ospf6d/ospf6_spf.c +++ b/ospf6d/ospf6_spf.c @@ -266,7 +266,7 @@ ospf6_nexthop_calc (struct ospf6_vertex *w, struct ospf6_vertex *v,                      caddr_t lsdesc)  {    int i; -  unsigned int ifindex; +  ifindex_t ifindex;    struct ospf6_interface *oi;    u_int16_t type;    u_int32_t adv_router; diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c index 0395b082da..77ea01e53d 100644 --- a/ospf6d/ospf6_zebra.c +++ b/ospf6d/ospf6_zebra.c @@ -377,7 +377,7 @@ ospf6_zebra_route_update (int type, struct ospf6_route *request)    char buf[PREFIX2STR_BUFFER];    int nhcount;    struct in6_addr **nexthops; -  unsigned int *ifindexes; +  ifindex_t *ifindexes;    int ret = 0;    struct prefix_ipv6 *dest; @@ -443,7 +443,7 @@ ospf6_zebra_route_update (int type, struct ospf6_route *request)    /* allocate memory for ifindex_list */    ifindexes = XCALLOC (MTYPE_OSPF6_OTHER, -                       nhcount * sizeof (unsigned int)); +                       nhcount * sizeof (ifindex_t));    if (ifindexes == NULL)      {        zlog_warn ("Can't send route to zebra: malloc failed"); diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c index ddb26dd543..21f99af128 100644 --- a/ospfd/ospf_asbr.c +++ b/ospfd/ospf_asbr.c @@ -136,7 +136,7 @@ ospf_route_map_set_compare (struct route_map_set_values *values1,  /* Add an External info for AS-external-LSA. */  struct external_info *  ospf_external_info_add (u_char type, u_short instance, struct prefix_ipv4 p, -			unsigned int ifindex, struct in_addr nexthop, +			ifindex_t ifindex, struct in_addr nexthop,                          u_short tag)  {    struct external_info *new; diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h index ade671013a..25a53aad4f 100644 --- a/ospfd/ospf_asbr.h +++ b/ospfd/ospf_asbr.h @@ -41,7 +41,7 @@ struct external_info    struct prefix_ipv4 p;    /* Interface index. */ -  unsigned int ifindex; +  ifindex_t ifindex;    /* Nexthop address. */    struct in_addr nexthop; @@ -63,7 +63,7 @@ extern int ospf_route_map_set_compare (struct route_map_set_values *,  				struct route_map_set_values *);  extern struct external_info *ospf_external_info_add (u_char, u_short,                                                struct prefix_ipv4, -					      unsigned int,  +					      ifindex_t,  					      struct in_addr,  					      u_short);  extern void ospf_external_info_delete (u_char, u_short, struct prefix_ipv4); diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index 68a3946b3a..b96ed452c1 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -2251,7 +2251,7 @@ ospf_nssa_lsa_flush (struct ospf *ospf, struct prefix_ipv4 *p)  void  ospf_external_lsa_flush (struct ospf *ospf,  			 u_char type, struct prefix_ipv4 *p, -			 unsigned int ifindex /*, struct in_addr nexthop */) +			 ifindex_t ifindex /*, struct in_addr nexthop */)  {    struct ospf_lsa *lsa; diff --git a/ospfd/ospf_lsa.h b/ospfd/ospf_lsa.h index b3d72109d6..28ecc9d4d6 100644 --- a/ospfd/ospf_lsa.h +++ b/ospfd/ospf_lsa.h @@ -277,7 +277,7 @@ extern struct ospf_lsa *ospf_lsa_install (struct ospf *,  extern void ospf_nssa_lsa_flush (struct ospf *ospf, struct prefix_ipv4 *p);  extern void ospf_external_lsa_flush (struct ospf *, u_char, struct prefix_ipv4 *, -			      unsigned int /* , struct in_addr nexthop */); +			             ifindex_t /* , struct in_addr nexthop */);  extern struct in_addr ospf_get_ip_from_ifp (struct ospf_interface *); diff --git a/ospfd/ospf_network.c b/ospfd/ospf_network.c index 9f516d7390..6caa38d68b 100644 --- a/ospfd/ospf_network.c +++ b/ospfd/ospf_network.c @@ -48,7 +48,7 @@ extern struct zebra_privs_t ospfd_privs;  /* Join to the OSPF ALL SPF ROUTERS multicast group. */  int  ospf_if_add_allspfrouters (struct ospf *top, struct prefix *p, -			   unsigned int ifindex) +			   ifindex_t ifindex)  {    int ret; @@ -69,7 +69,7 @@ ospf_if_add_allspfrouters (struct ospf *top, struct prefix *p,  int  ospf_if_drop_allspfrouters (struct ospf *top, struct prefix *p, -			    unsigned int ifindex) +			    ifindex_t ifindex)  {    int ret; @@ -89,8 +89,7 @@ ospf_if_drop_allspfrouters (struct ospf *top, struct prefix *p,  /* Join to the OSPF ALL Designated ROUTERS multicast group. */  int -ospf_if_add_alldrouters (struct ospf *top, struct prefix *p, unsigned int -			 ifindex) +ospf_if_add_alldrouters (struct ospf *top, struct prefix *p, ifindex_t ifindex)  {    int ret; @@ -110,8 +109,7 @@ ospf_if_add_alldrouters (struct ospf *top, struct prefix *p, unsigned int  }  int -ospf_if_drop_alldrouters (struct ospf *top, struct prefix *p, unsigned int -			  ifindex) +ospf_if_drop_alldrouters (struct ospf *top, struct prefix *p, ifindex_t ifindex)  {    int ret; @@ -130,7 +128,7 @@ ospf_if_drop_alldrouters (struct ospf *top, struct prefix *p, unsigned int  }  int -ospf_if_ipmulticast (struct ospf *top, struct prefix *p, unsigned int ifindex) +ospf_if_ipmulticast (struct ospf *top, struct prefix *p, ifindex_t ifindex)  {    u_char val;    int ret, len; diff --git a/ospfd/ospf_network.h b/ospfd/ospf_network.h index e0a5c69d5c..8257adb4af 100644 --- a/ospfd/ospf_network.h +++ b/ospfd/ospf_network.h @@ -25,14 +25,14 @@  /* Prototypes. */  extern int ospf_if_add_allspfrouters (struct ospf *, struct prefix *, -				      unsigned int); +				      ifindex_t);  extern int ospf_if_drop_allspfrouters (struct ospf *, struct prefix *, -				       unsigned int); +				       ifindex_t);  extern int ospf_if_add_alldrouters (struct ospf *, struct prefix *, -				    unsigned int); +				    ifindex_t);  extern int ospf_if_drop_alldrouters (struct ospf *, struct prefix *, -				     unsigned int); -extern int ospf_if_ipmulticast (struct ospf *, struct prefix *, unsigned int); +				     ifindex_t); +extern int ospf_if_ipmulticast (struct ospf *, struct prefix *, ifindex_t);  extern int ospf_sock_init (void);  extern void ospf_adjust_sndbuflen (struct ospf *, unsigned int); diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index 2df1596ee3..e6014a14c6 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -2143,7 +2143,7 @@ ospf_recv_packet (int fd, struct interface **ifp, struct stream *ibuf)    int ret;    struct ip *iph;    u_int16_t ip_len; -  unsigned int ifindex = 0; +  ifindex_t ifindex = 0;    struct iovec iov;    /* Header and data both require alignment. */    char buff [CMSG_SPACE(SOPT_SIZE_CMSG_IFINDEX_IPV4())]; diff --git a/ospfd/ospf_route.h b/ospfd/ospf_route.h index d0b121db38..6b6d9f1fab 100644 --- a/ospfd/ospf_route.h +++ b/ospfd/ospf_route.h @@ -39,7 +39,7 @@ struct ospf_path  {    struct in_addr nexthop;    struct in_addr adv_router; -  unsigned int ifindex; +  ifindex_t ifindex;    unsigned char unnumbered;  }; diff --git a/ospfd/ospf_snmp.c b/ospfd/ospf_snmp.c index bedcb559bf..676756d6d9 100644 --- a/ospfd/ospf_snmp.c +++ b/ospfd/ospf_snmp.c @@ -1413,7 +1413,7 @@ static struct list *ospf_snmp_iflist;  struct ospf_snmp_if  {    struct in_addr addr; -  unsigned int ifindex; +  ifindex_t ifindex;    struct interface *ifp;  }; @@ -1455,7 +1455,7 @@ ospf_snmp_if_update (struct interface *ifp)    struct prefix *p;    struct ospf_snmp_if *osif;    struct in_addr *addr; -  unsigned int ifindex; +  ifindex_t ifindex;    ospf_snmp_if_delete (ifp); @@ -1530,7 +1530,7 @@ ospf_snmp_is_if_have_addr (struct interface *ifp)  }  static struct ospf_interface * -ospf_snmp_if_lookup (struct in_addr *ifaddr, unsigned int *ifindex) +ospf_snmp_if_lookup (struct in_addr *ifaddr, ifindex_t *ifindex)  {    struct listnode *node;    struct ospf_snmp_if *osif; @@ -1554,8 +1554,8 @@ ospf_snmp_if_lookup (struct in_addr *ifaddr, unsigned int *ifindex)  }  static struct ospf_interface * -ospf_snmp_if_lookup_next (struct in_addr *ifaddr, unsigned int *ifindex, -			  int ifaddr_next, int ifindex_next) +ospf_snmp_if_lookup_next (struct in_addr *ifaddr, ifindex_t *ifindex, +			  int ifaddr_next, ifindex_t ifindex_next)  {    struct ospf_snmp_if *osif;    struct listnode *nn; @@ -1638,11 +1638,11 @@ ospf_snmp_iftype (struct interface *ifp)  static struct ospf_interface *  ospfIfLookup (struct variable *v, oid *name, size_t *length, -	      struct in_addr *ifaddr, unsigned int *ifindex, int exact) +	      struct in_addr *ifaddr, ifindex_t *ifindex, int exact)  {    unsigned int len;    int ifaddr_next = 0; -  int ifindex_next = 0; +  ifindex_t ifindex_next = 0;    struct ospf_interface *oi;    oid *offset; @@ -1694,7 +1694,7 @@ static u_char *  ospfIfEntry (struct variable *v, oid *name, size_t *length, int exact,  	     size_t *var_len, WriteMethod **write_method)  { -  unsigned int ifindex; +  ifindex_t ifindex;    struct in_addr ifaddr;    struct ospf_interface *oi;    struct ospf *ospf; @@ -1802,11 +1802,11 @@ ospfIfEntry (struct variable *v, oid *name, size_t *length, int exact,  static struct ospf_interface *  ospfIfMetricLookup (struct variable *v, oid *name, size_t *length, -		    struct in_addr *ifaddr, unsigned int *ifindex, int exact) +		    struct in_addr *ifaddr, ifindex_t *ifindex, int exact)  {    unsigned int len;    int ifaddr_next = 0; -  int ifindex_next = 0; +  ifindex_t ifindex_next = 0;    struct ospf_interface *oi;    oid *offset;    int metric; @@ -1866,7 +1866,7 @@ ospfIfMetricEntry (struct variable *v, oid *name, size_t *length, int exact,  		   size_t *var_len, WriteMethod **write_method)  {    /* Currently we support metric 1 only. */ -  unsigned int ifindex; +  ifindex_t ifindex;    struct in_addr ifaddr;    struct ospf_interface *oi;    struct ospf *ospf; @@ -2133,7 +2133,7 @@ ospfVirtIfEntry (struct variable *v, oid *name, size_t *length, int exact,  static struct ospf_neighbor *  ospf_snmp_nbr_lookup (struct ospf *ospf, struct in_addr *nbr_addr, -		      unsigned int *ifindex) +		      ifindex_t *ifindex)  {    struct listnode *node, *nnode;    struct ospf_interface *oi; @@ -2161,7 +2161,7 @@ ospf_snmp_nbr_lookup (struct ospf *ospf, struct in_addr *nbr_addr,  }  static struct ospf_neighbor * -ospf_snmp_nbr_lookup_next (struct in_addr *nbr_addr, unsigned int *ifindex, +ospf_snmp_nbr_lookup_next (struct in_addr *nbr_addr, ifindex_t *ifindex,  			   int first)  {    struct listnode *nn; @@ -2208,7 +2208,7 @@ ospf_snmp_nbr_lookup_next (struct in_addr *nbr_addr, unsigned int *ifindex,  static struct ospf_neighbor *  ospfNbrLookup (struct variable *v, oid *name, size_t *length, -	       struct in_addr *nbr_addr, unsigned int *ifindex, int exact) +	       struct in_addr *nbr_addr, ifindex_t *ifindex, int exact)  {    unsigned int len;    int first; @@ -2303,7 +2303,7 @@ ospfNbrEntry (struct variable *v, oid *name, size_t *length, int exact,  	      size_t *var_len, WriteMethod **write_method)  {    struct in_addr nbr_addr; -  unsigned int ifindex; +  ifindex_t ifindex;    struct ospf_neighbor *nbr;    struct ospf_interface *oi; diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index 3c60275027..a8a1d08805 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -772,7 +772,7 @@ void pim_if_del_vif_all()    }  } -struct interface *pim_if_find_by_vif_index(int vif_index) +struct interface *pim_if_find_by_vif_index(ifindex_t vif_index)  {    struct listnode  *ifnode;    struct interface *ifp; @@ -784,6 +784,7 @@ struct interface *pim_if_find_by_vif_index(int vif_index)      if (ifp->info) {        struct pim_interface *pim_ifp;        pim_ifp = ifp->info; +        if (vif_index == pim_ifp->mroute_vif_index)  	return ifp;      } @@ -795,7 +796,7 @@ struct interface *pim_if_find_by_vif_index(int vif_index)  /*    pim_if_add_vif() uses ifindex as vif_index   */ -int pim_if_find_vifindex_by_ifindex(int ifindex) +int pim_if_find_vifindex_by_ifindex(ifindex_t ifindex)  {    struct pim_interface *pim_ifp;    struct interface *ifp; @@ -954,7 +955,7 @@ static struct igmp_join *igmp_join_find(struct list *join_list,  }  static int igmp_join_sock(const char *ifname, -			  int ifindex, +			  ifindex_t ifindex,  			  struct in_addr group_addr,  			  struct in_addr source_addr)  { diff --git a/pimd/pim_iface.h b/pimd/pim_iface.h index 15489f81fa..790afabea1 100644 --- a/pimd/pim_iface.h +++ b/pimd/pim_iface.h @@ -63,7 +63,7 @@ enum pim_interface_type {  struct pim_interface {    enum pim_interface_type itype;    uint32_t       options;                            /* bit vector */ -  int            mroute_vif_index; +  ifindex_t      mroute_vif_index;    struct in_addr primary_address; /* remember addr to detect change */    int          igmp_default_robustness_variable;            /* IGMPv3 QRV */ @@ -133,8 +133,8 @@ int pim_if_del_vif(struct interface *ifp);  void pim_if_add_vif_all(void);  void pim_if_del_vif_all(void); -struct interface *pim_if_find_by_vif_index(int vif_index); -int pim_if_find_vifindex_by_ifindex(int ifindex); +struct interface *pim_if_find_by_vif_index(ifindex_t vif_index); +int pim_if_find_vifindex_by_ifindex(ifindex_t ifindex);  int pim_if_lan_delay_enabled(struct interface *ifp);  uint16_t pim_if_effective_propagation_delay_msec(struct interface *ifp); diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c index 440d648723..3b63b10e0d 100644 --- a/pimd/pim_igmp.c +++ b/pimd/pim_igmp.c @@ -46,7 +46,7 @@  static void group_timer_off(struct igmp_group *group); -static int igmp_sock_open(struct in_addr ifaddr, int ifindex, uint32_t pim_options) +static int igmp_sock_open(struct in_addr ifaddr, ifindex_t ifindex, uint32_t pim_options)  {    int fd;    int join = 0; @@ -971,7 +971,7 @@ static int pim_igmp_read(struct thread *t)    socklen_t tolen = sizeof(to);    uint8_t buf[PIM_IGMP_BUFSIZE_READ];    int len; -  int ifindex = -1; +  ifindex_t ifindex = -1;    int result = -1; /* defaults to bad */    zassert(t); @@ -1009,7 +1009,7 @@ static int pim_igmp_read(struct thread *t)  #ifdef PIM_CHECK_RECV_IFINDEX_SANITY    /* ifindex sanity check */ -  if (ifindex != (int) igmp->interface->ifindex) { +  if (ifindex != igmp->interface->ifindex) {      char from_str[100];      char to_str[100];      struct interface *ifp; @@ -1021,7 +1021,7 @@ static int pim_igmp_read(struct thread *t)      ifp = if_lookup_by_index(ifindex);      if (ifp) { -      zassert(ifindex == (int) ifp->ifindex); +      zassert(ifindex == ifp->ifindex);      }  #ifdef PIM_REPORT_RECV_IFINDEX_MISMATCH diff --git a/pimd/pim_igmp_join.h b/pimd/pim_igmp_join.h index 95519ff974..1700276de8 100644 --- a/pimd/pim_igmp_join.h +++ b/pimd/pim_igmp_join.h @@ -39,7 +39,7 @@ struct group_source_req  };  #endif -static int pim_igmp_join_source(int fd, int ifindex, +static int pim_igmp_join_source(int fd, ifindex_t ifindex,  				struct in_addr group_addr,  				struct in_addr source_addr)  { diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c index eedbc116d8..0dfd39cd16 100644 --- a/pimd/pim_pim.c +++ b/pimd/pim_pim.c @@ -278,7 +278,7 @@ static int pim_sock_read(struct thread *t)    socklen_t tolen = sizeof(to);    uint8_t buf[PIM_PIM_BUFSIZE_READ];    int len; -  int ifindex = -1; +  ifindex_t ifindex = -1;    int result = -1; /* defaults to bad */    zassert(t); @@ -386,7 +386,7 @@ static void pim_sock_read_on(struct interface *ifp)  		 pim_ifp->pim_sock_fd);  } -static int pim_sock_open(struct in_addr ifaddr, int ifindex) +static int pim_sock_open(struct in_addr ifaddr, ifindex_t ifindex)  {    int fd; diff --git a/pimd/pim_sock.c b/pimd/pim_sock.c index e04cd41575..a024e3ae01 100644 --- a/pimd/pim_sock.c +++ b/pimd/pim_sock.c @@ -213,7 +213,7 @@ int pim_socket_mcast(int protocol, struct in_addr ifaddr, int ifindex, int loop)  }  int pim_socket_join(int fd, struct in_addr group, -		    struct in_addr ifaddr, int ifindex) +		    struct in_addr ifaddr, ifindex_t ifindex)  {    int ret; @@ -261,7 +261,7 @@ int pim_socket_join(int fd, struct in_addr group,    return ret;  } -int pim_socket_join_source(int fd, int ifindex, +int pim_socket_join_source(int fd, ifindex_t ifindex,  			   struct in_addr group_addr,  			   struct in_addr source_addr,  			   const char *ifname) @@ -285,7 +285,7 @@ int pim_socket_join_source(int fd, int ifindex,  int pim_socket_recvfromto(int fd, uint8_t *buf, size_t len,  			  struct sockaddr_in *from, socklen_t *fromlen,  			  struct sockaddr_in *to, socklen_t *tolen, -			  int *ifindex) +			  ifindex_t *ifindex)  {    struct msghdr msgh;    struct cmsghdr *cmsg; diff --git a/pimd/pim_sock.h b/pimd/pim_sock.h index 9a9b64a4a3..f0a1600818 100644 --- a/pimd/pim_sock.h +++ b/pimd/pim_sock.h @@ -41,15 +41,15 @@  int pim_socket_raw(int protocol);  int pim_socket_mcast(int protocol, struct in_addr ifaddr, int ifindex, int loop);  int pim_socket_join(int fd, struct in_addr group, -		    struct in_addr ifaddr, int ifindex); -int pim_socket_join_source(int fd, int ifindex, +		    struct in_addr ifaddr, ifindex_t ifindex); +int pim_socket_join_source(int fd, ifindex_t ifindex,  			   struct in_addr group_addr,  			   struct in_addr source_addr,  			   const char *ifname);  int pim_socket_recvfromto(int fd, uint8_t *buf, size_t len,  			  struct sockaddr_in *from, socklen_t *fromlen,  			  struct sockaddr_in *to, socklen_t *tolen, -			  int *ifindex); +			  ifindex_t *ifindex);  int pim_socket_mcastloop_get(int fd); diff --git a/pimd/pim_ssmpingd.c b/pimd/pim_ssmpingd.c index d564bf57bc..fe88eba271 100644 --- a/pimd/pim_ssmpingd.c +++ b/pimd/pim_ssmpingd.c @@ -250,7 +250,7 @@ static int ssmpingd_read_msg(struct ssmpingd_sock *ss)    struct sockaddr_in to;    socklen_t fromlen = sizeof(from);    socklen_t tolen = sizeof(to); -  int ifindex = -1; +  ifindex_t ifindex = -1;    uint8_t buf[1000];    int len; diff --git a/pimd/pim_static.c b/pimd/pim_static.c index 1931f1ee6c..c1154dc088 100644 --- a/pimd/pim_static.c +++ b/pimd/pim_static.c @@ -85,8 +85,8 @@ int pim_static_add(struct interface *iif, struct interface *oif, struct in_addr     struct static_route *original_s_route = 0;     struct pim_interface *pim_iif = iif ? iif->info : 0;     struct pim_interface *pim_oif = oif ? oif->info : 0; -   unsigned int iif_index = pim_iif ? pim_iif->mroute_vif_index : 0; -   unsigned int oif_index = pim_oif ? pim_oif->mroute_vif_index : 0; +   ifindex_t iif_index = pim_iif ? pim_iif->mroute_vif_index : 0; +   ifindex_t oif_index = pim_oif ? pim_oif->mroute_vif_index : 0;     if (!iif_index || !oif_index) {        zlog_warn("%s %s: Unable to add static route: Invalid interface index(iif=%d,oif=%d)", @@ -229,8 +229,8 @@ int pim_static_del(struct interface *iif, struct interface *oif, struct in_addr     struct static_route *s_route = 0;     struct pim_interface *pim_iif = iif ? iif->info : 0;     struct pim_interface *pim_oif = oif ? oif->info : 0; -   unsigned int iif_index = pim_iif ? pim_iif->mroute_vif_index : 0; -   unsigned int oif_index = pim_oif ? pim_oif->mroute_vif_index : 0; +   ifindex_t iif_index = pim_iif ? pim_iif->mroute_vif_index : 0; +   ifindex_t oif_index = pim_oif ? pim_oif->mroute_vif_index : 0;     if (!iif_index || !oif_index) {        zlog_warn("%s %s: Unable to remove static route: Invalid interface index(iif=%d,oif=%d)", diff --git a/pimd/pim_static.h b/pimd/pim_static.h index ff89fb150e..07d31d59b7 100644 --- a/pimd/pim_static.h +++ b/pimd/pim_static.h @@ -33,7 +33,7 @@ struct static_route {     struct in_addr source;     struct channel_oil c_oil; -   unsigned int   iif; +   ifindex_t          iif;     unsigned char  oif_ttls[MAXVIFS];  }; diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index efab00e227..d357e5cc83 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -533,7 +533,7 @@ static int redist_read_ipv4_route(int command, struct zclient *zclient,  {    struct stream *s;    struct zapi_ipv4 api; -  unsigned long ifindex; +  ifindex_t ifindex;    struct in_addr nexthop;    struct prefix_ipv4 p;    int min_len = 4; @@ -620,7 +620,7 @@ static int redist_read_ipv4_route(int command, struct zclient *zclient,      if (PIM_DEBUG_ZEBRA) {        char buf[2][INET_ADDRSTRLEN];        zlog_debug("%s: add %s %s/%d " -		 "nexthop %s ifindex %ld metric%s %u distance%s %u", +		 "nexthop %s ifindex %d metric%s %u distance%s %u",  		 __PRETTY_FUNCTION__,  		 zebra_route_string(api.type),  		 inet_ntop(AF_INET, &p.prefix, buf[0], sizeof(buf[0])), @@ -638,7 +638,7 @@ static int redist_read_ipv4_route(int command, struct zclient *zclient,      if (PIM_DEBUG_ZEBRA) {        char buf[2][INET_ADDRSTRLEN];        zlog_debug("%s: delete %s %s/%d " -		 "nexthop %s ifindex %ld metric%s %u distance%s %u", +		 "nexthop %s ifindex %d metric%s %u distance%s %u",  		 __PRETTY_FUNCTION__,  		 zebra_route_string(api.type),  		 inet_ntop(AF_INET, &p.prefix, buf[0], sizeof(buf[0])), @@ -763,7 +763,7 @@ static int fib_lookup_if_vif_index(struct in_addr addr)    struct pim_zlookup_nexthop nexthop_tab[PIM_NEXTHOP_IFINDEX_TAB_SIZE];    int num_ifindex;    int vif_index; -  int first_ifindex; +  ifindex_t first_ifindex;    num_ifindex = zclient_lookup_nexthop(qpim_zclient_lookup, nexthop_tab,  				       PIM_NEXTHOP_IFINDEX_TAB_SIZE, addr, diff --git a/pimd/pim_zlookup.h b/pimd/pim_zlookup.h index 1f184942ca..f2be6d4fa0 100644 --- a/pimd/pim_zlookup.h +++ b/pimd/pim_zlookup.h @@ -31,7 +31,7 @@  struct pim_zlookup_nexthop {    struct in_addr nexthop_addr; -  int            ifindex; +  ifindex_t      ifindex;    uint32_t       route_metric;    uint8_t        protocol_distance;  }; diff --git a/pimd/test_igmpv3_join.c b/pimd/test_igmpv3_join.c index 7fcf38bcec..5c4574024b 100644 --- a/pimd/test_igmpv3_join.c +++ b/pimd/test_igmpv3_join.c @@ -32,6 +32,7 @@  #include <net/if.h>  #include <arpa/inet.h> +#include "if.h"  #include "pim_igmp_join.h"  const char *prog_name = 0; @@ -39,7 +40,7 @@ const char *prog_name = 0;  static int iface_solve_index(const char *ifname)  {    struct if_nameindex *ini; -  int ifindex = -1; +  ifindex_t ifindex = -1;    int i;    if (!ifname) @@ -79,7 +80,7 @@ int main(int argc, const char *argv[])    const char *ifname;    const char *group;    const char *source; -  int ifindex; +  ifindex_t ifindex;    int result;    int fd; diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c index 4499966ad0..09b35d00b9 100644 --- a/ripd/rip_interface.c +++ b/ripd/rip_interface.c @@ -74,7 +74,7 @@ static int  ipv4_multicast_join (int sock,   		     struct in_addr group,   		     struct in_addr ifa, -		     unsigned int ifindex) +		     ifindex_t ifindex)  {    int ret; @@ -96,7 +96,7 @@ static int  ipv4_multicast_leave (int sock,   		      struct in_addr group,   		      struct in_addr ifa, -		      unsigned int ifindex) +		      ifindex_t ifindex)  {    int ret; diff --git a/ripd/ripd.c b/ripd/ripd.c index 42f1015453..3a8cd80e7a 100644 --- a/ripd/ripd.c +++ b/ripd/ripd.c @@ -1579,7 +1579,7 @@ rip_send_packet (u_char * buf, int size, struct sockaddr_in *to,  /* Add redistributed route to RIP table. */  void  rip_redistribute_add (int type, int sub_type, struct prefix_ipv4 *p,  -		      unsigned int ifindex, struct in_addr *nexthop, +		      ifindex_t ifindex, struct in_addr *nexthop,                        unsigned int metric, unsigned char distance)  {    int ret; @@ -1653,7 +1653,7 @@ rip_redistribute_add (int type, int sub_type, struct prefix_ipv4 *p,  /* Delete redistributed route from RIP table. */  void  rip_redistribute_delete (int type, int sub_type, struct prefix_ipv4 *p,  -			   unsigned int ifindex) +			 ifindex_t ifindex)  {    int ret;    struct route_node *rp; @@ -1795,7 +1795,7 @@ setsockopt_pktinfo (int sock)  /* Read RIP packet by recvmsg function. */  int  rip_recvmsg (int sock, u_char *buf, int size, struct sockaddr_in *from, -	     int *ifindex) +	     ifindex_t *ifindex)  {    int ret;    struct msghdr msg; @@ -1836,7 +1836,7 @@ rip_read_new (struct thread *t)    int sock;    char buf[RIP_PACKET_MAXSIZ];    struct sockaddr_in from; -  unsigned int ifindex; +  ifindex_t ifindex;    /* Fetch socket then register myself. */    sock = THREAD_FD (t); diff --git a/ripd/ripd.h b/ripd/ripd.h index fe9e521d88..d01d0b6bbe 100644 --- a/ripd/ripd.h +++ b/ripd/ripd.h @@ -198,7 +198,7 @@ struct rip_info    struct in_addr from;    /* Which interface does this route come from. */ -  unsigned int ifindex; +  ifindex_t ifindex;    /* Metric of this route. */    u_int32_t metric; @@ -224,7 +224,7 @@ struct rip_info    u_char metric_set;    u_int32_t metric_out;    u_short tag_out; -  unsigned int ifindex_out; +  ifindex_t ifindex_out;    struct route_node *rp; @@ -400,9 +400,9 @@ extern int rip_request_send (struct sockaddr_in *, struct interface *, u_char,  extern int rip_neighbor_lookup (struct sockaddr_in *);  extern int rip_redistribute_check (int); -extern void rip_redistribute_add (int, int, struct prefix_ipv4 *, unsigned int,  +extern void rip_redistribute_add (int, int, struct prefix_ipv4 *, ifindex_t,  			   struct in_addr *, unsigned int, unsigned char); -extern void rip_redistribute_delete (int, int, struct prefix_ipv4 *, unsigned int); +extern void rip_redistribute_delete (int, int, struct prefix_ipv4 *, ifindex_t);  extern void rip_redistribute_withdraw (int);  extern void rip_zebra_ipv4_add (struct route_node *);  extern void rip_zebra_ipv4_delete (struct route_node *); diff --git a/ripngd/ripng_zebra.c b/ripngd/ripng_zebra.c index ecfe2d5154..d8667cb68c 100644 --- a/ripngd/ripng_zebra.c +++ b/ripngd/ripng_zebra.c @@ -42,7 +42,7 @@ static void  ripng_zebra_ipv6_send (struct route_node *rp, u_char cmd)  {    static struct in6_addr **nexthops = NULL; -  static unsigned int *ifindexes = NULL; +  static ifindex_t *ifindexes = NULL;    static unsigned int nexthops_len = 0;    struct list *list = (struct list *)rp->info; diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c index b786c6f938..2858bb6462 100644 --- a/ripngd/ripngd.c +++ b/ripngd/ripngd.c @@ -229,7 +229,7 @@ ripng_send_packet (caddr_t buf, int bufsize, struct sockaddr_in6 *to,  /* Receive UDP RIPng packet from socket. */  static int  ripng_recv_packet (int sock, u_char *buf, int bufsize, -		   struct sockaddr_in6 *from, unsigned int *ifindex,  +		   struct sockaddr_in6 *from, ifindex_t *ifindex,  		   int *hoplimit)  {    int ret; @@ -973,7 +973,7 @@ ripng_route_process (struct rte *rte, struct sockaddr_in6 *from,  /* Add redistributed route to RIPng table. */  void  ripng_redistribute_add (int type, int sub_type, struct prefix_ipv6 *p,  -			unsigned int ifindex, struct in6_addr *nexthop) +			ifindex_t ifindex, struct in6_addr *nexthop)  {    struct route_node *rp;    struct ripng_info *rinfo = NULL, newinfo; @@ -1043,7 +1043,7 @@ ripng_redistribute_add (int type, int sub_type, struct prefix_ipv6 *p,  /* Delete redistributed route to RIPng table. */  void  ripng_redistribute_delete (int type, int sub_type, struct prefix_ipv6 *p,  -			   unsigned int ifindex) +			   ifindex_t ifindex)  {    struct route_node *rp;    struct ripng_info *rinfo; @@ -1361,7 +1361,7 @@ ripng_read (struct thread *thread)    int sock;    struct sockaddr_in6 from;    struct ripng_packet *packet; -  unsigned int ifindex = 0; +  ifindex_t ifindex = 0;    struct interface *ifp;    int hoplimit = -1; diff --git a/ripngd/ripngd.h b/ripngd/ripngd.h index 1496de08bf..b87b927f48 100644 --- a/ripngd/ripngd.h +++ b/ripngd/ripngd.h @@ -176,7 +176,7 @@ struct ripng_info    struct in6_addr from;    /* Which interface does this route come from. */ -  unsigned int ifindex;		 +  ifindex_t ifindex;    /* Metric of this route.  */    u_char metric;		 @@ -381,9 +381,9 @@ extern void ripng_info_free (struct ripng_info *rinfo);  extern void ripng_event (enum ripng_event, int);  extern int ripng_request (struct interface *ifp);  extern void ripng_redistribute_add (int, int, struct prefix_ipv6 *, -                                    unsigned int, struct in6_addr *); +                                    ifindex_t, struct in6_addr *);  extern void ripng_redistribute_delete (int, int, struct prefix_ipv6 *, -                                       unsigned int); +                                       ifindex_t);  extern void ripng_redistribute_withdraw (int type);  extern void ripng_distribute_update_interface (struct interface *); diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index 23224dc241..638062d5d6 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -988,7 +988,7 @@ rtm_read (struct rt_msghdr *rtm)        if (rtm->rtm_type != RTM_GET && rtm->rtm_pid == pid)          return;        struct prefix_ipv6 p; -      unsigned int ifindex = 0; +      ifindex_t ifindex = 0;        p.family = AF_INET6;        p.prefix = dest.sin6.sin6_addr; diff --git a/zebra/rib.h b/zebra/rib.h index 5e0bce4461..291ee0b714 100644 --- a/zebra/rib.h +++ b/zebra/rib.h @@ -203,7 +203,7 @@ struct static_route     * STATIC_IFINDEX uses ifindex     */    union g_addr addr; -  unsigned int ifindex; +  ifindex_t ifindex;    char ifname[INTERFACE_NAMSIZ + 1]; @@ -215,7 +215,6 @@ struct static_route   */  }; -  /* The following for loop allows to iterate over the nexthop   * structure of routes.   * @@ -321,14 +320,14 @@ typedef enum    RIB_UPDATE_OTHER  } rib_update_event_t; -extern struct nexthop *rib_nexthop_ifindex_add (struct rib *, unsigned int); +extern struct nexthop *rib_nexthop_ifindex_add (struct rib *, ifindex_t);  extern struct nexthop *rib_nexthop_blackhole_add (struct rib *);  extern struct nexthop *rib_nexthop_ipv4_add (struct rib *, struct in_addr *,  					     struct in_addr *);  extern struct nexthop *rib_nexthop_ipv4_ifindex_add (struct rib *,  						     struct in_addr *,  						     struct in_addr *, -						     unsigned int); +						     ifindex_t);  extern void rib_nexthop_add (struct rib *rib, struct nexthop *nexthop);  extern void rib_copy_nexthops (struct rib *rib, struct nexthop *nh); @@ -364,7 +363,7 @@ extern int rib_lookup_ipv4_route (struct prefix_ipv4 *, union sockunion *,  extern struct nexthop *rib_nexthop_ipv6_add (struct rib *, struct in6_addr *);  extern struct nexthop *rib_nexthop_ipv6_ifindex_add (struct rib *rib,  						     struct in6_addr *ipv6, -						     unsigned int ifindex); +						     ifindex_t ifindex);  extern int is_zebra_valid_kernel_table(u_int32_t table_id);  extern int is_zebra_main_routing_table(u_int32_t table_id); @@ -375,13 +374,13 @@ extern int zebra_check_addr (struct prefix *p);   * also implicitly withdraw equal prefix of same type. */  extern int rib_add_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p,  			 struct in_addr *gate, struct in_addr *src, -			 unsigned int ifindex, vrf_id_t vrf_id, u_int32_t table_id, +			 ifindex_t ifindex, vrf_id_t vrf_id, u_int32_t table_id,  			 u_int32_t, u_char, safi_t);  extern int rib_add_ipv4_multipath (struct prefix_ipv4 *, struct rib *, safi_t);  extern int rib_delete_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p, -		            struct in_addr *gate, unsigned int ifindex,  +		            struct in_addr *gate, ifindex_t ifindex,  		            vrf_id_t, u_int32_t, safi_t safi);  extern struct rib *rib_match_ipv4 (struct in_addr, safi_t safi, vrf_id_t, @@ -406,22 +405,22 @@ extern void  static_uninstall_route (afi_t afi, safi_t safi, struct prefix *p, struct static_route *si);  extern int -static_add_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, unsigned int ifindex, +static_add_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, ifindex_t ifindex,                   const char *ifname, u_char flags, u_short tag,  		 u_char distance, struct zebra_vrf *zvrf);  extern int -static_delete_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, unsigned int ifindex, +static_delete_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, ifindex_t ifindex,  		    u_short tag, u_char distance, struct zebra_vrf *zvrf);  extern int  rib_add_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p, -	      struct in6_addr *gate, unsigned int ifindex, vrf_id_t vrf_id, +	      struct in6_addr *gate, ifindex_t ifindex, vrf_id_t vrf_id,                u_int32_t table_id, u_int32_t metric, u_char distance, safi_t safi);  extern int  rib_delete_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p, -		 struct in6_addr *gate, unsigned int ifindex, vrf_id_t vrf_id, +		 struct in6_addr *gate, ifindex_t ifindex, vrf_id_t vrf_id,                   u_int32_t table_id, safi_t safi);  extern struct rib *rib_lookup_ipv6 (struct in6_addr *, vrf_id_t); @@ -432,16 +431,16 @@ extern struct route_table *rib_table_ipv6;  extern int  static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate, -		 unsigned int ifindex, const char *ifname, u_char flags, +		 ifindex_t ifindex, const char *ifname, u_char flags,  		 u_short tag, u_char distance, struct zebra_vrf *zvrf);  extern int  rib_add_ipv6_multipath (struct prefix *, struct rib *, safi_t, -                        unsigned long); +                        ifindex_t);  extern int  static_delete_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate, -		    unsigned int ifindex, u_short tag, u_char distance, +		    ifindex_t ifindex, u_short tag, u_char distance,                      struct zebra_vrf *zvrf);  extern int rib_gc_dest (struct route_node *rn); diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index bd1c923506..d93a530317 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -74,7 +74,7 @@ extern u_int32_t nl_rcvbufsize;  /* Note: on netlink systems, there should be a 1-to-1 mapping between interface     names and ifindex values. */  static void -set_ifindex(struct interface *ifp, unsigned int ifi_index) +set_ifindex(struct interface *ifp, ifindex_t ifi_index)  {    struct interface *oifp;    struct zebra_ns *zns = zebra_ns_lookup (NS_DEFAULT); diff --git a/zebra/rt_socket.c b/zebra/rt_socket.c index ffb0d088a7..24671829f0 100644 --- a/zebra/rt_socket.c +++ b/zebra/rt_socket.c @@ -76,7 +76,7 @@ kernel_rtm_ipv4 (int cmd, struct prefix *p, struct rib *rib, int family)    struct nexthop *nexthop, *tnexthop;    int recursing;    int nexthop_num = 0; -  unsigned int ifindex = 0; +  ifindex_t ifindex = 0;    int gate = 0;    int error;    char prefix_buf[PREFIX_STRLEN]; @@ -287,7 +287,7 @@ kernel_rtm_ipv6_multipath (int cmd, struct prefix *p, struct rib *rib,    struct nexthop *nexthop, *tnexthop;    int recursing;    int nexthop_num = 0; -  unsigned int ifindex = 0; +  ifindex_t ifindex = 0;    int gate = 0;    int error; diff --git a/zebra/rtadv.c b/zebra/rtadv.c index f3f1cee14b..8333d2e08c 100644 --- a/zebra/rtadv.c +++ b/zebra/rtadv.c @@ -70,7 +70,7 @@ static int if_join_all_router (int, struct interface *);  static int if_leave_all_router (int, struct interface *);  static int -rtadv_increment_received(struct zebra_ns *zns, unsigned int *ifindex) +rtadv_increment_received(struct zebra_ns *zns, ifindex_t *ifindex)  {    int ret = -1;    struct interface *iface; @@ -88,7 +88,7 @@ rtadv_increment_received(struct zebra_ns *zns, unsigned int *ifindex)  static int  rtadv_recv_packet (struct zebra_ns *zns, int sock, u_char *buf, int buflen, -		   struct sockaddr_in6 *from, unsigned int *ifindex, +		   struct sockaddr_in6 *from, ifindex_t *ifindex,  		   int *hoplimit)  {    int ret; @@ -534,7 +534,7 @@ rtadv_process_advert (u_char *msg, unsigned int len, struct interface *ifp,  static void -rtadv_process_packet (u_char *buf, unsigned int len, unsigned int ifindex, int hoplimit, +rtadv_process_packet (u_char *buf, unsigned int len, ifindex_t ifindex, int hoplimit,                        struct sockaddr_in6 *from, struct zebra_ns *zns)  {    struct icmp6_hdr *icmph; @@ -609,7 +609,7 @@ rtadv_read (struct thread *thread)    int len;    u_char buf[RTADV_MSG_SIZE];    struct sockaddr_in6 from; -  unsigned int ifindex = 0; +  ifindex_t ifindex = 0;    int hoplimit = -1;    struct zebra_ns *zns = THREAD_ARG (thread); diff --git a/zebra/test_main.c b/zebra/test_main.c index 902c675aef..95c56bb046 100644 --- a/zebra/test_main.c +++ b/zebra/test_main.c @@ -112,7 +112,7 @@ usage (char *progname, int status)    exit (status);  } -static unsigned int test_ifindex = 0; +static ifindex_t test_ifindex = 0;  /* testrib commands */  DEFUN (test_interface_state, diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 3aa9356fe6..16f43f7312 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -21,12 +21,12 @@  #include <zebra.h> +#include "if.h"  #include "prefix.h"  #include "table.h"  #include "memory.h"  #include "str.h"  #include "command.h" -#include "if.h"  #include "log.h"  #include "sockunion.h"  #include "linklist.h" @@ -210,7 +210,7 @@ rib_nexthop_delete (struct rib *rib, struct nexthop *nexthop)  struct nexthop * -rib_nexthop_ifindex_add (struct rib *rib, unsigned int ifindex) +rib_nexthop_ifindex_add (struct rib *rib, ifindex_t ifindex)  {    struct nexthop *nexthop; @@ -241,7 +241,7 @@ rib_nexthop_ipv4_add (struct rib *rib, struct in_addr *ipv4, struct in_addr *src  struct nexthop *  rib_nexthop_ipv4_ifindex_add (struct rib *rib, struct in_addr *ipv4, -			      struct in_addr *src, unsigned int ifindex) +			      struct in_addr *src, ifindex_t ifindex)  {    struct nexthop *nexthop;    struct interface *ifp; @@ -281,7 +281,7 @@ rib_nexthop_ipv6_add (struct rib *rib, struct in6_addr *ipv6)  struct nexthop *  rib_nexthop_ipv6_ifindex_add (struct rib *rib, struct in6_addr *ipv6, -			      unsigned int ifindex) +			      ifindex_t ifindex)  {    struct nexthop *nexthop; @@ -1199,8 +1199,8 @@ nexthop_active_update (struct route_node *rn, struct rib *rib, int set)  {    struct nexthop *nexthop;    union g_addr prev_src; -  unsigned int prev_active, prev_index, new_active, old_num_nh; - +  unsigned int prev_active, new_active, old_num_nh; +  ifindex_t prev_index;    old_num_nh = rib->nexthop_active_num;    rib->nexthop_active_num = 0; @@ -2413,7 +2413,7 @@ rib_delnode (struct route_node *rn, struct rib *rib)  int  rib_add_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p,  	      struct in_addr *gate, struct in_addr *src, -	      unsigned int ifindex, vrf_id_t vrf_id, u_int32_t table_id, +	      ifindex_t ifindex, vrf_id_t vrf_id, u_int32_t table_id,  	      u_int32_t metric, u_char distance, safi_t safi)  {    struct rib *rib; @@ -2770,7 +2770,7 @@ rib_add_ipv4_multipath (struct prefix_ipv4 *p, struct rib *rib, safi_t safi)  /* XXX factor with rib_delete_ipv6 */  int  rib_delete_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p, -		 struct in_addr *gate, unsigned int ifindex, vrf_id_t vrf_id, +		 struct in_addr *gate, ifindex_t ifindex, vrf_id_t vrf_id,  		 u_int32_t table_id, safi_t safi)  {    struct route_table *table; @@ -3182,7 +3182,7 @@ static_uninstall_route (afi_t afi, safi_t safi, struct prefix *p, struct static_  }  int -static_add_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, unsigned int ifindex, +static_add_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, ifindex_t ifindex,  		 const char *ifname, u_char flags, u_short tag,  		 u_char distance, struct zebra_vrf *zvrf)  { @@ -3278,7 +3278,7 @@ static_add_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, unsigned i  }  int -static_delete_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, unsigned int ifindex, +static_delete_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, ifindex_t ifindex,  		    u_short tag, u_char distance, struct zebra_vrf *zvrf)  {    u_char type = 0; @@ -3341,7 +3341,7 @@ static_delete_ipv4 (safi_t safi, struct prefix *p, struct in_addr *gate, unsigne  int  rib_add_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p, -	      struct in6_addr *gate, unsigned int ifindex, vrf_id_t vrf_id, +	      struct in6_addr *gate, ifindex_t ifindex, vrf_id_t vrf_id,                u_int32_t table_id, u_int32_t metric, u_char distance, safi_t safi)  {    struct rib *rib; @@ -3450,7 +3450,7 @@ rib_add_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p,  int  rib_add_ipv6_multipath (struct prefix *p, struct rib *rib, safi_t safi, -	                unsigned long ifindex) +	                ifindex_t ifindex)  {    struct route_table *table;    struct route_node *rn; @@ -3565,7 +3565,7 @@ rib_add_ipv6_multipath (struct prefix *p, struct rib *rib, safi_t safi,  int  rib_delete_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p, -		 struct in6_addr *gate, unsigned int ifindex, vrf_id_t vrf_id, +		 struct in6_addr *gate, ifindex_t ifindex, vrf_id_t vrf_id,                   u_int32_t table_id, safi_t safi)  {    struct route_table *table; @@ -3702,7 +3702,7 @@ rib_delete_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p,  /* Add static route into static route configuration. */  int  static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate, -		 unsigned int ifindex, const char *ifname, u_char flags, +		 ifindex_t ifindex, const char *ifname, u_char flags,  		 u_short tag, u_char distance, struct zebra_vrf *zvrf)  {    struct route_node *rn; @@ -3798,7 +3798,7 @@ static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,  /* Delete static route from static route configuration. */  int  static_delete_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate, -		    unsigned int ifindex, u_short tag, u_char distance, +		    ifindex_t ifindex, u_short tag, u_char distance,                      struct zebra_vrf *zvrf)  {    struct route_node *rn; diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c index db3e5eaba1..1417824d07 100644 --- a/zebra/zebra_routemap.c +++ b/zebra/zebra_routemap.c @@ -252,7 +252,7 @@ route_match_interface (void *rule, struct prefix *prefix,  {    struct nh_rmap_obj *nh_data;    char *ifname = rule; -  unsigned int ifindex; +  ifindex_t ifindex;    if (type == RMAP_ZEBRA)      { diff --git a/zebra/zserv.c b/zebra/zserv.c index d625c02ff4..a1fe9bc188 100644 --- a/zebra/zserv.c +++ b/zebra/zserv.c @@ -1188,7 +1188,7 @@ zread_ipv4_add (struct zserv *client, u_short length, struct zebra_vrf *zvrf)    u_char nexthop_num;    u_char nexthop_type;    struct stream *s; -  unsigned int ifindex; +  ifindex_t ifindex;    safi_t safi;    int ret;  | 
