Hello,<div><br></div><div>I have a set up where there are multiple short lived containers (sharing the same IP address) in a host. </div><div><br></div><div>When a TCP connection is established from the container to an outside host (in a different network in the LAN), the connection establishment takes a long time (around 3 secs). </div>
<div><br></div><div>The containers use veth type interface via a bridge device in the physical host with dynamic ethernet addresses. The containers also have a gateway configured.</div><div><br></div><div>tcpdump shows that the ethernet address in the TCP SYN+ACK reply does not match with the source ethernet address (auto generated address of the veth device inside the container) that was sent in the initial TCP SYN request.</div>
<div><br></div><div>This connection then times out and then a second attempt is made to connect to the external host which succeeds.</div><div><br></div><div>I am suspecting that since multiple containers have different (generated) ethernet addresses, the initial reply contains the eth address of once of the previous containers that established connection. (some kind of arp caching). Is this possible?</div>
<div><br></div><div>Are there any work arounds for this?</div><div><br></div><div>One option I am considering is to specify a fixed hwaddr via the conf. </div><div><br></div><div>Will multiple containers having same IP and ethernet address work? In that case how will the packets be routed to the correct container? Will bridge device take care of this?</div>
<div><br></div><div>Thanks,</div><div>Arun</div><div><br></div>