diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-07-18 15:26:38 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-07-19 18:33:13 +0200 |
commit | 6d76278c21ce2aae7f68ba6807de570cc88f5499 (patch) | |
tree | f95f1d0419d6d6b4337af880ec82922b412bc92c /tap.h | |
parent | 5cffb1bf64d5133387de3587fcf7c51f2c88df6c (diff) | |
download | passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.tar passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.tar.gz passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.tar.bz2 passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.tar.lz passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.tar.xz passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.tar.zst passt-6d76278c21ce2aae7f68ba6807de570cc88f5499.zip |
icmp: Obtain destination addresses from the flowsides
icmp_sock_handler() obtains the guest address from it's most recently
observed IP. However, this can now be obtained from the common flowside
information.
icmp_tap_handler() builds its socket address for sendto() directly
from the destination address supplied by the incoming tap packet.
This can instead be generated from the flow.
Using the flowsides as the common source of truth here prepares us for
allowing more flexible NAT and forwarding by properly initialising
that flowside information.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tap.h')
-rw-r--r-- | tap.h | 1 |
1 files changed, 0 insertions, 1 deletions
@@ -43,7 +43,6 @@ static inline void tap_hdr_update(struct tap_hdr *thdr, size_t l2len) thdr->vnet_len = htonl(l2len); } -struct in_addr tap_ip4_daddr(const struct ctx *c); void tap_udp4_send(const struct ctx *c, struct in_addr src, in_port_t sport, struct in_addr dst, in_port_t dport, const void *in, size_t dlen); |