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
lib.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 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
#include <
nat/lib/lib.h
>
17
18
uword
19
unformat_nat_protocol
(
unformat_input_t
*input, va_list *args)
20
{
21
u32
*
r
= va_arg (*args,
u32
*);
22
23
if
(0)
24
;
25
#define _(N, i, n, s) else if (unformat (input, s)) *r = NAT_PROTOCOL_##N;
26
foreach_nat_protocol
27
#undef _
28
else
return
0;
29
return
1;
30
}
31
32
u8
*
33
format_nat_protocol
(
u8
*s, va_list *args)
34
{
35
u32
i
= va_arg (*args,
u32
);
36
u8
*t = 0;
37
38
switch
(
i
)
39
{
40
#define _(N, j, n, str) \
41
case NAT_PROTOCOL_##N: \
42
t = (u8 *) str; \
43
break;
44
foreach_nat_protocol
45
#undef _
46
default : s =
format
(s,
"unknown"
);
47
return
s;
48
}
49
s =
format
(s,
"%s"
, t);
50
return
s;
51
}
52
53
/*
54
* fd.io coding-style-patch-verification: ON
55
*
56
* Local Variables:
57
* eval: (c-set-style "gnu")
58
* End:
59
*/
lib.h
NAT port/address allocation lib.
unformat_input_t
struct _unformat_input_t unformat_input_t
r
vnet_hw_if_output_node_runtime_t * r
Definition:
interface_output.c:1071
unformat_nat_protocol
uword unformat_nat_protocol(unformat_input_t *input, va_list *args)
Definition:
lib.c:19
foreach_nat_protocol
@ foreach_nat_protocol
Definition:
lib.h:66
uword
u64 uword
Definition:
types.h:112
format_nat_protocol
u8 * format_nat_protocol(u8 *s, va_list *args)
Definition:
lib.c:33
i
sll srl srl sll sra u16x4 i
Definition:
vector_sse42.h:261
format
description fragment has unexpected format
Definition:
map.api:433
u32
unsigned int u32
Definition:
types.h:88
u8
unsigned char u8
Definition:
types.h:56
src
plugins
nat
lib
lib.c
Generated on Sat Jan 8 2022 10:04:12 for FD.io VPP by
1.8.17