packages/net/quagga/patches/000-upstream-afi_t_safi_t.patch

162 lines
4.4 KiB
Diff
Raw Normal View History

From 4c9641ba4df276080c670e03f65b1d442660a50f Mon Sep 17 00:00:00 2001
From: Michael Lambert <lambert@psc.edu>
Date: Thu, 22 Jul 2010 13:20:55 -0400
Subject: [PATCH] bgpd, lib: adopt afi_t and safi_t in several places
* bgpd/bgp_attr.c, bgpd/bgp_open.h, bgpd/bgp_route.c, lib/prefix.c,
lib/prefix.h: Various integer types were being used where, if we
had strict type checking, afi_t and safi_t would be required.
Signed-off-by: G.Balaji <balajig81@gmail.com>
(cherry picked from commit c8af35ffa2dc79ff7d7ff00b1b61f1f50a100ab6)
---
bgpd/bgp_attr.c | 8 ++++----
bgpd/bgp_open.h | 8 ++++----
bgpd/bgp_route.c | 16 ++++++++--------
lib/prefix.c | 4 ++--
lib/prefix.h | 4 ++--
5 files changed, 20 insertions(+), 20 deletions(-)
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -1301,8 +1301,8 @@ int
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 @@ bgp_mp_unreach_parse (struct peer *peer,
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;
--- a/bgpd/bgp_open.h
+++ b/bgpd/bgp_open.h
@@ -31,9 +31,9 @@ struct capability_header
/* 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 capability_as4
struct graceful_restart_af
{
- u_int16_t afi;
- u_char safi;
+ afi_t afi;
+ safi_t safi;
u_char flag;
};
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -3518,8 +3518,8 @@ bgp_static_update (struct bgp *bgp, stru
}
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 @@ bgp_check_local_routes_rsclient (struct
}
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 @@ bgp_pathlimit_update_parents (struct bgp
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 @@ bgp_static_set (struct vty *vty, struct
/* 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 @@ DEFUN (show_ipv6_mbgp_community_all,
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 @@ ALIAS (show_ipv6_mbgp_community_exact,
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;
--- a/lib/prefix.c
+++ b/lib/prefix.c
@@ -41,7 +41,7 @@ static const u_char maskbit[] = {0x00, 0
/* 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 @@ afi2family (int afi)
return 0;
}
-int
+afi_t
family2afi (int family)
{
if (family == AF_INET)
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -144,8 +144,8 @@ prefix6_bit (const struct in6_addr *pref
}
/* 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 *);