FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
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:1089
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
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
i
int i
Definition:
flowhash_template.h:376
src
plugins
nat
lib
lib.c
Generated on Sat Jan 8 2022 10:35:40 for FD.io VPP by
1.8.17