From 68d7c546fa7e6c801031f2922c9be067d64e0f59 Mon Sep 17 00:00:00 2001 From: Filip Varga Date: Mon, 21 Dec 2020 18:20:00 +0100 Subject: nat: refactor and split fo EI/ED features p.2 Patch n. 2 aimed at moving EI features out of NAT44 plugin & split of EI/ED functions. Type: refactor Change-Id: Ida20c1c084449b146344b6c3d8442f49efb6f3fa Signed-off-by: Filip Varga --- src/plugins/nat/nat44-ei/nat44_ei_in2out.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'src/plugins/nat/nat44-ei/nat44_ei_in2out.c') diff --git a/src/plugins/nat/nat44-ei/nat44_ei_in2out.c b/src/plugins/nat/nat44-ei/nat44_ei_in2out.c index 1c341318957..892518fff97 100644 --- a/src/plugins/nat/nat44-ei/nat44_ei_in2out.c +++ b/src/plugins/nat/nat44-ei/nat44_ei_in2out.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -130,10 +131,10 @@ snat_not_translate (snat_main_t * sm, vlib_node_runtime_t * node, ip4_address_t placeholder_addr; u16 placeholder_port; u32 placeholder_fib_index; - if (!snat_static_mapping_match - (sm, ip0->dst_address, udp0->dst_port, sm->outside_fib_index, - proto0, &placeholder_addr, &placeholder_port, - &placeholder_fib_index, 1, 0, 0, 0, 0, 0, 0)) + if (!nat44_ei_static_mapping_match (ip0->dst_address, udp0->dst_port, + sm->outside_fib_index, proto0, + &placeholder_addr, &placeholder_port, + &placeholder_fib_index, 1, 0, 0)) return 0; } else @@ -270,9 +271,9 @@ slow_path (snat_main_t * sm, vlib_buffer_t * b0, } /* First try to match static mapping by local address and port */ - if (snat_static_mapping_match - (sm, i2o_addr, i2o_port, rx_fib_index0, nat_proto, &sm_addr, - &sm_port, &sm_fib_index, 0, 0, 0, 0, 0, &identity_nat, 0)) + if (nat44_ei_static_mapping_match (i2o_addr, i2o_port, rx_fib_index0, + nat_proto, &sm_addr, &sm_port, + &sm_fib_index, 0, 0, &identity_nat)) { /* Try to create dynamic translation */ if (sm->alloc_addr_and_port ( @@ -592,9 +593,9 @@ icmp_match_in2out_fast (snat_main_t * sm, vlib_node_runtime_t * node, u16 sm_port; u32 sm_fib_index; - if (snat_static_mapping_match - (sm, *addr, *port, *fib_index, *proto, &sm_addr, &sm_port, - &sm_fib_index, 0, &is_addr_only, 0, 0, 0, 0, 0)) + if (nat44_ei_static_mapping_match (*addr, *port, *fib_index, *proto, + &sm_addr, &sm_port, &sm_fib_index, 0, + &is_addr_only, 0)) { if (PREDICT_FALSE (snat_not_translate_fast (sm, node, sw_if_index0, ip0, IP_PROTOCOL_ICMP, @@ -1831,9 +1832,9 @@ VLIB_NODE_FN (snat_in2out_fast_node) (vlib_main_t * vm, goto trace0; } - if (snat_static_mapping_match - (sm, ip0->src_address, udp0->src_port, rx_fib_index0, proto0, - &sm0_addr, &sm0_port, &sm0_fib_index, 0, 0, 0, 0, 0, 0, 0)) + if (nat44_ei_static_mapping_match ( + ip0->src_address, udp0->src_port, rx_fib_index0, proto0, + &sm0_addr, &sm0_port, &sm0_fib_index, 0, 0, 0)) { b0->error = node->errors[SNAT_IN2OUT_ERROR_NO_TRANSLATION]; next0 = SNAT_IN2OUT_NEXT_DROP; -- cgit 1.2.3-korg