diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/nat/in2out_ed.c | 10 | ||||
-rw-r--r-- | src/plugins/nat/nat_inlines.h | 9 | ||||
-rw-r--r-- | src/plugins/nat/out2in_ed.c | 33 |
3 files changed, 24 insertions, 28 deletions
diff --git a/src/plugins/nat/in2out_ed.c b/src/plugins/nat/in2out_ed.c index f0bb0f9aae7..2af0ba706fe 100644 --- a/src/plugins/nat/in2out_ed.c +++ b/src/plugins/nat/in2out_ed.c @@ -565,9 +565,7 @@ nat_not_translate_output_feature_fwd (snat_main_t * sm, ip4_header_t * ip, { if (ip->protocol == IP_PROTOCOL_TCP) { - if (nat44_set_tcp_session_state_i2o - (sm, now, s, b, thread_index)) - return 1; + nat44_set_tcp_session_state_i2o (sm, now, s, b, thread_index); } /* Accounting */ nat44_session_update_counters (s, now, @@ -1114,8 +1112,7 @@ nat44_ed_in2out_fast_path_node_fn_inline (vlib_main_t * vm, } vlib_increment_simple_counter (&sm->counters.fastpath.in2out_ed.tcp, thread_index, sw_if_index0, 1); - if (nat44_set_tcp_session_state_i2o (sm, now, s0, b0, thread_index)) - goto trace0; + nat44_set_tcp_session_state_i2o (sm, now, s0, b0, thread_index); } else if (!vnet_buffer (b0)->ip.reass.is_non_first_fragment && udp0->checksum) @@ -1400,8 +1397,7 @@ nat44_ed_in2out_slow_path_node_fn_inline (vlib_main_t * vm, } vlib_increment_simple_counter (&sm->counters.slowpath.in2out_ed.tcp, thread_index, sw_if_index0, 1); - if (nat44_set_tcp_session_state_i2o (sm, now, s0, b0, thread_index)) - goto trace0; + nat44_set_tcp_session_state_i2o (sm, now, s0, b0, thread_index); } else if (!vnet_buffer (b0)->ip.reass.is_non_first_fragment && udp0->checksum) diff --git a/src/plugins/nat/nat_inlines.h b/src/plugins/nat/nat_inlines.h index 3c6c84b3dbf..8f9be6f9d5c 100644 --- a/src/plugins/nat/nat_inlines.h +++ b/src/plugins/nat/nat_inlines.h @@ -309,10 +309,7 @@ nat44_delete_session (snat_main_t * sm, snat_session_t * ses, } } -/** \brief Set TCP session state. - @return 1 if session was closed, otherwise 0 -*/ -always_inline int +always_inline void nat44_set_tcp_session_state_i2o (snat_main_t * sm, f64 now, snat_session_t * ses, vlib_buffer_t * b, u32 thread_index) @@ -359,10 +356,9 @@ nat44_set_tcp_session_state_i2o (snat_main_t * sm, f64 now, } clib_dlist_remove (tsm->lru_pool, ses->lru_index); clib_dlist_addtail (tsm->lru_pool, ses->lru_head_index, ses->lru_index); - return 0; } -always_inline int +always_inline void nat44_set_tcp_session_state_o2i (snat_main_t * sm, f64 now, snat_session_t * ses, u8 tcp_flags, u32 tcp_ack_number, u32 tcp_seq_number, @@ -404,7 +400,6 @@ nat44_set_tcp_session_state_o2i (snat_main_t * sm, f64 now, } clib_dlist_remove (tsm->lru_pool, ses->lru_index); clib_dlist_addtail (tsm->lru_pool, ses->lru_head_index, ses->lru_index); - return 0; } always_inline u32 diff --git a/src/plugins/nat/out2in_ed.c b/src/plugins/nat/out2in_ed.c index 703c854834c..2f515d0f2f4 100644 --- a/src/plugins/nat/out2in_ed.c +++ b/src/plugins/nat/out2in_ed.c @@ -502,10 +502,9 @@ create_bypass_for_fwd (snat_main_t * sm, vlib_buffer_t * b, ip4_header_t * ip, if (ip->protocol == IP_PROTOCOL_TCP) { tcp_header_t *tcp = ip4_next_header (ip); - if (nat44_set_tcp_session_state_o2i - (sm, now, s, tcp->flags, tcp->ack_number, tcp->seq_number, - thread_index)) - return; + nat44_set_tcp_session_state_o2i (sm, now, s, tcp->flags, + tcp->ack_number, tcp->seq_number, + thread_index); } /* Accounting */ @@ -969,11 +968,14 @@ nat44_ed_out2in_fast_path_node_fn_inline (vlib_main_t * vm, } vlib_increment_simple_counter (&sm->counters.fastpath.out2in_ed.tcp, thread_index, sw_if_index0, 1); - if (nat44_set_tcp_session_state_o2i - (sm, now, s0, vnet_buffer (b0)->ip.reass.icmp_type_or_tcp_flags, - vnet_buffer (b0)->ip.reass.tcp_ack_number, - vnet_buffer (b0)->ip.reass.tcp_seq_number, thread_index)) - goto trace0; + nat44_set_tcp_session_state_o2i (sm, now, s0, + vnet_buffer (b0)->ip. + reass.icmp_type_or_tcp_flags, + vnet_buffer (b0)->ip. + reass.tcp_ack_number, + vnet_buffer (b0)->ip. + reass.tcp_seq_number, + thread_index); } else if (!vnet_buffer (b0)->ip.reass.is_non_first_fragment && udp0->checksum) @@ -1291,11 +1293,14 @@ nat44_ed_out2in_slow_path_node_fn_inline (vlib_main_t * vm, } vlib_increment_simple_counter (&sm->counters.slowpath.out2in_ed.tcp, thread_index, sw_if_index0, 1); - if (nat44_set_tcp_session_state_o2i - (sm, now, s0, vnet_buffer (b0)->ip.reass.icmp_type_or_tcp_flags, - vnet_buffer (b0)->ip.reass.tcp_ack_number, - vnet_buffer (b0)->ip.reass.tcp_seq_number, thread_index)) - goto trace0; + nat44_set_tcp_session_state_o2i (sm, now, s0, + vnet_buffer (b0)->ip. + reass.icmp_type_or_tcp_flags, + vnet_buffer (b0)->ip. + reass.tcp_ack_number, + vnet_buffer (b0)->ip. + reass.tcp_seq_number, + thread_index); } else if (!vnet_buffer (b0)->ip.reass.is_non_first_fragment && udp0->checksum) |