19 snprintf(repr,
sizeof(repr),
"OriginVnPath <code: %d, flags: %02x> : %zu",
29 static_cast<const OriginVnPathSpec &>(rhs).
origin_vns);
43 : ovnpath_db_(ovnpath_db) {
45 for (vector<uint64_t>::const_iterator it = spec.
origin_vns.begin();
48 put_value(value.data(), value.size(), *it);
76 for (OriginVnList::const_iterator it =
origin_vns_.begin();
83 if (origin_vn.
vn_index() == in_vn_index)
92 OriginVnList::const_iterator it1, it2;
int CompareTo(const OriginVnPath &rhs) const
OriginVnPathPtr Locate(OriginVnPath *attr)
virtual void ToCanonical(BgpAttr *attr)
#define KEY_COMPARE(x, y)
OriginVnPathPtr PrependAndLocate(const OriginVnPath *ovnpath, const OriginVnPath::OriginVnValue &value)
virtual size_t EncodeLength() const
boost::intrusive_ptr< const OriginVnPath > OriginVnPathPtr
virtual int CompareTo(const BgpAttribute &rhs) const
std::vector< uint64_t > origin_vns
OriginVnPathDB(BgpServer *server)
OriginVnPath(OriginVnPathDB *ovnpath_db)
virtual int CompareTo(const BgpAttribute &rhs_attr) const
virtual std::string ToString() const
bool Contains(const OriginVnValue &value) const
const bytes_type & GetExtCommunity() const
OriginVnPathDB * ovnpath_db_
void set_origin_vn_path(OriginVnPathPtr ovnpath)
void Prepend(const OriginVnValue &value)
boost::array< uint8_t, 8 > OriginVnValue
tbb::atomic< int > refcount_
static void put_value(uint8_t *data, int size, uint64_t value)