public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
* [PATCH 00/10] RFC: Preliminaries for using share IPv4 & IPv6 sockets
@ 2022-11-04  8:43 David Gibson
  2022-11-04  8:43 ` [PATCH 01/10] tcp: no v6 flag in ref David Gibson
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: David Gibson @ 2022-11-04  8:43 UTC (permalink / raw)
  To: passt-dev, Stefano Brivio; +Cc: David Gibson

We want to use the same sockets to listen on both IPv4 and IPv6
addresses (at least on Linux which allows this).  This isn't too
complicated conceptually, but to make it work we need to unify
handling of v4 and v6 connections more than we currently have.

This isn't really ready to go, but I'm posting for reference.  It's
divided into rather a lot of steps, because I kept hitting problems
and not being sure exactly what change had broken things.

Based on my earlier series making handling of IPv4 addresses endian
safer.

David Gibson (10):
  tcp: no v6 flag in ref
  tcp: Helper to encode IPv4-mapped IPv6 addresses
  tcp: Partially unify IPv4 and IPv6 paths in tcp_hash_match()
  tcp: Hash IPv4 and IPv4-mapped-IPv6 addresses the same
  tcp: Take tcp_hash_insert() address from struct tcp_conn
  tcp:  Unify IPv4 and IPv6 paths for hashing and matching
  tcp: Remove ugly address union from struct tcp_conn
  tcp: Unify initial sequence numbers for IPv4 and IPv6
  tcp: Have tcp_seq_init() take its parameters from struct tcp_conn
  tcp: Fix small error in tcp_seq_init() time handling

 siphash.c    |   2 +
 tcp.c        | 202 ++++++++++++++++++---------------------------------
 tcp.h        |   1 -
 tcp_splice.c |  13 ++--
 util.c       |  33 +++++++++
 util.h       |   2 +
 6 files changed, 116 insertions(+), 137 deletions(-)

-- 
2.38.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-11-08  1:02 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-04  8:43 [PATCH 00/10] RFC: Preliminaries for using share IPv4 & IPv6 sockets David Gibson
2022-11-04  8:43 ` [PATCH 01/10] tcp: no v6 flag in ref David Gibson
2022-11-07 18:07   ` Stefano Brivio
2022-11-08  0:35     ` David Gibson
2022-11-04  8:43 ` [PATCH 02/10] tcp: Helper to encode IPv4-mapped IPv6 addresses David Gibson
2022-11-07 18:08   ` Stefano Brivio
2022-11-08  0:46     ` David Gibson
2022-11-04  8:43 ` [PATCH 03/10] tcp: Partially unify IPv4 and IPv6 paths in tcp_hash_match() David Gibson
2022-11-07 18:08   ` Stefano Brivio
2022-11-08  0:51     ` David Gibson
2022-11-04  8:43 ` [PATCH 04/10] tcp: Hash IPv4 and IPv4-mapped-IPv6 addresses the same David Gibson
2022-11-04  8:43 ` [PATCH 05/10] tcp: Take tcp_hash_insert() address from struct tcp_conn David Gibson
2022-11-04  8:43 ` [PATCH 06/10] tcp: Unify IPv4 and IPv6 paths for hashing and matching David Gibson
2022-11-04  8:43 ` [PATCH 07/10] tcp: Remove ugly address union from struct tcp_conn David Gibson
2022-11-07 18:08   ` Stefano Brivio
2022-11-08  0:54     ` David Gibson
2022-11-04  8:43 ` [PATCH 08/10] tcp: Unify initial sequence numbers for IPv4 and IPv6 David Gibson
2022-11-04  8:43 ` [PATCH 09/10] tcp: Have tcp_seq_init() take its parameters from struct tcp_conn David Gibson
2022-11-04  8:43 ` [PATCH 10/10] tcp: Fix small error in tcp_seq_init() time handling David Gibson
2022-11-07 18:08   ` Stefano Brivio
2022-11-08  0:59     ` David Gibson
2022-11-04  8:47 ` [PATCH 00/10] RFC: Preliminaries for using share IPv4 & IPv6 sockets Stefano Brivio

Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).