FD.io VPP  v18.10-32-g1161dda
Vector Packet Processing
gbp_policy_dpo.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018 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 __GBP_POLICY_DPO_H__
17 #define __GBP_POLICY_DPO_H__
18 
19 #include <vnet/dpo/dpo.h>
20 
21 /**
22  * @brief
23  * The GBP FWD DPO. Used in the L3 path to select the correct EPG uplink
24  * based on the source EPG.
25  */
26 typedef struct gbp_policy_dpo_t_
27 {
28  /**
29  * The protocol of packets using this DPO
30  */
32 
33  /**
34  * EPG
35  */
37 
38  /**
39  * output sw_if_index
40  */
42 
43  /**
44  * number of locks.
45  */
47 
48  /**
49  * Stacked DPO on DVR of output interface
50  */
53 
54 extern void gbp_policy_dpo_add_or_lock (dpo_proto_t dproto,
55  epg_id_t epg,
56  u32 sw_if_index, dpo_id_t * dpo);
57 
59 
61 
62 /*
63  * fd.io coding-style-patch-verification: ON
64  *
65  * Local Variables:
66  * eval: (c-set-style "gnu")
67  * End:
68  */
69 
70 #endif
u16 epg_id_t
Definition: gbp_types.h:21
struct gbp_policy_dpo_t_ gbp_policy_dpo_t
The GBP FWD DPO.
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
gbp_policy_dpo_t * gbp_policy_dpo_get(index_t index)
enum dpo_type_t_ dpo_type_t
Common types of data-path objects New types can be dynamically added using dpo_register_new_type() ...
u32 sw_if_index
Definition: vxlan_gbp.api:39
epg_id_t gpd_epg
EPG.
unsigned int u32
Definition: types.h:88
u32 gpd_sw_if_index
output sw_if_index
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
Definition: dpo.h:168
The GBP FWD DPO.
unsigned short u16
Definition: types.h:57
dpo_type_t gbp_policy_dpo_get_type(void)
u16 gpd_locks
number of locks.
void gbp_policy_dpo_add_or_lock(dpo_proto_t dproto, epg_id_t epg, u32 sw_if_index, dpo_id_t *dpo)
dpo_id_t gpd_dpo
Stacked DPO on DVR of output interface.
dpo_proto_t gpd_proto
The protocol of packets using this DPO.