diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
index 3996afd..ae0dc88 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -1301,8 +1301,8 @@
 bgp_mp_reach_parse (struct peer *peer, bgp_size_t length, struct attr *attr,
 		    struct bgp_nlri *mp_update)
 {
-  u_int16_t afi;
-  u_char safi;
+  afi_t afi;
+  safi_t safi;
   bgp_size_t nlri_len;
   size_t start;
   int ret;
@@ -1436,8 +1436,8 @@
 		      struct bgp_nlri *mp_withdraw)
 {
   struct stream *s;
-  u_int16_t afi;
-  u_char safi;
+  afi_t afi;
+  safi_t safi;
   u_int16_t withdraw_len;
   int ret;
 
diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h
index 59265dc..2b1382d 100644
--- a/bgpd/bgp_open.h
+++ b/bgpd/bgp_open.h
@@ -31,9 +31,9 @@
 /* Generic MP capability data */
 struct capability_mp_data
 {
-  u_int16_t afi;
+  afi_t afi;
   u_char reserved;
-  u_char safi;
+  safi_t safi;
 };
 
 #pragma pack(1)
@@ -55,8 +55,8 @@
 
 struct graceful_restart_af
 {
-  u_int16_t afi;
-  u_char safi;
+  afi_t afi;
+  safi_t safi;
   u_char flag;
 };
 
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index a92ca4e..2391f74 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -3518,8 +3518,8 @@
 }
 
 static void
-bgp_static_update_vpnv4 (struct bgp *bgp, struct prefix *p, u_int16_t afi,
-			 u_char safi, struct prefix_rd *prd, u_char *tag)
+bgp_static_update_vpnv4 (struct bgp *bgp, struct prefix *p, afi_t afi,
+			 safi_t safi, struct prefix_rd *prd, u_char *tag)
 {
   struct bgp_node *rn;
   struct bgp_info *new;
@@ -3599,8 +3599,8 @@
 }
 
 static void
-bgp_static_withdraw_vpnv4 (struct bgp *bgp, struct prefix *p, u_int16_t afi,
-			   u_char safi, struct prefix_rd *prd, u_char *tag)
+bgp_static_withdraw_vpnv4 (struct bgp *bgp, struct prefix *p, afi_t afi,
+			   safi_t safi, struct prefix_rd *prd, u_char *tag)
 {
   struct bgp_node *rn;
   struct bgp_info *ri;
@@ -3653,7 +3653,7 @@
    route should be installed as valid.  */
 static int
 bgp_static_set (struct vty *vty, struct bgp *bgp, const char *ip_str, 
-                u_int16_t afi, u_char safi, const char *rmap, int backdoor,
+                afi_t afi, safi_t safi, const char *rmap, int backdoor,
                 u_char ttl)
 {
   int ret;
@@ -3798,7 +3798,7 @@
 /* Configure static BGP network. */
 static int
 bgp_static_unset (struct vty *vty, struct bgp *bgp, const char *ip_str,
-		  u_int16_t afi, u_char safi)
+		  afi_t afi, safi_t safi)
 {
   int ret;
   struct prefix p;
@@ -7622,7 +7622,7 @@
 
 static int
 bgp_show_community (struct vty *vty, int argc, const char **argv, int exact,
-                    u_int16_t afi, u_char safi)
+                    afi_t afi, safi_t safi)
 {
   struct community *com;
   struct buffer *b;
@@ -8622,7 +8622,7 @@
 
 static int
 bgp_show_community_list (struct vty *vty, const char *com, int exact,
-			 u_int16_t afi, u_char safi)
+			 afi_t afi, safi_t safi)
 {
   struct community_list *list;
 
diff --git a/lib/prefix.c b/lib/prefix.c
index c85e659..7dc866d 100644
--- a/lib/prefix.c
+++ b/lib/prefix.c
@@ -41,7 +41,7 @@
 
 /* Address Famiy Identifier to Address Family converter. */
 int
-afi2family (int afi)
+afi2family (afi_t afi)
 {
   if (afi == AFI_IP)
     return AF_INET;
@@ -52,7 +52,7 @@
   return 0;
 }
 
-int
+afi_t
 family2afi (int family)
 {
   if (family == AF_INET)
diff --git a/lib/prefix.h b/lib/prefix.h
index a7598b7..5f1ff05 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -144,8 +144,8 @@
 }
 
 /* Prototypes. */
-extern int afi2family (int);
-extern int family2afi (int);
+extern int afi2family (afi_t);
+extern afi_t family2afi (int);
 
 extern struct prefix *prefix_new (void);
 extern void prefix_free (struct prefix *);
