NAT: TCP MSS clamping
[vpp.git] / src / plugins / nat / dslite_in2out.c
index 991d6ed..8f5a0c0 100644 (file)
@@ -103,8 +103,7 @@ slow_path (dslite_main_t * dm, dslite_session_key_t * in2out_key,
       clib_bihash_add_del_8_8 (&dm->per_thread_data[thread_index].out2in,
                               &out2in_kv, 0);
       snat_free_outside_address_and_port (dm->addr_pool, thread_index,
-                                         &s->out2in,
-                                         s->outside_address_index);
+                                         &s->out2in);
       s->outside_address_index = ~0;
 
       if (snat_alloc_outside_address_and_port
@@ -378,6 +377,7 @@ dslite_in2out_node_fn_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
              sum0 =
                ip_csum_update (sum0, old_port0, new_port0, ip4_header_t,
                                length);
+             mss_clamping (&snat_main, tcp0, &sum0);
              tcp0->checksum = ip_csum_fold (sum0);
            }
          else