5 #ifndef SRC_BGP_COMMUNITY_H_
6 #define SRC_BGP_COMMUNITY_H_
8 #include <boost/array.hpp>
9 #include <boost/intrusive_ptr.hpp>
10 #include <boost/system/error_code.hpp>
11 #include <tbb/atomic.h>
38 if (ret != 0)
return ret;
44 virtual std::string
ToString()
const;
83 void Append(uint32_t value);
94 return ccomm->
refcount_.fetch_and_increment();
98 return ccomm->
refcount_.fetch_and_decrement();
102 int prev = ccomm->
refcount_.fetch_and_decrement();
120 CommunitySpec, CommunityCompare,
128 const std::vector<uint32_t> &value);
130 const std::vector<uint32_t> &value);
132 const std::vector<uint32_t> &value);
149 virtual std::string
ToString()
const;
193 boost::system::error_code *errorp);
290 std::copy(val.begin(), val.end(), &data[0]);
394 for (ExtCommunityList::const_iterator iter = comm.
communities_.begin();
396 boost::hash_range(hash, iter->begin(), iter->end());
433 return cextcomm->
refcount_.fetch_and_increment();
437 return cextcomm->
refcount_.fetch_and_decrement();
441 int prev = cextcomm->
refcount_.fetch_and_decrement();
541 virtual std::string
ToString()
const;
595 const std::string &comm);
599 boost::system::error_code *errorp);
604 for (LargeCommunityList::const_iterator iter =
607 boost::hash_range(hash, iter->begin(), iter->end());
657 return clargecomm->
refcount_.fetch_and_increment();
662 return clargecomm->
refcount_.fetch_and_decrement();
668 int prev = clargecomm->
refcount_.fetch_and_decrement();
693 LargeCommunityCompare,
#define BGP_RTGT_MAX_ID_AS2
#define BGP_RTGT_MIN_ID_AS2
#define BGP_RTGT_MIN_ID_AS4
#define BGP_RTGT_MAX_ID_AS4
virtual int CompareTo(const BgpAttribute &rhs) const
static uint64_t get_value(const uint8_t *data, int size)
#define KEY_COMPARE(x, y)