session: accept lcl ip updates on cl sessions 74/38174/3
authorFlorin Coras <fcoras@cisco.com>
Wed, 8 Feb 2023 17:47:54 +0000 (09:47 -0800)
committerFlorin Coras <fcoras@cisco.com>
Thu, 9 Feb 2023 05:32:34 +0000 (21:32 -0800)
Allow apps/vcl to provide updated local ips for dgrams. In particular,
allow sessions bound to 0/0 to send data with valid local ips.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I50a086b1c252731a32a15b6a181ad3dba0c687e0

src/vnet/session/session_node.c

index fd57f08..7a63071 100644 (file)
@@ -1101,6 +1101,8 @@ session_tx_fill_buffer (session_worker_t *wrk, session_tx_context_t *ctx,
          if (transport_connection_is_cless (ctx->tc))
            {
              ip_copy (&ctx->tc->rmt_ip, &hdr->rmt_ip, ctx->tc->is_ip4);
+             ip_copy (&ctx->tc->lcl_ip, &hdr->lcl_ip, ctx->tc->is_ip4);
+             /* Local port assumed to be bound, not overwriting it */
              ctx->tc->rmt_port = hdr->rmt_port;
            }
          hdr->data_offset += n_bytes_read;