summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Jakma <paul@quagga.net>2011-04-01 15:58:27 +0100
committerPaul Jakma <paul@quagga.net>2011-04-01 15:58:27 +0100
commit4a2035fd71990848017237838fe11bc1aeb41641 (patch)
tree6cc2abfc5b6e3dd51e71a42cae122c9b935a2f4f
parent7015b8a24965ce144296a791be816dc9bbeb477a (diff)
Revert "bgpd: "Intern" communities in route maps"
This reverts commit 2c9fd7e07283b8904ef20030c9dadb032e999b12.
-rw-r--r--bgpd/bgp_community.c7
-rw-r--r--bgpd/bgp_community.h1
-rw-r--r--bgpd/bgp_routemap.c8
3 files changed, 3 insertions, 13 deletions
diff --git a/bgpd/bgp_community.c b/bgpd/bgp_community.c
index 68383adf..ae1d7a15 100644
--- a/bgpd/bgp_community.c
+++ b/bgpd/bgp_community.c
@@ -292,13 +292,6 @@ community_com2str (struct community *com)
return str;
}
-/* Find an 'intern'ed community structure */
-struct community *
-community_lookup (struct community *com)
-{
- return (struct community *) hash_lookup (comhash, com);
-}
-
/* Intern communities attribute. */
struct community *
community_intern (struct community *com)
diff --git a/bgpd/bgp_community.h b/bgpd/bgp_community.h
index 78cbfe2b..bc1e56ef 100644
--- a/bgpd/bgp_community.h
+++ b/bgpd/bgp_community.h
@@ -70,6 +70,5 @@ extern int community_include (struct community *, u_int32_t);
extern void community_del_val (struct community *, u_int32_t *);
extern unsigned long community_count (void);
extern struct hash *community_hash (void);
-extern struct community *community_lookup (struct community *);
#endif /* _QUAGGA_BGP_COMMUNITY_H */
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index 2b05e898..81ff48db 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -1297,7 +1297,7 @@ route_set_community (void *rule, struct prefix *prefix,
new = community_dup (rcs->com);
/* will be interned by caller if required */
- attr->community = community_intern (new);
+ attr->community = new;
attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_COMMUNITIES);
}
@@ -1311,7 +1311,6 @@ route_set_community_compile (const char *arg)
{
struct rmap_com_set *rcs;
struct community *com = NULL;
- struct community *comint;
char *sp;
int additive = 0;
int none = 0;
@@ -1338,9 +1337,8 @@ route_set_community_compile (const char *arg)
return NULL;
}
- comint = community_intern (com);
rcs = XCALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (struct rmap_com_set));
- rcs->com = comint;
+ rcs->com = com;
rcs->additive = additive;
rcs->none = none;
@@ -1403,7 +1401,7 @@ route_set_community_delete (void *rule, struct prefix *prefix,
}
else
{
- binfo->attr->community = community_intern (new);
+ binfo->attr->community = new;
binfo->attr->flag |= ATTR_FLAG_BIT (BGP_ATTR_COMMUNITIES);
}
}