diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-02-29 15:15:34 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-03-12 01:49:05 +0100 |
commit | 4779dfe12fd0aa6d94f9029e430d55f60f4c581f (patch) | |
tree | d22ce88dd4b322cbf6ce793d58e7e3edfcadc717 /passt.h | |
parent | 02cbdb0b86fb8b03026bc542606333ebfc819f0f (diff) | |
download | passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.tar passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.tar.gz passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.tar.bz2 passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.tar.lz passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.tar.xz passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.tar.zst passt-4779dfe12fd0aa6d94f9029e430d55f60f4c581f.zip |
icmp: Use 'flowside' epoll references for ping sockets
Currently ping sockets use a custom epoll reference type which includes
the ICMP id. However, now that we have entries in the flow table for
ping flows, finding that is sufficient to get everything else we want,
including the id. Therefore remove the icmp_epoll_ref type and use the
general 'flowside' field for ping sockets.
Having done this we no longer need separate EPOLL_TYPE_ICMP and
EPOLL_TYPE_ICMPV6 reference types, because we can easily determine
which case we have from the flow type. Merge both types into
EPOLL_TYPE_PING.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'passt.h')
-rw-r--r-- | passt.h | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -59,10 +59,8 @@ enum epoll_type { EPOLL_TYPE_TCP_TIMER, /* UDP sockets */ EPOLL_TYPE_UDP, - /* IPv4 ICMP sockets */ - EPOLL_TYPE_ICMP, - /* ICMPv6 sockets */ - EPOLL_TYPE_ICMPV6, + /* ICMP/ICMPv6 ping sockets */ + EPOLL_TYPE_PING, /* inotify fd watching for end of netns (pasta) */ EPOLL_TYPE_NSQUIT_INOTIFY, /* timer fd watching for end of netns, fallback for inotify (pasta) */ @@ -100,7 +98,6 @@ union epoll_ref { flow_sidx_t flowside; union tcp_listen_epoll_ref tcp_listen; union udp_epoll_ref udp; - union icmp_epoll_ref icmp; uint32_t data; int nsdir_fd; }; |