linux/net/netfilter/ipvs/ip_vs_proto_udp.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * ip_vs_proto_udp.c:	UDP load balancing support for IPVS
 *
 * Authors:     Wensong Zhang <[email protected]>
 *              Julian Anastasov <[email protected]>
 *
 * Changes:     Hans Schillstrom <[email protected]>
 *              Network name space (netns) aware.
 */

#define KMSG_COMPONENT
#define pr_fmt(fmt)

#include <linux/in.h>
#include <linux/ip.h>
#include <linux/kernel.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv4.h>
#include <linux/udp.h>
#include <linux/indirect_call_wrapper.h>

#include <net/ip_vs.h>
#include <net/ip.h>
#include <net/ip6_checksum.h>

static int
udp_csum_check(int af, struct sk_buff *skb, struct ip_vs_protocol *pp);

static int
udp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb,
		  struct ip_vs_proto_data *pd,
		  int *verdict, struct ip_vs_conn **cpp,
		  struct ip_vs_iphdr *iph)
{}


static inline void
udp_fast_csum_update(int af, struct udphdr *uhdr,
		     const union nf_inet_addr *oldip,
		     const union nf_inet_addr *newip,
		     __be16 oldport, __be16 newport)
{}

static inline void
udp_partial_csum_update(int af, struct udphdr *uhdr,
		     const union nf_inet_addr *oldip,
		     const union nf_inet_addr *newip,
		     __be16 oldlen, __be16 newlen)
{}


INDIRECT_CALLABLE_SCOPE int
udp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
		 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph)
{}


static int
udp_dnat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
		 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph)
{}


static int
udp_csum_check(int af, struct sk_buff *skb, struct ip_vs_protocol *pp)
{}

static inline __u16 udp_app_hashkey(__be16 port)
{}


static int udp_register_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{}


static void
udp_unregister_app(struct netns_ipvs *ipvs, struct ip_vs_app *inc)
{}


static int udp_app_conn_bind(struct ip_vs_conn *cp)
{}


static const int udp_timeouts[IP_VS_UDP_S_LAST+1] =;

static const char *const udp_state_name_table[IP_VS_UDP_S_LAST+1] =;

static const char * udp_state_name(int state)
{}

static void
udp_state_transition(struct ip_vs_conn *cp, int direction,
		     const struct sk_buff *skb,
		     struct ip_vs_proto_data *pd)
{}

static int __udp_init(struct netns_ipvs *ipvs, struct ip_vs_proto_data *pd)
{}

static void __udp_exit(struct netns_ipvs *ipvs, struct ip_vs_proto_data *pd)
{}


struct ip_vs_protocol ip_vs_protocol_udp =;