mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
db8dac20d5
This reverts commitdb1ed684f6
("[IPV6] UDP: Rename IPv6 UDP files."), commit8be8af8fa4
("[IPV4] UDP: Move IPv4-specific bits to other file.") and commite898d4db27
("[UDP]: Allow users to configure UDP-Lite."). First, udplite is of such small cost, and it is a core protocol just like TCP and normal UDP are. We spent enormous amounts of effort to make udplite share as much code with core UDP as possible. All of that work is less valuable if we're just going to slap a config option on udplite support. It is also causing build failures, as reported on linux-next, showing that the changeset was not tested very well. In fact, this is the second build failure resulting from the udplite change. Finally, the config options provided was a bool, instead of a modular option. Meaning the udplite code does not even get build tested by allmodconfig builds, and furthermore the user is not presented with a reasonable modular build option which is particularly needed by distribution vendors. Signed-off-by: David S. Miller <davem@davemloft.net>
60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
#ifndef _TRANSP_V6_H
|
|
#define _TRANSP_V6_H
|
|
|
|
#include <net/checksum.h>
|
|
|
|
/*
|
|
* IPv6 transport protocols
|
|
*/
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
extern struct proto rawv6_prot;
|
|
extern struct proto udpv6_prot;
|
|
extern struct proto udplitev6_prot;
|
|
extern struct proto tcpv6_prot;
|
|
|
|
struct flowi;
|
|
|
|
/* extention headers */
|
|
extern int ipv6_exthdrs_init(void);
|
|
extern void ipv6_exthdrs_exit(void);
|
|
extern int ipv6_frag_init(void);
|
|
extern void ipv6_frag_exit(void);
|
|
|
|
/* transport protocols */
|
|
extern int rawv6_init(void);
|
|
extern void rawv6_exit(void);
|
|
extern int udpv6_init(void);
|
|
extern void udpv6_exit(void);
|
|
extern int udplitev6_init(void);
|
|
extern void udplitev6_exit(void);
|
|
extern int tcpv6_init(void);
|
|
extern void tcpv6_exit(void);
|
|
|
|
extern int udpv6_connect(struct sock *sk,
|
|
struct sockaddr *uaddr,
|
|
int addr_len);
|
|
|
|
extern int datagram_recv_ctl(struct sock *sk,
|
|
struct msghdr *msg,
|
|
struct sk_buff *skb);
|
|
|
|
extern int datagram_send_ctl(struct msghdr *msg,
|
|
struct flowi *fl,
|
|
struct ipv6_txoptions *opt,
|
|
int *hlimit, int *tclass);
|
|
|
|
#define LOOPBACK4_IPV6 __constant_htonl(0x7f000006)
|
|
|
|
/*
|
|
* address family specific functions
|
|
*/
|
|
extern struct inet_connection_sock_af_ops ipv4_specific;
|
|
|
|
extern int inet6_destroy_sock(struct sock *sk);
|
|
|
|
#endif
|
|
|
|
#endif
|