Looking at adding IPv6 support, I notice the {get,set}sockopt interface
with userspace uses 32 bit address fields. Would it be better to change
the current interface to use 128 bits for the address, breaking backwards
compatibility, or is it important to keep that compatibility and we'd be
better creating (and maintaining) a separate interface?
For example, would it be better to just add/modify a couple fields in
structs like so
struct ip_vs_service_entry {
/* which service: user fills in these */
u_int16_t af;
u_int16_t protocol;
union addr {
__be32 addr_ipv4;
struct in6_addr addr_ipv6;
}
__be16 port;
u_int32_t fwmark; /* firwall mark of service */
/* service options */
char sched_name[IP_VS_SCHEDNAME_MAXLEN];
unsigned flags; /* virtual service flags*/
unsigned timeout; /* persistent timeout */
__be32 netmask; /* persistent netmask */
/* number of real servers */
unsigned int num_dests;
/* statistics */
struct ip_vs_stats_user stats;
};
Or rename it as a different struct (say ip6_vs_service_entry), and add a
set of IP6_VS_SO_* option numbers?
Vince
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|