mirror of
https://passt.top/passt
synced 2025-06-02 06:15:33 +02:00
udp: Prepare udp.c to be shared with vhost-user
Export udp_payload_t, udp_update_hdr4(), udp_update_hdr6() and udp_sock_errs(). Rename udp_listen_sock_handler() to udp_buf_listen_sock_handler() and udp_reply_sock_handler to udp_buf_reply_sock_handler(). Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
23cc8f892f
commit
7f6b184fb8
2 changed files with 79 additions and 29 deletions
34
udp_internal.h
Normal file
34
udp_internal.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright (c) 2021 Red Hat GmbH
|
||||
* Author: Stefano Brivio <sbrivio@redhat.com>
|
||||
*/
|
||||
|
||||
#ifndef UDP_INTERNAL_H
|
||||
#define UDP_INTERNAL_H
|
||||
|
||||
#include "tap.h" /* needed by udp_meta_t */
|
||||
|
||||
#define UDP_MAX_FRAMES 32 /* max # of frames to receive at once */
|
||||
|
||||
/**
|
||||
* struct udp_payload_t - UDP header and data for inbound messages
|
||||
* @uh: UDP header
|
||||
* @data: UDP data
|
||||
*/
|
||||
struct udp_payload_t {
|
||||
struct udphdr uh;
|
||||
char data[USHRT_MAX - sizeof(struct udphdr)];
|
||||
#ifdef __AVX2__
|
||||
} __attribute__ ((packed, aligned(32)));
|
||||
#else
|
||||
} __attribute__ ((packed, aligned(__alignof__(unsigned int))));
|
||||
#endif
|
||||
|
||||
size_t udp_update_hdr4(struct iphdr *ip4h, struct udp_payload_t *bp,
|
||||
const struct flowside *toside, size_t dlen,
|
||||
bool no_udp_csum);
|
||||
size_t udp_update_hdr6(struct ipv6hdr *ip6h, struct udp_payload_t *bp,
|
||||
const struct flowside *toside, size_t dlen,
|
||||
bool no_udp_csum);
|
||||
int udp_sock_errs(const struct ctx *c, int s, uint32_t events);
|
||||
#endif /* UDP_INTERNAL_H */
|
Loading…
Add table
Add a link
Reference in a new issue