aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip_vs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip_vs.h')
-rw-r--r--include/net/ip_vs.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index a25ad243031d..d32825585500 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -21,6 +21,9 @@
21#include <linux/timer.h> 21#include <linux/timer.h>
22 22
23#include <net/checksum.h> 23#include <net/checksum.h>
24#include <linux/netfilter.h> /* for union nf_inet_addr */
25#include <linux/ipv6.h> /* for struct ipv6hdr */
26#include <net/ipv6.h> /* for ipv6_addr_copy */
24 27
25#ifdef CONFIG_IP_VS_DEBUG 28#ifdef CONFIG_IP_VS_DEBUG
26#include <linux/net.h> 29#include <linux/net.h>
@@ -259,9 +262,10 @@ struct ip_vs_conn {
259 struct list_head c_list; /* hashed list heads */ 262 struct list_head c_list; /* hashed list heads */
260 263
261 /* Protocol, addresses and port numbers */ 264 /* Protocol, addresses and port numbers */
262 __be32 caddr; /* client address */ 265 u16 af; /* address family */
263 __be32 vaddr; /* virtual address */ 266 union nf_inet_addr caddr; /* client address */
264 __be32 daddr; /* destination address */ 267 union nf_inet_addr vaddr; /* virtual address */
268 union nf_inet_addr daddr; /* destination address */
265 __be16 cport; 269 __be16 cport;
266 __be16 vport; 270 __be16 vport;
267 __be16 dport; 271 __be16 dport;
@@ -314,8 +318,9 @@ struct ip_vs_service {
314 atomic_t refcnt; /* reference counter */ 318 atomic_t refcnt; /* reference counter */
315 atomic_t usecnt; /* use counter */ 319 atomic_t usecnt; /* use counter */
316 320
321 u16 af; /* address family */
317 __u16 protocol; /* which protocol (TCP/UDP) */ 322 __u16 protocol; /* which protocol (TCP/UDP) */
318 __be32 addr; /* IP address for virtual service */ 323 union nf_inet_addr addr; /* IP address for virtual service */
319 __be16 port; /* port number for the service */ 324 __be16 port; /* port number for the service */
320 __u32 fwmark; /* firewall mark of the service */ 325 __u32 fwmark; /* firewall mark of the service */
321 unsigned flags; /* service status flags */ 326 unsigned flags; /* service status flags */
@@ -342,7 +347,8 @@ struct ip_vs_dest {
342 struct list_head n_list; /* for the dests in the service */ 347 struct list_head n_list; /* for the dests in the service */
343 struct list_head d_list; /* for table with all the dests */ 348 struct list_head d_list; /* for table with all the dests */
344 349
345 __be32 addr; /* IP address of the server */ 350 u16 af; /* address family */
351 union nf_inet_addr addr; /* IP address of the server */
346 __be16 port; /* port number of the server */ 352 __be16 port; /* port number of the server */
347 volatile unsigned flags; /* dest status flags */ 353 volatile unsigned flags; /* dest status flags */
348 atomic_t conn_flags; /* flags to copy to conn */ 354 atomic_t conn_flags; /* flags to copy to conn */
@@ -366,7 +372,7 @@ struct ip_vs_dest {
366 /* for virtual service */ 372 /* for virtual service */
367 struct ip_vs_service *svc; /* service it belongs to */ 373 struct ip_vs_service *svc; /* service it belongs to */
368 __u16 protocol; /* which protocol (TCP/UDP) */ 374 __u16 protocol; /* which protocol (TCP/UDP) */
369 __be32 vaddr; /* virtual IP address */ 375 union nf_inet_addr vaddr; /* virtual IP address */
370 __be16 vport; /* virtual port number */ 376 __be16 vport; /* virtual port number */
371 __u32 vfwmark; /* firewall mark of service */ 377 __u32 vfwmark; /* firewall mark of service */
372}; 378};