FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ip6_ioam_trace.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Cisco and/or its affiliates.
3  * trace_util.h -- Trace Profile Utility header
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef PLUGINS_IOAM_PLUGIN_IOAM_ENCAP_IP6_IOAM_TRACE_H_
19 #define PLUGINS_IOAM_PLUGIN_IOAM_ENCAP_IP6_IOAM_TRACE_H_
20 
23 
24 /* *INDENT-OFF* */
25 typedef CLIB_PACKED(struct {
27  ioam_trace_hdr_t trace_hdr;
28 }) ioam_trace_option_t;
29 /* *INDENT-ON* */
30 
31 always_inline void
32 ip6_hbh_ioam_trace_set_bit (ioam_trace_option_t * trace, u8 trace_bit)
33 {
34  ioam_trace_set_bit (&trace->trace_hdr, trace_bit);
35 }
36 
37 always_inline void
38 ip6_hbh_ioam_trace_reset_bit (ioam_trace_option_t * trace, u8 trace_bit)
39 {
40  ioam_trace_reset_bit (&trace->trace_hdr, trace_bit);
41 }
42 
43 #endif /* PLUGINS_IOAM_PLUGIN_IOAM_ENCAP_IP6_IOAM_TRACE_H_ */
44 
45 /*
46  * fd.io coding-style-patch-verification: ON
47  *
48  * Local Variables:
49  * eval: (c-set-style "gnu")
50  * End:
51  */
trace
static vlib_cli_command_t trace
(constructor) VLIB_CLI_COMMAND (trace)
Definition: vlib_api_cli.c:899
CLIB_PACKED
typedef CLIB_PACKED(struct { ip6_hop_by_hop_option_t hdr;ioam_trace_hdr_t trace_hdr;}) ioam_trace_option_t
ip6_hop_by_hop_packet.h
ip6_hop_by_hop_option_t
Definition: ip6_hop_by_hop_packet.h:29
ip6_hbh_ioam_trace_set_bit
static void ip6_hbh_ioam_trace_set_bit(ioam_trace_option_t *trace, u8 trace_bit)
Definition: ip6_ioam_trace.h:32
trace_util.h
always_inline
#define always_inline
Definition: rdma_mlx5dv.h:23
u8
unsigned char u8
Definition: types.h:56
ioam_trace_set_bit
static void ioam_trace_set_bit(ioam_trace_hdr_t *trace_hdr, u8 trace_bit)
Definition: trace_util.h:228
ioam_trace_reset_bit
static void ioam_trace_reset_bit(ioam_trace_hdr_t *trace_hdr, u8 trace_bit)
Definition: trace_util.h:234
ip6_hbh_ioam_trace_reset_bit
static void ip6_hbh_ioam_trace_reset_bit(ioam_trace_option_t *trace, u8 trace_bit)
Definition: ip6_ioam_trace.h:38