FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
b
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
Functions
d
f
g
l
m
n
o
p
t
v
Variables
Typedefs
Enumerations
Enumerator
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
c
e
g
h
k
m
n
o
r
s
Related Functions
c
d
e
h
i
m
o
p
r
s
v
Source
Files
Symbols
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
ra_prefix.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 Cisco and/or its affiliates.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at:
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
16
#ifndef __VOM_RA_PREFIX_H__
17
#define __VOM_RA_PREFIX_H__
18
19
#include "
vom/prefix.hpp
"
20
21
#include <vapi/ip6_nd.api.vapi.hpp>
22
23
namespace
VOM
{
24
/**
25
* A representation of RA prefix configuration on given interface
26
*/
27
class
ra_prefix
28
{
29
public
:
30
/**
31
* Construct a new object matching the desried state
32
*/
33
ra_prefix
(
const
route::prefix_t
& pfx,
34
uint8_t use_default,
35
uint8_t no_advertise,
36
uint32_t val_lifetime,
37
uint32_t pref_lifetime);
38
39
/**
40
* Copy Constructor
41
*/
42
ra_prefix
(
const
ra_prefix
& o) =
default
;
43
44
/**
45
* Destructor
46
*/
47
~ra_prefix
() =
default
;
48
49
/**
50
* convert to string format for debug purposes
51
*/
52
std::string
to_string
()
const
;
53
54
/**
55
* Return the prefix associated with this ra prefix
56
*/
57
const
route::prefix_t
&
prefix
()
const
;
58
59
/**
60
* Comparison operator - only used for UT
61
*/
62
bool
operator==
(
const
ra_prefix
&
ra_prefix
)
const
;
63
64
/**
65
* Convert the ra prefix configuration to Vpp Api
66
*/
67
void
to_vpp
(vapi_payload_sw_interface_ip6nd_ra_prefix&
ra_prefix
)
const
;
68
69
private
:
70
/**
71
* The prefix to be advertised.
72
*/
73
route::prefix_t
m_pfx;
74
75
/**
76
* Revert to default settings.
77
*/
78
uint8_t m_use_default;
79
80
/**
81
* Do not send full router address in prefix advertisement.
82
* Default is to advertise.
83
*/
84
uint8_t m_no_advertise;
85
86
/**
87
* Prefix is off-link. Default is on-link.
88
*/
89
uint8_t m_off_link;
90
91
/**
92
* Do not use prefix for autoconfiguration.
93
* Default is autoconfig.
94
*/
95
uint8_t m_no_autoconfig;
96
97
/**
98
* Do not use prefix for onlink determination.
99
* Default is on-link (this flag is off).
100
*/
101
uint8_t m_no_onlink;
102
103
/**
104
* <valid-lifetime>' is the length of time in seconds during what
105
* the prefix is valid for the purpose of on-link determination.
106
*
107
* Range is 7203 to 2592000 seconds and default is 2592000 seconds.
108
* A value of all one bits (0xffffffff) represents infinity (no
109
* timeout).
110
*/
111
uint32_t m_val_lifetime;
112
113
/**
114
* '<pref-lifetime>' is the prefered-lifetime and is the length of
115
* time in seconds during what addresses generated from the prefix
116
* remain preferred.
117
*
118
* Range is 0 to 604800 seconds and default is 604800 seconds.
119
* A value of all one bits (0xffffffff) represents infinity (no
120
* timeout).
121
*/
122
uint32_t m_pref_lifetime;
123
};
124
};
125
126
/*
127
* fd.io coding-style-patch-verification: OFF
128
*
129
* Local Variables:
130
* eval: (c-set-style "mozilla")
131
* End:
132
*/
133
134
#endif
VOM::route::prefix_t
A prefix defintion.
Definition:
prefix.hpp:131
VOM
The VPP Object Model (VOM) library.
Definition:
acl_binding.cpp:19
VOM::ra_prefix
A representation of RA prefix configuration on given interface.
Definition:
ra_prefix.hpp:27
VOM::ra_prefix::ra_prefix
ra_prefix(const route::prefix_t &pfx, uint8_t use_default, uint8_t no_advertise, uint32_t val_lifetime, uint32_t pref_lifetime)
Construct a new object matching the desried state.
Definition:
ra_prefix.cpp:22
VOM::ra_prefix::operator==
bool operator==(const ra_prefix &ra_prefix) const
Comparison operator - only used for UT.
Definition:
ra_prefix.cpp:53
VOM::ra_prefix::prefix
const route::prefix_t & prefix() const
Return the prefix associated with this ra prefix.
Definition:
ra_prefix.cpp:75
VOM::ra_prefix::to_string
std::string to_string() const
convert to string format for debug purposes
Definition:
ra_prefix.cpp:62
prefix.hpp
VOM::ra_prefix::~ra_prefix
~ra_prefix()=default
Destructor.
VOM::ra_prefix::to_vpp
void to_vpp(vapi_payload_sw_interface_ip6nd_ra_prefix &ra_prefix) const
Convert the ra prefix configuration to Vpp Api.
Definition:
ra_prefix.cpp:39
string
const char *const string
Definition:
cJSON.h:172
extras
deprecated
vom
vom
ra_prefix.hpp
Generated on Sat Jan 8 2022 10:03:19 for FD.io VPP by
1.8.17