Skip to content

Commit

Permalink
IPVS: Add internal versions of sockopt interface structs
Browse files Browse the repository at this point in the history
Add extended internal versions of struct ip_vs_service_user and struct
ip_vs_dest_user (the originals can't be modified as they are part
of the old sockopt interface). Adjust ip_vs_ctl.c to work with the new
data structures and add some minor AF-awareness.

Signed-off-by: Julius Volz <juliusv@google.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
  • Loading branch information
Julius Volz authored and Simon Horman committed Sep 5, 2008
1 parent c842a3a commit c860c6b
Show file tree
Hide file tree
Showing 2 changed files with 129 additions and 48 deletions.
39 changes: 39 additions & 0 deletions include/net/ip_vs.h
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,45 @@ struct ip_vs_conn {
};


/*
* Extended internal versions of struct ip_vs_service_user and
* ip_vs_dest_user for IPv6 support.
*
* We need these to conveniently pass around service and destination
* options, but unfortunately, we also need to keep the old definitions to
* maintain userspace backwards compatibility for the setsockopt interface.
*/
struct ip_vs_service_user_kern {
/* virtual service addresses */
u16 af;
u16 protocol;
union nf_inet_addr addr; /* virtual ip address */
u16 port;
u32 fwmark; /* firwall mark of service */

/* virtual service options */
char *sched_name;
unsigned flags; /* virtual service flags */
unsigned timeout; /* persistent timeout in sec */
u32 netmask; /* persistent netmask */
};


struct ip_vs_dest_user_kern {
/* destination server address */
union nf_inet_addr addr;
u16 port;

/* real server options */
unsigned conn_flags; /* connection flags */
int weight; /* destination weight */

/* thresholds for active connections */
u32 u_threshold; /* upper threshold */
u32 l_threshold; /* lower threshold */
};


/*
* The information about the virtual service offered to the net
* and the forwarding entries
Expand Down
Loading

0 comments on commit c860c6b

Please sign in to comment.