ipv6: make fragment identifications less predictable, CVE-2011-2699
[linux-flexiantxendom0-natty.git] / include / net / transp_v6.h
index 4e86f2d..70eef79 100644 (file)
 
 extern struct proto rawv6_prot;
 extern struct proto udpv6_prot;
+extern struct proto udplitev6_prot;
 extern struct proto tcpv6_prot;
 
 struct flowi;
 
+extern void initialize_hashidentrnd(void);
+
 /* extention headers */
-extern void                            ipv6_rthdr_init(void);
-extern void                            ipv6_frag_init(void);
-extern void                            ipv6_nodata_init(void);
-extern void                            ipv6_destopt_init(void);
+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 void                            rawv6_init(void);
-extern void                            udpv6_init(void);
-extern void                            tcpv6_init(void);
+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,
@@ -34,19 +42,21 @@ extern int                  datagram_recv_ctl(struct sock *sk,
                                                  struct msghdr *msg,
                                                  struct sk_buff *skb);
 
-extern int                     datagram_send_ctl(struct msghdr *msg,
+extern int                     datagram_send_ctl(struct net *net,
+                                                 struct msghdr *msg,
                                                  struct flowi *fl,
                                                  struct ipv6_txoptions *opt,
-                                                 int *hlimit, int *tclass);
+                                                 int *hlimit, int *tclass,
+                                                 int *dontfrag);
 
-#define                LOOPBACK4_IPV6          __constant_htonl(0x7f000006)
+#define                LOOPBACK4_IPV6          cpu_to_be32(0x7f000006)
 
 /*
  *     address family specific functions
  */
-extern struct tcp_func ipv4_specific;
+extern const struct inet_connection_sock_af_ops ipv4_specific;
 
-extern int inet6_destroy_sock(struct sock *sk);
+extern void inet6_destroy_sock(struct sock *sk);
 
 #endif