diff options
author | qinyang <qiny@yusur.tech> | 2023-06-27 01:11:53 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2023-07-21 16:27:14 +0000 |
commit | af9b7156c8fd16c671ce9332613faaf864b075b3 (patch) | |
tree | 201f45dacba23771db635c563b34315b6594d4af /src/vnet/session/session_api.c | |
parent | ae916b39049669bbada12dbcfecbb4e3f9c09c69 (diff) |
vcl: ldp support SO_ORIGINAL_DST
Type: improvement
Support SO_ORIGINAL_DST socket option to get original dst_ip4 and dst_port if nat44 rule enabled.
Change-Id: If00e00d03e48f3b78a23a68f1b078954d79dd0f7
Signed-off-by: qinyang <qiny@yusur.tech>
Diffstat (limited to 'src/vnet/session/session_api.c')
-rw-r--r-- | src/vnet/session/session_api.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c index 3e99938dd6b..3d70733ceb2 100644 --- a/src/vnet/session/session_api.c +++ b/src/vnet/session/session_api.c @@ -136,6 +136,13 @@ mq_send_session_accepted_cb (session_t * s) m.mq_index = s->thread_index; } + if (application_original_dst_is_enabled (app)) + { + session_get_original_dst (&m.lcl, &m.rmt, + session_get_transport_proto (s), + &m.original_dst_ip4, &m.original_dst_port); + } + app_wrk_send_ctrl_evt (app_wrk, SESSION_CTRL_EVT_ACCEPTED, &m, sizeof (m)); return 0; |