Pre-Submission Checklist

Type Of Change

Checklist:

Description

This is an attempt to fix the combination of the outbound/rr modules and tcp_accept_haproxy=yes. This combination is currently broken, as previously reported on the mailing list: https://www.mail-archive.com/sr-users@lists.kamailio.org/msg21854.html

The issue is that the destination address/port combo of the haproxy side is encoded into the flow token. When the rr module decodes the flow token and tries to look up the listening socket using find_si, it cannot be found, because it is given the destination address/port combo of the connection of the haproxy side, not the address/port combo that Kamailio is actually listening on.

This patch fixes the issue by encoding the bind_address of the socket the connection was received on into the flow token as the destination address. The source address remains unchanged, as it can be used to look up the TCP connection (with a minor patch to _tcpconn_find in tcp_main.c)

While I've done quite a bit of testing with this patchset, I find it difficult to oversee the full impact of this change in Kamailio's large codebase. Any feedback is welcome.


You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/4105

Commit Summary

File Changes

(2 files)

Patch Links:


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <kamailio/kamailio/pull/4105@github.com>