Parse local address from socket info if remote addr is known
Summary: Add condition before InferConnInfo to parse the local address from socket information if missing when the remote address is known. Note that this most likely occurs for syscalls (i.e. connect) for which we are currently unable to trace the local IP using socket information from bpf.
Type of change: /kind feature
Test Plan: Existing E2E tests. Skaffolded to a cluster with kafka and redis demos deployed and inspected pem logs (added logs to print successfully inferred local IPs when remote IP is present). Ran standalone pem on a node with kafka/redis demos running and inspected logs.
Note that I've opted for an E2E test because writing a test case that reliably reproduces the conditions for inference has been tricky. We'd need to ensure that
- remote address is known while local IP is not
- short-lived processes/sockets don’t terminate or close before we check
/proc/[pid]/fd/[n] - connections are not bound to the loopback network interface