All of lore.kernel.org
 help / color / mirror / Atom feed
* IPv6 and userspace interface backwards compatibility
@ 2008-04-07 18:38 Vince Busam
  0 siblings, 0 replies; only message in thread
From: Vince Busam @ 2008-04-07 18:38 UTC (permalink / raw)
  To: lvs-devel

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-04-07 18:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-07 18:38 IPv6 and userspace interface backwards compatibility Vince Busam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.