Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
route.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-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 #ifndef __HICN_ROUTE__
17 #define __HICN_ROUTE__
18 
19 #include <vlib/vlib.h>
20 #include <vppinfra/error.h>
21 #include "hicn.h"
22 #include "faces/face.h"
23 
48 /*
49  * Adding each interface to the vrf hICN has the side effect that to ping you
50  * need to specify the vrf hICN in the command.
51  */
52 
53 extern fib_source_t hicn_fib_src;
54 
55 extern dpo_type_t udp_encap_dpo_types[FIB_PROTOCOL_MAX];
56 
64 int hicn_route_get_dpo (const fib_prefix_t *prefix, const dpo_id_t **hicn_dpo,
65  u32 *fib_index);
66 
73 int hicn_route_set_strategy (fib_prefix_t *prefix, u32 strategy_id);
74 
84 int ip_nh_add_helper (fib_protocol_t fib_proto, const fib_prefix_t *pfx,
85  ip46_address_t *nh, u32 sw_if);
86 
96 int ip_nh_del_helper (fib_protocol_t fib_proto, const fib_prefix_t *rpfx,
97  ip46_address_t *nh, u32 sw_if);
98 
109 int hicn_route_enable (fib_prefix_t *prefix);
110 
117 int hicn_route_disable (fib_prefix_t *prefix);
118 
119 /* Init route internal strustures */
120 void hicn_route_init ();
121 #endif /* //__HICN_ROUTE__ */
122 
123 /*
124  * fd.io coding-style-patch-verification: ON
125  *
126  * Local Variables: eval: (c-set-style "gnu") End:
127  */
hicn_route_enable
int hicn_route_enable(fib_prefix_t *prefix)
face.h
hicn_route_get_dpo
int hicn_route_get_dpo(const fib_prefix_t *prefix, const dpo_id_t **hicn_dpo, u32 *fib_index)
hicn.h
hicn_route_disable
int hicn_route_disable(fib_prefix_t *prefix)
ip_nh_del_helper
int ip_nh_del_helper(fib_protocol_t fib_proto, const fib_prefix_t *rpfx, ip46_address_t *nh, u32 sw_if)
ip_nh_add_helper
int ip_nh_add_helper(fib_protocol_t fib_proto, const fib_prefix_t *pfx, ip46_address_t *nh, u32 sw_if)
hicn_route_set_strategy
int hicn_route_set_strategy(fib_prefix_t *prefix, u32 strategy_id)
ip46_address_t
Definition: common.h:181