Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Revert "Fix instance method call in test/framework.py"
[vpp.git]
/
src
/
vnet
/
gre
/
interface.c
diff --git
a/src/vnet/gre/interface.c
b/src/vnet/gre/interface.c
index
0822cd7
..
6be934a
100644
(file)
--- a/
src/vnet/gre/interface.c
+++ b/
src/vnet/gre/interface.c
@@
-24,6
+24,7
@@
#include <vnet/adj/adj_midchain.h>
#include <vnet/adj/adj_nbr.h>
#include <vnet/mpls/mpls.h>
#include <vnet/adj/adj_midchain.h>
#include <vnet/adj/adj_nbr.h>
#include <vnet/mpls/mpls.h>
+#include <vnet/l2/l2_input.h>
static const char *gre_tunnel_type_names[] = GRE_TUNNEL_TYPE_NAMES;
static const char *gre_tunnel_type_names[] = GRE_TUNNEL_TYPE_NAMES;
@@
-127,7
+128,9
@@
gre_tunnel_from_fib_node (fib_node_t * node)
void
gre_tunnel_stack (adj_index_t ai)
{
void
gre_tunnel_stack (adj_index_t ai)
{
+ fib_forward_chain_type_t fib_fwd;
gre_main_t *gm = &gre_main;
gre_main_t *gm = &gre_main;
+ dpo_id_t tmp = DPO_INVALID;
ip_adjacency_t *adj;
gre_tunnel_t *gt;
u32 sw_if_index;
ip_adjacency_t *adj;
gre_tunnel_t *gt;
u32 sw_if_index;
@@
-135,7
+138,7
@@
gre_tunnel_stack (adj_index_t ai)
adj = adj_get (ai);
sw_if_index = adj->rewrite_header.sw_if_index;
adj = adj_get (ai);
sw_if_index = adj->rewrite_header.sw_if_index;
- if ((vec_len (gm->tunnel_index_by_sw_if_index) < sw_if_index) ||
+ if ((vec_len (gm->tunnel_index_by_sw_if_index) <
=
sw_if_index) ||
(~0 == gm->tunnel_index_by_sw_if_index[sw_if_index]))
return;
(~0 == gm->tunnel_index_by_sw_if_index[sw_if_index]))
return;
@@
-149,9
+152,7
@@
gre_tunnel_stack (adj_index_t ai)
return;
}
return;
}
- dpo_id_t tmp = DPO_INVALID;
- fib_forward_chain_type_t fib_fwd = (FIB_PROTOCOL_IP6 == adj->ia_nh_proto) ?
- FIB_FORW_CHAIN_TYPE_UNICAST_IP6 : FIB_FORW_CHAIN_TYPE_UNICAST_IP4;
+ fib_fwd = fib_forw_chain_type_from_fib_proto (gt->tunnel_dst.fp_proto);
fib_entry_contribute_forwarding (gt->fib_entry_index, fib_fwd, &tmp);
if (DPO_LOAD_BALANCE == tmp.dpoi_type)
fib_entry_contribute_forwarding (gt->fib_entry_index, fib_fwd, &tmp);
if (DPO_LOAD_BALANCE == tmp.dpoi_type)
@@
-280,7
+281,7
@@
vnet_gre_tunnel_add (vnet_gre_add_del_tunnel_args_t * a,
return VNET_API_ERROR_IF_ALREADY_EXISTS;
pool_get_aligned (gm->tunnels, t, CLIB_CACHE_LINE_BYTES);
return VNET_API_ERROR_IF_ALREADY_EXISTS;
pool_get_aligned (gm->tunnels, t, CLIB_CACHE_LINE_BYTES);
- memset (t, 0, sizeof (*t));
+
clib_
memset (t, 0, sizeof (*t));
/* Reconcile the real dev_instance and a possible requested instance */
u32 t_idx = t - gm->tunnels; /* tunnel index (or instance) */
/* Reconcile the real dev_instance and a possible requested instance */
u32 t_idx = t - gm->tunnels; /* tunnel index (or instance) */
@@
-422,7
+423,8
@@
vnet_gre_tunnel_delete (vnet_gre_add_del_tunnel_args_t * a,
vnet_sw_interface_set_flags (vnm, sw_if_index, 0 /* down */ );
/* make sure tunnel is removed from l2 bd or xconnect */
vnet_sw_interface_set_flags (vnm, sw_if_index, 0 /* down */ );
/* make sure tunnel is removed from l2 bd or xconnect */
- set_int_l2_mode (gm->vlib_main, vnm, MODE_L3, sw_if_index, 0, 0, 0, 0);
+ set_int_l2_mode (gm->vlib_main, vnm, MODE_L3, sw_if_index, 0,
+ L2_BD_PORT_TYPE_NORMAL, 0, 0);
gm->tunnel_index_by_sw_if_index[sw_if_index] = ~0;
if (t->type == GRE_TUNNEL_TYPE_L3)
gm->tunnel_index_by_sw_if_index[sw_if_index] = ~0;
if (t->type == GRE_TUNNEL_TYPE_L3)
@@
-604,7
+606,7
@@
create_gre_tunnel_command_fn (vlib_main_t * vm,
goto done;
}
goto done;
}
- memset (a, 0, sizeof (*a));
+
clib_
memset (a, 0, sizeof (*a));
a->is_add = is_add;
a->outer_fib_id = outer_fib_id;
a->tunnel_type = t_type;
a->is_add = is_add;
a->outer_fib_id = outer_fib_id;
a->tunnel_type = t_type;