]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: entry->any is never true
authorDonald Sharp <sharpd@nvidia.com>
Fri, 2 Jun 2023 19:04:38 +0000 (15:04 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Mon, 5 Jun 2023 11:57:49 +0000 (07:57 -0400)
The only places entry->any could ever be set to true was
when str was NULL.  Unfortunately with the way our CLI works
str is impossible to be NonNULL.  The entry->any value *used*
to work prior to commit e961923c7217b935027107cad30c35c3907c936f
but it was changed back in 2016 and no-one has noticed the changed
ability.

Let's just admit that there are no users of this and remove this
dead code.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd/bgp_clist.c
bgpd/bgp_clist.h
bgpd/bgp_vty.c

index ac5cdd6acba532ae8fd221fcab0d40616401248e..f3c308afb9e3e0f7a66ce9c6ad7c96a46a7f26d0 100644 (file)
@@ -659,9 +659,6 @@ bool community_list_match(struct community *com, struct community_list *list)
        struct community_entry *entry;
 
        for (entry = list->head; entry; entry = entry->next) {
-               if (entry->any)
-                       return entry->direct == COMMUNITY_PERMIT;
-
                if (entry->style == COMMUNITY_LIST_STANDARD) {
                        if (community_include(entry->u.com, COMMUNITY_INTERNET))
                                return entry->direct == COMMUNITY_PERMIT;
@@ -681,9 +678,6 @@ bool lcommunity_list_match(struct lcommunity *lcom, struct community_list *list)
        struct community_entry *entry;
 
        for (entry = list->head; entry; entry = entry->next) {
-               if (entry->any)
-                       return entry->direct == COMMUNITY_PERMIT;
-
                if (entry->style == LARGE_COMMUNITY_LIST_STANDARD) {
                        if (lcommunity_match(lcom, entry->u.lcom))
                                return entry->direct == COMMUNITY_PERMIT;
@@ -705,9 +699,6 @@ bool lcommunity_list_exact_match(struct lcommunity *lcom,
        struct community_entry *entry;
 
        for (entry = list->head; entry; entry = entry->next) {
-               if (entry->any)
-                       return entry->direct == COMMUNITY_PERMIT;
-
                if (entry->style == LARGE_COMMUNITY_LIST_STANDARD) {
                        if (lcommunity_cmp(lcom, entry->u.lcom))
                                return entry->direct == COMMUNITY_PERMIT;
@@ -724,9 +715,6 @@ bool ecommunity_list_match(struct ecommunity *ecom, struct community_list *list)
        struct community_entry *entry;
 
        for (entry = list->head; entry; entry = entry->next) {
-               if (entry->any)
-                       return entry->direct == COMMUNITY_PERMIT;
-
                if (entry->style == EXTCOMMUNITY_LIST_STANDARD) {
                        if (ecommunity_match(ecom, entry->u.ecom))
                                return entry->direct == COMMUNITY_PERMIT;
@@ -746,9 +734,6 @@ bool community_list_exact_match(struct community *com,
        struct community_entry *entry;
 
        for (entry = list->head; entry; entry = entry->next) {
-               if (entry->any)
-                       return entry->direct == COMMUNITY_PERMIT;
-
                if (entry->style == COMMUNITY_LIST_STANDARD) {
                        if (community_include(entry->u.com, COMMUNITY_INTERNET))
                                return entry->direct == COMMUNITY_PERMIT;
@@ -781,28 +766,18 @@ struct community *community_list_match_delete(struct community *com,
                val = community_val_get(com, i);
 
                for (entry = list->head; entry; entry = entry->next) {
-                       if (entry->any) {
-                               if (entry->direct == COMMUNITY_PERMIT) {
-                                       com_index_to_delete[delete_index] = i;
-                                       delete_index++;
-                               }
-                               break;
-                       }
-
-                       else if ((entry->style == COMMUNITY_LIST_STANDARD)
-                                && (community_include(entry->u.com,
-                                                      COMMUNITY_INTERNET)
-                                    || community_include(entry->u.com, val))) {
+                       if ((entry->style == COMMUNITY_LIST_STANDARD) &&
+                           (community_include(entry->u.com,
+                                              COMMUNITY_INTERNET) ||
+                            community_include(entry->u.com, val))) {
                                if (entry->direct == COMMUNITY_PERMIT) {
                                        com_index_to_delete[delete_index] = i;
                                        delete_index++;
                                }
                                break;
-                       }
-
-                       else if ((entry->style == COMMUNITY_LIST_EXPANDED)
-                                && community_regexp_include(entry->reg, com,
-                                                            i)) {
+                       } else if ((entry->style == COMMUNITY_LIST_EXPANDED) &&
+                                  community_regexp_include(entry->reg, com,
+                                                           i)) {
                                if (entry->direct == COMMUNITY_PERMIT) {
                                        com_index_to_delete[delete_index] = i;
                                        delete_index++;
@@ -836,12 +811,6 @@ static bool community_list_dup_check(struct community_list *list,
                if (entry->direct != new->direct)
                        continue;
 
-               if (entry->any != new->any)
-                       continue;
-
-               if (entry->any)
-                       return true;
-
                switch (entry->style) {
                case COMMUNITY_LIST_STANDARD:
                        if (community_cmp(entry->u.com, new->u.com))
@@ -910,7 +879,6 @@ int community_list_set(struct community_list_handler *ch, const char *name,
        entry = community_entry_new();
        entry->direct = direct;
        entry->style = style;
-       entry->any = (str ? false : true);
        entry->u.com = com;
        entry->reg = regex;
        entry->seq = seqnum;
@@ -987,16 +955,8 @@ struct lcommunity *lcommunity_list_match_delete(struct lcommunity *lcom,
        for (i = 0; i < lcom->size; i++) {
                ptr = lcom->val + (i * LCOMMUNITY_SIZE);
                for (entry = list->head; entry; entry = entry->next) {
-                       if (entry->any) {
-                               if (entry->direct == COMMUNITY_PERMIT) {
-                                       com_index_to_delete[delete_index] = i;
-                                       delete_index++;
-                               }
-                               break;
-                       }
-
-                       else if ((entry->style == LARGE_COMMUNITY_LIST_STANDARD)
-                                && lcommunity_include(entry->u.lcom, ptr)) {
+                       if ((entry->style == LARGE_COMMUNITY_LIST_STANDARD) &&
+                           lcommunity_include(entry->u.lcom, ptr)) {
                                if (entry->direct == COMMUNITY_PERMIT) {
                                        com_index_to_delete[delete_index] = i;
                                        delete_index++;
@@ -1004,9 +964,10 @@ struct lcommunity *lcommunity_list_match_delete(struct lcommunity *lcom,
                                break;
                        }
 
-                       else if ((entry->style == LARGE_COMMUNITY_LIST_EXPANDED)
-                                && lcommunity_regexp_include(entry->reg, lcom,
-                                                             i)) {
+                       else if ((entry->style ==
+                                 LARGE_COMMUNITY_LIST_EXPANDED) &&
+                                lcommunity_regexp_include(entry->reg, lcom,
+                                                          i)) {
                                if (entry->direct == COMMUNITY_PERMIT) {
                                        com_index_to_delete[delete_index] = i;
                                        delete_index++;
@@ -1125,7 +1086,6 @@ int lcommunity_list_set(struct community_list_handler *ch, const char *name,
        entry = community_entry_new();
        entry->direct = direct;
        entry->style = style;
-       entry->any = (str ? false : true);
        entry->u.lcom = lcom;
        entry->reg = regex;
        entry->seq = seqnum;
@@ -1246,7 +1206,6 @@ int extcommunity_list_set(struct community_list_handler *ch, const char *name,
        entry = community_entry_new();
        entry->direct = direct;
        entry->style = style;
-       entry->any = false;
        if (ecom)
                entry->config = ecommunity_ecom2str(
                        ecom, ECOMMUNITY_FORMAT_COMMUNITY_LIST, 0);
index 7a9b28038c2c1ae5d5749fa6fde9f2e32cbd9c60..8e5d637babee0cf85fdb4e6e29d4df718245b175 100644 (file)
@@ -65,9 +65,6 @@ struct community_entry {
        /* Standard or expanded.  */
        uint8_t style;
 
-       /* Any match.  */
-       bool any;
-
        /* Sequence number. */
        int64_t seq;
 
index 04bdba13454bb26c7987e42468be464cabd51f70..7063bc26ab2e402ea5467b6914a0b7b83b812f50 100644 (file)
@@ -20863,16 +20863,13 @@ static const char *community_list_config_str(struct community_entry *entry)
 {
        const char *str;
 
-       if (entry->any)
-               str = "";
-       else {
-               if (entry->style == COMMUNITY_LIST_STANDARD)
-                       str = community_str(entry->u.com, false, false);
-               else if (entry->style == LARGE_COMMUNITY_LIST_STANDARD)
-                       str = lcommunity_str(entry->u.lcom, false, false);
-               else
-                       str = entry->config;
-       }
+       if (entry->style == COMMUNITY_LIST_STANDARD)
+               str = community_str(entry->u.com, false, false);
+       else if (entry->style == LARGE_COMMUNITY_LIST_STANDARD)
+               str = lcommunity_str(entry->u.lcom, false, false);
+       else
+               str = entry->config;
+
        return str;
 }
 
@@ -20895,13 +20892,8 @@ static void community_list_show(struct vty *vty, struct community_list *list)
                                                : "expanded",
                                        list->name);
                }
-               if (entry->any)
-                       vty_out(vty, "    %s\n",
-                               community_direct_str(entry->direct));
-               else
-                       vty_out(vty, "    %s %s\n",
-                               community_direct_str(entry->direct),
-                               community_list_config_str(entry));
+               vty_out(vty, "    %s %s\n", community_direct_str(entry->direct),
+                       community_list_config_str(entry));
        }
 }
 
@@ -21260,13 +21252,8 @@ static void lcommunity_list_show(struct vty *vty, struct community_list *list)
                                                : "expanded",
                                        list->name);
                }
-               if (entry->any)
-                       vty_out(vty, "    %s\n",
-                               community_direct_str(entry->direct));
-               else
-                       vty_out(vty, "    %s %s\n",
-                               community_direct_str(entry->direct),
-                               community_list_config_str(entry));
+               vty_out(vty, "    %s %s\n", community_direct_str(entry->direct),
+                       community_list_config_str(entry));
        }
 }
 
@@ -21562,13 +21549,8 @@ static void extcommunity_list_show(struct vty *vty, struct community_list *list)
                                                : "expanded",
                                        list->name);
                }
-               if (entry->any)
-                       vty_out(vty, "    %s\n",
-                               community_direct_str(entry->direct));
-               else
-                       vty_out(vty, "    %s %s\n",
-                               community_direct_str(entry->direct),
-                               community_list_config_str(entry));
+               vty_out(vty, "    %s %s\n", community_direct_str(entry->direct),
+                       community_list_config_str(entry));
        }
 }