mirror of
https://passt.top/passt
synced 2025-06-17 12:45:34 +02:00
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>
This commit is contained in:
parent
02cbdb0b86
commit
4779dfe12f
5 changed files with 24 additions and 44 deletions
4
util.c
4
util.c
|
@ -72,10 +72,8 @@ int sock_l4(const struct ctx *c, sa_family_t af, uint8_t proto,
|
|||
ref.type = EPOLL_TYPE_UDP;
|
||||
break;
|
||||
case IPPROTO_ICMP:
|
||||
ref.type = EPOLL_TYPE_ICMP;
|
||||
break;
|
||||
case IPPROTO_ICMPV6:
|
||||
ref.type = EPOLL_TYPE_ICMPV6;
|
||||
ref.type = EPOLL_TYPE_PING;
|
||||
break;
|
||||
default:
|
||||
return -EPFNOSUPPORT; /* Not implemented. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue