ip_lookup_main_t *lm6 = &im6->lookup_main;
ip_interface_address_t *ia = 0;
- /* *INDENT-OFF* */
foreach_ip_interface_address (lm6, ia, sw_if_index, 0,
({
addr = ip_interface_address_get_address (lm6, ia);
if (0 == ip6_address_compare (addr, &ip6_addr))
return 1;
}));
- /* *INDENT-ON* */
return 0;
}
daddr.ip4.as_u32 = ste->out_r_addr.as_u32;
bibe = 0;
- /* *INDENT-OFF* */
vec_foreach (db, nm->db)
{
bibe = nat64_db_bib_entry_find (db, &daddr, dport, proto, 0, 0);
if (bibe)
break;
}
- /* *INDENT-ON* */
if (!bibe)
return -1;
daddr.ip4.as_u32 = bibe->out_addr.as_u32;
ste = 0;
- /* *INDENT-OFF* */
vec_foreach (db, nm->db)
{
ste = nat64_db_st_entry_find (db, &saddr, &daddr, sport, dport, proto,
if (ste)
break;
}
- /* *INDENT-ON* */
if (!ste)
return -1;
daddr.ip4.as_u32 = ste->out_r_addr.as_u32;
bibe = 0;
- /* *INDENT-OFF* */
vec_foreach (db, nm->db)
{
bibe = nat64_db_bib_entry_find (db, &daddr, 0, proto, 0, 0);
if (bibe)
break;
}
- /* *INDENT-ON* */
if (!bibe)
return -1;
return nat64_in2out_node_fn_inline (vm, node, frame, 0);
}
-/* *INDENT-OFF* */
VLIB_REGISTER_NODE (nat64_in2out_node) = {
.name = "nat64-in2out",
.vector_size = sizeof (u32),
[NAT64_IN2OUT_NEXT_SLOWPATH] = "nat64-in2out-slowpath",
},
};
-/* *INDENT-ON* */
VLIB_NODE_FN (nat64_in2out_slowpath_node) (vlib_main_t * vm,
vlib_node_runtime_t * node,
return nat64_in2out_node_fn_inline (vm, node, frame, 1);
}
-/* *INDENT-OFF* */
VLIB_REGISTER_NODE (nat64_in2out_slowpath_node) = {
.name = "nat64-in2out-slowpath",
.vector_size = sizeof (u32),
[NAT64_IN2OUT_NEXT_SLOWPATH] = "nat64-in2out-slowpath",
},
};
-/* *INDENT-ON* */
typedef struct nat64_in2out_frag_set_ctx_t_
{
return frame->n_vectors;
}
-/* *INDENT-OFF* */
VLIB_REGISTER_NODE (nat64_in2out_handoff_node) = {
.name = "nat64-in2out-handoff",
.vector_size = sizeof (u32),
[0] = "error-drop",
},
};
-/* *INDENT-ON* */
/*
* fd.io coding-style-patch-verification: ON