-
6b22e10a26
tap: make tap_update_mac() generic
Laurent Vivier
2024-03-06 16:58:37 +11:00
-
7df624e79a
checksum: introduce functions to compute the header part checksum for TCP/UDP
Laurent Vivier
2024-03-06 16:58:36 +11:00
-
feb4900c25
checksum: use csum_ip4_header() in udp.c and tcp.c
Laurent Vivier
2024-03-06 16:58:35 +11:00
-
e82b4fe5fc
udp: little cleanup in udp_update_hdrX() to prepare future changes
Laurent Vivier
2024-03-06 16:58:34 +11:00
-
324bd46782
util: move IP stuff from util.[ch] to ip.[ch]
Laurent Vivier
2024-03-06 16:58:33 +11:00
-
e289d287c6
checksum: add csum_iov()
Laurent Vivier
2024-03-06 16:58:32 +11:00
-
907621eaae
checksum: align buffers
Laurent Vivier
2024-03-06 16:58:31 +11:00
-
94502fa15e
pcap: add pcap_iov()
Laurent Vivier
2024-03-06 16:58:30 +11:00
-
3b9098aa49
fwd: Rename port_fwd.[ch] and their contents
David Gibson
2024-02-28 22:25:20 +11:00
-
10376e7a2f
port_fwd: Fix copypasta error in port_fwd_scan_udp() comments
David Gibson
2024-02-28 22:25:19 +11:00
-
f15be719b3
tap: Disallow loopback addresses on tap interface
David Gibson
2024-02-28 22:25:18 +11:00
-
3b59b9748a
tcp: Validate TCP endpoint addresses
David Gibson
2024-02-28 22:25:17 +11:00
-
dc9a5d71e9
tcp, tcp_splice: Parse listening socket epoll ref in tcp_listen_handler()
David Gibson
2024-02-28 22:25:16 +11:00
-
ee677e0a42
tcp_splice: Improve logic deciding when to splice
David Gibson
2024-02-28 22:25:15 +11:00
-
4c2d923b12
tcp_splice: Improve error reporting on connect path
David Gibson
2024-02-28 22:25:14 +11:00
-
f0e2a6b8c9
tcp_splice: Make tcp_splice_connect() create its own sockets
David Gibson
2024-02-28 22:25:13 +11:00
-
f4e5d73684
tcp_splice: Merge tcp_splice_new() into its caller
David Gibson
2024-02-28 22:25:12 +11:00
-
04d3d02603
tcp_splice: More specific variable names in new splice path
David Gibson
2024-02-28 22:25:11 +11:00
-
0f938c3b9a
flow: Clarify flow entry life cycle, introduce uniform logging
David Gibson
2024-02-28 22:25:10 +11:00
-
d0550f97cd
tcp_splice: Don't use flow_trace() before setting flow type
David Gibson
2024-02-28 22:25:09 +11:00
-
80f9b61b50
tcp_splice: Simplify clean up logic
David Gibson
2024-02-28 22:25:08 +11:00
-
76c7e1dca3
flow: Add helper to determine a flow's protocol
David Gibson
2024-02-28 22:25:07 +11:00
-
bb9bf0bb8f
tcp, udp: Don't precompute port remappings in epoll references
David Gibson
2024-02-28 22:25:06 +11:00
-
e196eada6f
util: Allow IN4_IS_* macros to operate on untyped addresses
David Gibson
2024-02-28 22:25:05 +11:00
-
f6e6e8ad40
inany: Introduce union sockaddr_inany
David Gibson
2024-02-28 22:25:04 +11:00
-
0cf6b2d89d
inany: Provide more conveniently typed constants for special addresses
David Gibson
2024-02-28 22:25:03 +11:00
-
330b5db77d
inany: Add inany_ntop() helper
David Gibson
2024-02-28 22:25:02 +11:00
-
d31277e292
inany: Helper to test for various address types
David Gibson
2024-02-28 22:25:01 +11:00
-
9a3fb5eb68
tap: Use write_remainder() in tap_send_frames_passt()
David Gibson
2024-02-28 12:52:06 +11:00
-
dda7945ca9
pcap: Handle short writes in pcap_frame()
David Gibson
2024-02-28 12:52:04 +11:00
-
8bdb0883b4
util: Add write_remainder() helper
David Gibson
2024-02-28 12:52:03 +11:00
-
24410b37a4
pcap: Update pcap_frame() to take an iovec and offset
David Gibson
2024-02-28 12:52:02 +11:00
-
64b63d9e3e
iov: Add helper to find skip over first n bytes of an io vector
David Gibson
2024-02-28 12:52:01 +11:00
-
2a6f8bcca7
iov: add some functions to manage iovec
Laurent Vivier
2024-02-28 12:52:00 +11:00
-
90f1d3b354
udp: Remove unnecessary test for unspecified addr_out
David Gibson
2024-02-28 16:39:29 +11:00
-
745fa38169
udp: Fix incorrect usage of IPv6 state in IPv4 path
David Gibson
2024-02-28 16:39:28 +11:00
-
deea5a8437
udp: Small streamline to udp_update_hdr4()
David Gibson
2024-02-28 16:39:27 +11:00
-
bc2d0d381c
udp: Set pif in epoll reference for ephemeral host sockets
David Gibson
2024-02-28 16:39:26 +11:00
-
720d777a69
udp: Don't attempt to translate a 0.0.0.0 source address
David Gibson
2024-02-28 16:39:25 +11:00
-
bee61dd7d0
conf: If no interface with a default route was found, say it
Stefano Brivio
2024-02-27 17:25:54 +01:00
-
925af4ef82
Makefile: check for cppcheck's --check-level option in cppcheck target
Stefano Brivio
2024-02-27 17:02:27 +01:00
-
15001b39ef
conf: set the log level much earlier
Paul Holzinger
2024-02-22 18:17:41 +01:00
-
b08716551a
passt: make --quiet set the log level to warning
Paul Holzinger
2024-02-22 18:17:39 +01:00
-
e5e6f29459
tcp: Don't store errnos in socket pool
David Gibson
2024-02-19 18:56:51 +11:00
-
fe27ebce5c
tcp, tcp_splice: Helpers for getting sockets from the pools
David Gibson
2024-02-19 18:56:50 +11:00
-
fbe81decbd
tcp, tcp_splice: Issue warnings if unable to refill socket pool
David Gibson
2024-02-19 18:56:49 +11:00
-
554b3aefe7
tcp: Stop on first error when refilling socket pools
David Gibson
2024-02-19 18:56:48 +11:00
-
af303fdbff
tcp: Don't stop refilling socket pool if we find a filled entry
David Gibson
2024-02-19 18:56:47 +11:00
-
4e08d9b9c6
treewide: Use sa_family_t for address family variables
David Gibson
2024-02-19 18:56:46 +11:00
-
1e6f92b995
udp: Fix 16-bit overflow in udp_invert_portmap()
David Gibson
2024-02-20 13:48:24 +11:00
-
8954c4a91b
udp: Assertion in udp_invert_portmap() can be calculated at compile time
David Gibson
2024-02-20 13:48:23 +11:00
-
ff22a78d7b
pasta: Don't try to watch namespaces in procfs with inotify, use timer instead
Stefano Brivio
2024-02-17 13:41:39 +01:00
-
08344dacb1
selinux: Allow pasta to remount procfs
Stefano Brivio
2024-02-16 09:43:12 +01:00
-
338b6321ac
conf: No routable interface for IPv4 or IPv6 is informational, not a warning
Stefano Brivio
2024-02-15 23:41:59 +01:00
-
8f3f8e190c
pasta: Add fallback timer mechanism to check if namespace is gone
Stefano Brivio
2024-02-15 23:24:32 +01:00
-
f57a2fb4d5
conf, passt.1: Exit if we can't bind a forwarded port, except for -[tu] all
Stefano Brivio
2024-02-14 02:26:24 +01:00
-
927cb84fff
udp: udp_sock_init_ns() partially duplicats udp_port_rebind_outbound()
David Gibson
2024-02-12 17:06:58 +11:00
-
96ad5c5acd
udp: Don't prematurely (and incorrectly) set up automatic inbound forwards
David Gibson
2024-02-12 17:06:57 +11:00
-
9f57983886
netlink: Use const rtnh pointer
David Gibson
2024-02-12 15:05:28 +11:00
-
7ee4e17267
log: setlogmask(0) can actually result in a system call, don't use it
Stefano Brivio
2024-02-02 00:22:16 +01:00
-
78901eeae3
tcp: Fix subtle bug in fast re-transmit path
David Gibson
2024-02-07 23:57:21 +11:00
-
6c7623d07b
netlink: Add support to fetch default gateway from multipath routes
Stefano Brivio
2024-02-02 00:09:37 +01:00
-
322660b0b9
icmp: Dedicated functions for starting and closing ping sequences
David Gibson
2024-01-16 16:16:18 +11:00
-
b6a4e20aa6
icmp: Validate packets received on ping sockets
David Gibson
2024-01-16 16:16:17 +11:00
-
6e86511f59
icmp: Warn on receive errors from ping sockets
David Gibson
2024-01-16 16:16:16 +11:00
-
a325121759
icmp: Consolidate icmp_sock_handler() with icmpv6_sock_handler()
David Gibson
2024-01-16 16:16:15 +11:00
-
70d43f9c05
icmp: Share more between IPv4 and IPv6 paths in icmp_tap_handler()
David Gibson
2024-01-16 16:16:14 +11:00
-
15be1bfd81
icmp: Simplify socket expiry scanning
David Gibson
2024-01-16 16:16:13 +11:00
-
24badd0acf
icmp: Use -1 to represent "missing" sockets
David Gibson
2024-01-16 16:16:12 +11:00
-
43713af50e
icmp: Don't attempt to match host IDs to guest IDs
David Gibson
2024-01-16 16:16:11 +11:00
-
8534cdbfd1
icmp: Don't attempt to handle "wrong direction" ping socket traffic
David Gibson
2024-01-16 16:16:10 +11:00
-
2cb2fe6f89
icmp: Remove redundant initialisation of sendto() address
David Gibson
2024-01-16 16:16:09 +11:00
-
5dffb99892
icmp: Don't set "port" on destination sockaddr for ping sockets
David Gibson
2024-01-16 16:16:08 +11:00
-
8981a720aa
flow: Avoid moving flow entries to compact table
David Gibson
2024-01-16 11:50:43 +11:00
-
9c0881d4f6
flow: Enforce that freeing of closed flows must happen in deferred handlers
David Gibson
2024-01-16 11:50:42 +11:00
-
4a849e9526
flow: Abstract allocation of new flows with helper function
David Gibson
2024-01-16 11:50:41 +11:00
-
fb7c00169d
flow: Move flow_count from context structure to a global
David Gibson
2024-01-16 11:50:40 +11:00
-
7f37bf4cd5
flow: Move flow_log_() to near top of flow.c
David Gibson
2024-01-16 11:50:39 +11:00
-
02e092b4fe
tcp, tcp_splice: Avoid double layered dispatch for connected TCP sockets
David Gibson
2024-01-16 11:50:38 +11:00
-
70121ca1ec
epoll: Better handling of number of epoll types
David Gibson
2024-01-16 11:50:37 +11:00
-
36dfa8b8fb
flow, tcp: Add handling for per-flow timers
David Gibson
2024-01-16 11:50:36 +11:00
-
b43e4483ed
flow, tcp: Add flow-centric dispatch for deferred flow handling
David Gibson
2024-01-16 11:50:35 +11:00
-
c97bb527d6
tcp, tcp_splice: Move per-type cleanup logic into per-type helpers
David Gibson
2024-01-16 11:50:34 +11:00
-
eebca1115f
tcp, tcp_splice: Remove redundant handling from tcp_timer()
David Gibson
2024-01-16 11:50:33 +11:00
-
8563e7c870
treewide: Standardise on 'now' for current timestamp variables
David Gibson
2024-01-16 11:50:32 +11:00
-
17bbab1c97
flow: Make flow_table.h #include the protocol specific headers it needs
David Gibson
2024-01-16 11:50:31 +11:00
-
00c6eb6b68
pif: Remove unused pif_name() function
David Gibson
2024-01-15 17:39:44 +11:00
-
a179ca6707
treewide: Make a bunch of pointer variables pointers to const
David Gibson
2024-01-15 17:39:43 +11:00
-
f60c85194b
test: Fix passt.mbuto for cases where /usr/sbin doesn't exist
David Gibson
2024-01-15 17:39:42 +11:00
-
f091893c1f
netlink: Fetch most specific (longest prefix) address in nl_addr_get()
Stefano Brivio
2023-12-27 14:46:39 +01:00
-
62b94c3ec8
README: Default SLAAC prefix comes from address (not prefix) on host
Stefano Brivio
2023-12-27 11:48:20 +01:00
-
e197c4e490
README: Fix broken link to CentOS Stream package
Stefano Brivio
2023-12-30 11:44:51 +01:00
-
f0ccca741f
test: make passt.mbuto script more robust
Jon Paul Maloy
2023-12-14 16:12:19 -05:00
-
6a348cb435
tcp: make tcp_sock_set_bufsize() static (again)
Laurent Vivier
2023-12-04 15:23:11 +01:00
-
57de44a4bc
util: Make sock_l4() treat empty string ifname like NULL
David Gibson
2023-12-08 01:31:40 +11:00
-
5cada56186
treewide: Avoid in_addr_t
David Gibson
2023-12-08 01:31:39 +11:00
-
24d1f6570b
icmp: Avoid unnecessary handling of unspecified bind address
David Gibson
2023-12-08 01:31:38 +11:00
-
b9f4314ef9
util: Drop explicit setting to INADDR_ANY/in6addr_any in sock_l4()
David Gibson
2023-12-08 01:31:37 +11:00
-
eae4304000
util: Use htonl_constant() in more places
David Gibson
2023-12-08 01:31:36 +11:00
-
073f530bfe
treewide: Add IN4ADDR_ANY_INIT macro
David Gibson
2023-12-08 01:31:35 +11:00