| From: |
| Kuniyuki Iwashima <kuniyu-AT-google.com> |
| To: |
| Andrew Lunn <andrew+netdev-AT-lunn.ch>, "David S . Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com> |
| Subject: |
| [PATCH v1 net-next 0/5] geneve: Allow binding UDP socket to a specific address. |
| Date: |
| Sat, 23 May 2026 06:16:23 +0000 |
| Message-ID: |
| <20260523061654.2767060-1-kuniyu@google.com> |
| Cc: |
| Simon Horman <horms-AT-kernel.org>, David Ahern <dsahern-AT-kernel.org>, Stephen Hemminger <stephen-AT-networkplumber.org>, Kuniyuki Iwashima <kuniyu-AT-google.com>, Kuniyuki Iwashima <kuni1840-AT-gmail.com>, netdev-AT-vger.kernel.org |
| Archive-link: |
| Article |
By default, a GENEVE device bind()s its underlying UDP socket(s) to
the IPv4 or IPv6 wildcard address because there is no way to specify
a specific local IP address to bind() to.
This prevents deploying multiple GENEVE devices on a multi-homed host
where each device should be isolated and bound to a different local IP
address on the same UDP port.
This series introduces two options to specify local IPv4 or IPv6
addresses for a GENEVE device.
The corresponding iproute2 patch is here:
https://lore.kernel.org/netdev/20260523061102.2762452-1-k...
Kuniyuki Iwashima (5):
geneve: Reuse ipv6_addr_type() result in geneve_nl2info().
geneve: Pass struct geneve_dev to geneve_create_sock().
geneve: Pass struct geneve_dev to geneve_find_sock().
geneve: Add dualstack flag to struct geneve_config.
geneve: Introduce IFLA_GENEVE_LOCAL and IFLA_GENEVE_LOCAL6.
drivers/net/geneve.c | 228 ++++++++++++++++++++++++++++-------
include/uapi/linux/if_link.h | 2 +
2 files changed, 186 insertions(+), 44 deletions(-)
--
2.54.0.746.g67dd491aae-goog