FD.io VPP  v17.10-9-gd594711
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 
30 
31 typedef struct fib_test_lb_bucket_t_ {
33 
34  union
35  {
36  struct
37  {
42  } label_o_adj;
43  struct
44  {
48  u8 ttl;
51  struct
52  {
55  u8 ttl;
57  } label_o_lb;
58  struct
59  {
61  } adj;
62  struct
63  {
64  index_t lb;
65  } lb;
66  struct
67  {
68  index_t adj;
69  } special;
70  };
72 
77 
78 typedef struct fib_test_rep_bucket_t_ {
80 
81  union
82  {
83  struct
84  {
89  } label_o_adj;
90  struct
91  {
93  } adj;
94  };
96 
97 
98 extern int fib_test_validate_rep_v(const replicate_t *rep,
99  u16 n_buckets,
100  va_list ap);
101 
102 extern int fib_test_validate_lb_v(const load_balance_t *lb,
103  u16 n_buckets,
104  va_list ap);
105 
108  u16 n_buckets,
109  ...);
110 
111 #endif
The FIB DPO provieds;.
Definition: replicate_dpo.h:54
struct fib_test_lb_bucket_t_::@127::@130 label_stack_o_adj
u32 mpls_label_t
A label value only, i.e.
Definition: packet.h:24
struct fib_test_lb_bucket_t_::@127::@134 special
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
adj_index_t adj
Definition: fib_test.h:41
The FIB DPO provieds;.
Definition: load_balance.h:84
mpls_eos_bit_t eos
Definition: fib_test.h:85
adj_index_t adj
Definition: fib_test.h:88
struct fib_test_lb_bucket_t_::@127::@131 label_o_lb
int fib_test_validate_rep_v(const replicate_t *rep, u16 n_buckets, va_list ap)
fib_test_rep_bucket_type_t type
Definition: fib_test.h:79
mpls_label_t label
Definition: fib_test.h:86
mpls_label_t label
Definition: fib_test.h:39
mpls_label_t label_stack[8]
Definition: fib_test.h:46
u32 fib_node_index_t
A typedef of a node index.
Definition: fib_types.h:28
u32 adj_index_t
An index for adjacencies.
Definition: adj_types.h:30
enum fib_test_lb_bucket_type_t_ fib_test_lb_bucket_type_t
fib_test_lb_bucket_type_t type
Definition: fib_test.h:32
int fib_test_validate_entry(fib_node_index_t fei, fib_forward_chain_type_t fct, u16 n_buckets,...)
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:73
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:21
struct fib_test_lb_bucket_t_::@127::@129 label_o_adj
int fib_test_validate_lb_v(const load_balance_t *lb, u16 n_buckets, va_list ap)
mpls_eos_bit_t eos
Definition: fib_test.h:38
enum mpls_eos_bit_t_ mpls_eos_bit_t