OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
local_sequence_number.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3
*/
4
5
#include "
bgp/extended-community/local_sequence_number.h
"
6
7
#include <stdio.h>
8
9
#include <algorithm>
10
#include <string>
11
12
13
using
std::copy;
14
using
std::string;
15
16
LocalSequenceNumber::LocalSequenceNumber
(uint32_t seq) {
17
data_
[0] =
BgpExtendedCommunityType::ExperimentalNonTransitive
;
18
data_
[1] =
BgpExtendedCommunityExperimentalNonTransitiveSubType::LocalSequenceNumber
;
19
put_value
(&
data_
[2], 4, seq);
20
}
21
22
LocalSequenceNumber::LocalSequenceNumber
(
const
bytes_type
&data) {
23
copy(data.begin(), data.end(),
data_
.begin());
24
}
25
26
uint32_t
LocalSequenceNumber::local_sequence_number
()
const
{
27
uint8_t data[
LocalSequenceNumber::kSize
];
28
copy(
data_
.begin(),
data_
.end(), &data[0]);
29
if
(data[0] ==
BgpExtendedCommunityType::ExperimentalNonTransitive
&&
30
data[1] ==
BgpExtendedCommunityExperimentalNonTransitiveSubType::LocalSequenceNumber
) {
31
uint32_t
num
=
get_value
(data + 2, 4);
32
return
num
;
33
}
34
return
0;
35
}
36
37
std::string
LocalSequenceNumber::ToString
() {
38
char
temp[50];
39
snprintf(temp,
sizeof
(temp),
"local_sequence_number:%u"
,
40
local_sequence_number
());
41
return
string(temp);
42
}
local_sequence_number.h
LocalSequenceNumber::kSize
static const int kSize
Definition:
local_sequence_number.h:18
get_value
static uint64_t get_value(const uint8_t *data, int size)
Definition:
parse_object.h:39
LocalSequenceNumber::bytes_type
boost::array< uint8_t, kSize > bytes_type
Definition:
local_sequence_number.h:19
LocalSequenceNumber::ToString
std::string ToString()
Definition:
local_sequence_number.cc:37
LocalSequenceNumber::LocalSequenceNumber
LocalSequenceNumber(uint32_t seq)
Definition:
local_sequence_number.cc:16
BgpExtendedCommunityType::ExperimentalNonTransitive
Definition:
types.h:17
BgpExtendedCommunityExperimentalNonTransitiveSubType::LocalSequenceNumber
Definition:
types.h:60
LocalSequenceNumber::local_sequence_number
uint32_t local_sequence_number() const
Definition:
local_sequence_number.cc:26
num
int num
Definition:
src/contrail-common/http/client/main.cc:13
LocalSequenceNumber::data_
bytes_type data_
Definition:
local_sequence_number.h:37
put_value
static void put_value(uint8_t *data, int size, uint64_t value)
Definition:
parse_object.h:55
contrail
controller
src
bgp
extended-community
local_sequence_number.cc
Generated by
1.8.5