Hello,
with edge release 25.3.2 linkerd changed the default for outbound-transport-mode to transport-header, which will result in all traffic between meshed proxies flowing on port 4143, rather than using the original destination port.
This change took us by surprise after updateing to 25.4.4, as network policies with filters on specific TCP-ports were blocking traffic between pods after the update. Another thing we’ve noticed after the update were a lot of linkerd-proxy log lines with messages like this (though this had no noticeable effect on the applications):
[105348.358590s] INFO ThreadId(01) inbound: linkerd_app_core::serve: Connection closed error=read header from client timeout client.addr=172.24.24.79:34950 server.addr=172.24.5.148:8080
I would like to better understand the motivation behind setting the default outbound transport mode now to ‘transport-header’, but I haven’t been able to find any documentation on the two different modes. Is outbound-transport-mode=tranparent now considered a legacy feature (as it appeared in discussions in feat(destination): introduce transport-protocol outbound TLS mode by sfleen · Pull Request #13699 · linkerd/linkerd2 · GitHub) or will this mode be available in the long term?
Thanks
Christian