FD.io VPP  v18.01-8-g0eacf49
Vector Packet Processing
fib_test.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 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 __FIB_TEST_H__
17 #define __FIB_TEST_H__
18 
19 #include <vnet/fib/fib_types.h>
20 #include <vnet/mpls/mpls_types.h>
21 #include <vnet/fib/fib_types.h>
22 #include <vnet/mpls/packet.h>
23 #include <vnet/dpo/load_balance.h>
24 #include <vnet/adj/adj_types.h>
25 #include <vnet/dpo/replicate_dpo.h>
26 
40 
41 typedef struct fib_test_lb_bucket_t_ {
43 
44  union
45  {
46  struct
47  {
52  } label_o_adj;
53  struct
54  {
58  u8 ttl;
61  struct
62  {
65  u8 ttl;
67  } label_o_lb;
68  struct
69  {
71  } adj;
72  struct
73  {
74  index_t lb;
75  } lb;
76  struct
77  {
78  index_t adj;
79  } special;
80  struct
81  {
82  union {
85  };
86  } bier;
87  };
89 
95 
96 typedef struct fib_test_rep_bucket_t_ {
98 
99  union
100  {
101  struct
102  {
107  } label_o_adj;
108  struct
109  {
111  } adj;
112  };
114 
115 
116 extern int fib_test_validate_rep_v(const replicate_t *rep,
117  u16 n_buckets,
118  va_list *ap);
119 
120 extern int fib_test_validate_lb_v(const load_balance_t *lb,
121  u16 n_buckets,
122  va_list *ap);
123 
124 extern int fib_test_validate_lb(const dpo_id_t *dpo,
125  u16 n_buckets,
126  ...);
127 
130  int n_buckets,
131  ...);
132 
133 
134 #endif
struct fib_test_lb_bucket_t_::@141::@148 special
struct fib_test_lb_bucket_t_::@141::@145 label_o_lb
The FIB DPO provieds;.
Definition: replicate_dpo.h:54
int fib_test_validate_rep_v(const replicate_t *rep, u16 n_buckets, va_list *ap)
u32 mpls_label_t
A label value only, i.e.
Definition: packet.h:24
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
Definition: dpo.h:41
int fib_test_validate_lb(const dpo_id_t *dpo, u16 n_buckets,...)
struct fib_test_lb_bucket_t_::@141::@144 label_stack_o_adj
int fib_test_validate_lb_v(const load_balance_t *lb, u16 n_buckets, va_list *ap)
struct fib_test_lb_bucket_t_::@141::@143 label_o_adj
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
Definition: dpo.h:166
adj_index_t adj
Definition: fib_test.h:51
int fib_test_validate_entry(fib_node_index_t fei, fib_forward_chain_type_t fct, int n_buckets,...)
The FIB DPO provieds;.
Definition: load_balance.h:84
mpls_eos_bit_t eos
Definition: fib_test.h:103
fib_test_rep_bucket_type_t type
Definition: fib_test.h:97
mpls_label_t label
Definition: fib_test.h:104
mpls_label_t label
Definition: fib_test.h:49
mpls_label_t label_stack[8]
Definition: fib_test.h:56
u32 fib_node_index_t
A typedef of a node index.
Definition: fib_types.h:29
u32 adj_index_t
An index for adjacencies.
Definition: adj_types.h:30
struct fib_test_lb_bucket_t_::@141::@149 bier
enum fib_test_lb_bucket_type_t_ fib_test_lb_bucket_type_t
fib_test_lb_bucket_type_t type
Definition: fib_test.h:42
enum fib_forward_chain_type_t_ fib_forward_chain_type_t
FIB output chain type.
fib_test_rep_bucket_type_t_
Definition: fib_test.h:90
struct fib_test_lb_bucket_t_ fib_test_lb_bucket_t
struct fib_test_rep_bucket_t_ fib_test_rep_bucket_t
unsigned short u16
Definition: types.h:57
enum fib_test_rep_bucket_type_t_ fib_test_rep_bucket_type_t
unsigned char u8
Definition: types.h:56
fib_test_lb_bucket_type_t_
Definition: fib_test.h:27
mpls_eos_bit_t eos
Definition: fib_test.h:48
enum mpls_eos_bit_t_ mpls_eos_bit_t