public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
* [PATCH 00/10] RFC: Unify and simplify tap send path
@ 2022-12-08  8:55 David Gibson
  2022-12-08  8:55 ` [PATCH 01/10] pcap: Introduce pcap_frame() helper David Gibson
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: David Gibson @ 2022-12-08  8:55 UTC (permalink / raw)
  To: Stefano Brivio, passt-dev; +Cc: David Gibson

Although we have an abstraction for the "slow path" (DHCP, NDP) guest
bound packets, the TCP and UDP forwarding paths write directly to the
tap fd.  However, it turns out how they send frames to the tap device
is more similar than it originally appears.

This series unifies the low-level tap send functions for TCP and UDP,
and makes some clean ups along the way.

David Gibson (10):
  pcap: Introduce pcap_frame() helper
  pcap: Replace pcapm() with pcap_multiple()
  tcp: Combine two parts of passt tap send path together
  tcp: Don't keep compute total bytes in a message until we need it
  tcp: Improve interface to tcp_l2_buf_flush()
  tcp: Combine two parts of pasta tap send path together
  tap, tcp: Move tap send path to tap.c
  tcp,tap: Use different io vector bases depending on tap type
  udp: Use tap_send_frames()
  tap: Improve handling of partial frame sends

 pcap.c |  78 ++++++++-----------------------
 pcap.h |   3 +-
 tap.c  | 108 ++++++++++++++++++++++++++++++++++++++++++
 tap.h  |   1 +
 tcp.c  | 145 +++++++++++++--------------------------------------------
 udp.c  | 145 +++------------------------------------------------------
 udp.h  |   2 +-
 7 files changed, 169 insertions(+), 313 deletions(-)

-- 
2.38.1


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

end of thread, other threads:[~2022-12-08  8:56 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-08  8:55 [PATCH 00/10] RFC: Unify and simplify tap send path David Gibson
2022-12-08  8:55 ` [PATCH 01/10] pcap: Introduce pcap_frame() helper David Gibson
2022-12-08  8:55 ` [PATCH 02/10] pcap: Replace pcapm() with pcap_multiple() David Gibson
2022-12-08  8:55 ` [PATCH 03/10] tcp: Combine two parts of passt tap send path together David Gibson
2022-12-08  8:55 ` [PATCH 04/10] tcp: Don't keep compute total bytes in a message until we need it David Gibson
2022-12-08  8:55 ` [PATCH 05/10] tcp: Improve interface to tcp_l2_buf_flush() David Gibson
2022-12-08  8:55 ` [PATCH 06/10] tcp: Combine two parts of pasta tap send path together David Gibson
2022-12-08  8:55 ` [PATCH 07/10] tap, tcp: Move tap send path to tap.c David Gibson
2022-12-08  8:55 ` [PATCH 08/10] tcp,tap: Use different io vector bases depending on tap type David Gibson
2022-12-08  8:55 ` [PATCH 09/10] udp: Use tap_send_frames() David Gibson
2022-12-08  8:55 ` [PATCH 10/10] tap: Improve handling of partial frame sends David Gibson

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).