Hello,

Here is a patch to remove "u_int16_t neighas", an unused arguments from
community_ext_* functions.

Index: parse.y
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v
retrieving revision 1.298
diff -u -p -r1.298 parse.y
--- parse.y     22 Feb 2017 13:55:14 -0000      1.298
+++ parse.y     22 May 2017 18:52:27 -0000
@@ -848,7 +848,7 @@ rdomainopts : RD STRING {
                         * RD is almost encode like an ext-community,
                         * but only almost so convert here.
                         */
-                       if (community_ext_conv(&ext, 0, &rd)) {
+                       if (community_ext_conv(&ext, &rd)) {
                                yyerror("bad encoding of rd");
                                YYERROR;
                        }
Index: rde.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v
retrieving revision 1.361
diff -u -p -r1.361 rde.c
--- rde.c       25 Jan 2017 03:21:55 -0000      1.361
+++ rde.c       22 May 2017 18:52:27 -0000
@@ -2455,7 +2455,7 @@ rde_rdomain_import(struct rde_aspath *as
        struct filter_set       *s;
 
        TAILQ_FOREACH(s, &rd->import, entry) {
-               if (community_ext_match(asp, &s->action.ext_community, 0))
+               if (community_ext_match(asp, &s->action.ext_community))
                        return (1);
        }
        return (0);
Index: rde.h
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde.h,v
retrieving revision 1.160
diff -u -p -r1.160 rde.h
--- rde.h       25 Jan 2017 03:21:55 -0000      1.160
+++ rde.h       22 May 2017 18:52:27 -0000
@@ -379,12 +379,12 @@ int                community_large_set(struct rde_asp
 void            community_large_delete(struct rde_aspath *, int64_t,
                    int64_t, int64_t);
 int             community_ext_match(struct rde_aspath *,
-                   struct filter_extcommunity *, u_int16_t);
+                   struct filter_extcommunity *);
 int             community_ext_set(struct rde_aspath *,
-                   struct filter_extcommunity *, u_int16_t);
+                   struct filter_extcommunity *);
 void            community_ext_delete(struct rde_aspath *,
-                   struct filter_extcommunity *, u_int16_t);
-int             community_ext_conv(struct filter_extcommunity *, u_int16_t,
+                   struct filter_extcommunity *);
+int             community_ext_conv(struct filter_extcommunity *,
                    u_int64_t *);
 
 /* rde_decide.c */
Index: rde_attr.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_attr.c,v
retrieving revision 1.97
diff -u -p -r1.97 rde_attr.c
--- rde_attr.c  24 Jan 2017 04:22:42 -0000      1.97
+++ rde_attr.c  22 May 2017 18:52:27 -0000
@@ -974,7 +974,7 @@ aspath_lenmatch(struct aspath *a, enum a
  * Functions handling communities and extended communities.
  */
 
-int community_ext_matchone(struct filter_extcommunity *, u_int16_t, u_int64_t);
+int community_ext_matchone(struct filter_extcommunity *, u_int64_t);
 
 int
 community_match(struct rde_aspath *asp, int as, int type)
@@ -1115,8 +1115,7 @@ community_delete(struct rde_aspath *asp,
 }
 
 int
-community_ext_match(struct rde_aspath *asp, struct filter_extcommunity *c,
-    u_int16_t neighas)
+community_ext_match(struct rde_aspath *asp, struct filter_extcommunity *c)
 {
        struct attr     *attr;
        u_int8_t        *p;
@@ -1131,7 +1130,7 @@ community_ext_match(struct rde_aspath *a
        p = attr->data;
        for (len = attr->len / sizeof(ec); len > 0; len--) {
                memcpy(&ec, p, sizeof(ec));
-               if (community_ext_matchone(c, neighas, ec))
+               if (community_ext_matchone(c, ec))
                        return (1);
                p += sizeof(ec);
        }
@@ -1140,8 +1139,7 @@ community_ext_match(struct rde_aspath *a
 }
 
 int
-community_ext_set(struct rde_aspath *asp, struct filter_extcommunity *c,
-    u_int16_t neighas)
+community_ext_set(struct rde_aspath *asp, struct filter_extcommunity *c)
 {
        struct attr     *attr;
        u_int8_t        *p = NULL;
@@ -1149,7 +1147,7 @@ community_ext_set(struct rde_aspath *asp
        unsigned int     i, ncommunities = 0;
        u_int8_t         f = ATTR_OPTIONAL|ATTR_TRANSITIVE;
 
-       if (community_ext_conv(c, neighas, &community))
+       if (community_ext_conv(c, &community))
                return (0);
 
        attr = attr_optget(asp, ATTR_EXT_COMMUNITIES);
@@ -1188,8 +1186,7 @@ community_ext_set(struct rde_aspath *asp
 }
 
 void
-community_ext_delete(struct rde_aspath *asp, struct filter_extcommunity *c,
-    u_int16_t neighas)
+community_ext_delete(struct rde_aspath *asp, struct filter_extcommunity *c)
 {
        struct attr     *attr;
        u_int8_t        *p, *n;
@@ -1197,7 +1194,7 @@ community_ext_delete(struct rde_aspath *
        u_int16_t        l, len = 0;
        u_int8_t         f;
 
-       if (community_ext_conv(c, neighas, &community))
+       if (community_ext_conv(c, &community))
                return;
 
        attr = attr_optget(asp, ATTR_EXT_COMMUNITIES);
@@ -1239,8 +1236,7 @@ community_ext_delete(struct rde_aspath *
 }
 
 int
-community_ext_conv(struct filter_extcommunity *c, u_int16_t neighas,
-    u_int64_t *community)
+community_ext_conv(struct filter_extcommunity *c, u_int64_t *community)
 {
        u_int64_t       com;
        u_int32_t       ip;
@@ -1278,8 +1274,7 @@ community_ext_conv(struct filter_extcomm
 }
 
 int
-community_ext_matchone(struct filter_extcommunity *c, u_int16_t neighas,
-    u_int64_t community)
+community_ext_matchone(struct filter_extcommunity *c, u_int64_t community)
 {
        u_int64_t       com, mask;
        u_int32_t       ip;
Index: rde_filter.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_filter.c,v
retrieving revision 1.80
diff -u -p -r1.80 rde_filter.c
--- rde_filter.c        24 Jan 2017 04:22:42 -0000      1.80
+++ rde_filter.c        22 May 2017 18:52:27 -0000
@@ -287,12 +287,10 @@ rde_apply_set(struct rde_aspath *asp, st
                        asp->origin = set->action.origin;
                        break;
                case ACTION_SET_EXT_COMMUNITY:
-                       community_ext_set(asp, &set->action.ext_community,
-                           peer->conf.remote_as);
+                       community_ext_set(asp, &set->action.ext_community);
                        break;
                case ACTION_DEL_EXT_COMMUNITY:
-                       community_ext_delete(asp, &set->action.ext_community,
-                           peer->conf.remote_as);
+                       community_ext_delete(asp, &set->action.ext_community);
                        break;
                }
        }
@@ -350,8 +348,7 @@ rde_filter_match(struct filter_rule *f, 
        }
        if (asp != NULL &&
            (f->match.ext_community.flags & EXT_COMMUNITY_FLAG_VALID))
-               if (community_ext_match(asp, &f->match.ext_community,
-                   peer->conf.remote_as) == 0)
+               if (community_ext_match(asp, &f->match.ext_community) == 0)
                        return (0);
        if (asp != NULL && f->match.large_community.as !=
            COMMUNITY_UNSET) {

Reply via email to