Skip to content

Conversation

@nmeyerhans
Copy link
Contributor

Issue #, if available: #97

Description of changes:

There's an expectation that containers on the docker0 bridge can communicate with the host on its primary interface's address. The practical way to accomplish that, without knowing additional information about the additional interfaces and/or prefixes involved, is to avoid creating a rule matching traffic from the primary interface's addresses and instead let the main table handle that traffic.

Routing traffic from the primary interface via the main table was in place prior to version 2.4.0, which regressed.

The tradeoff in fixing this is that traffic that specifically binds to one of device-number-0's addresses will be routed via the "wrong" table when trying to reach addresses reachable via a secondary ENI. The expected behavior in a VPC is that it it's routed via device-number-0, but according to entries in the main table it will be routed via the secondary ENI as the most direct path to the destination. This is consistent with Amazon Linux 2's routing behavior, and for that reason is considered desirable here as well.

Fixes: 0a57c62 ("Route configuration simplification")
Fixes: #97

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

There's an expectation that containers on the docker0 bridge can
communicate with the host on its primary interface's address.  The
practical way to accomplish that, without knowing additional
information about the additional interfaces and/or prefixes involved,
is to avoid creating a rule matching traffic from the primary
interface's addresses and instead let the main table handle that
traffic.

Routing traffic from the primary interface via the main table was in
place prior to version 2.4.0, which regressed.

The tradeoff in fixing this is that traffic that specifically binds to
one of device-number-0's addresses will be routed via the "wrong"
table when trying to reach addresses reachable via a secondary ENI.
The expected behavior in a VPC is that it it's routed via
device-number-0, but according to entries in the main table it will be
routed via the secondary ENI as the most direct path to the
destination.  This is consistent with Amazon Linux 2's routing
behavior, and for that reason is considered desirable here as well.

Fixes: 0a57c62 ("Route configuration simplification")
Fixes: amazonlinux#97
@nmeyerhans nmeyerhans merged commit 7d61595 into amazonlinux:main Oct 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2.4.0-1.amzn2023.0.1 breaks docker connectivity inside host

3 participants