25 Nov, 2010

1 commit

  • Functionality improvements
    * flags changed from 16 to 32 bits
    * fwmark added (32 bits)
    * timeout in sec. added (32 bits)
    * pe data added (Variable length)
    * IPv6 capabilities (3x16 bytes for addr.)
    * Version and type in every conn msg.

    ip_vs_process_message() now handles Version 1 messages
    and will call ip_vs_process_message_v0() for version 0 messages.

    ip_vs_proc_conn() is common for both version, and handles the update of
    connection hash.

    ip_vs_conn_fill_param_sync() - Version 1 messages only
    ip_vs_conn_fill_param_sync_v0() - Version 0 messages only

    Signed-off-by: Hans Schillstrom
    Acked-by: Julian Anastasov
    Signed-off-by: Simon Horman

    Hans Schillstrom
     

04 Oct, 2010

2 commits


21 Sep, 2010

1 commit

  • Add more code to IPVS to work with Netfilter connection
    tracking and fix some problems.

    - Allow IPVS to be compiled without connection tracking as in
    2.6.35 and before. This can avoid keeping conntracks for all
    IPVS connections because this costs memory. ip_vs_ftp still
    depends on connection tracking and NAT as implemented for 2.6.36.

    - Add sysctl var "conntrack" to enable connection tracking for
    all IPVS connections. For loaded IPVS directors it needs
    tuning of nf_conntrack_max limit.

    - Add IP_VS_CONN_F_NFCT connection flag to request the connection
    to use connection tracking. This allows user space to provide this
    flag, for example, in dest->conn_flags. This can be useful to
    request connection tracking per real server instead of forcing it
    for all connections with the "conntrack" sysctl. This flag is
    set currently only by ip_vs_ftp and of course by "conntrack" sysctl.

    - Add ip_vs_nfct.c file to hold all connection tracking code,
    by this way main code should not depend of netfilter conntrack
    support.

    - Return back the ip_vs_post_routing handler as in 2.6.35 and use
    skb->ipvs_property=1 to allow IPVS to work without connection
    tracking

    Connection tracking:

    - most of the code is already in 2.6.36-rc

    - alter conntrack reply tuple for LVS-NAT connections when first packet
    from client is forwarded and conntrack state is NEW or RELATED.
    Additionally, alter reply for RELATED connections from real server,
    again for packet in original direction.

    - add IP_VS_XMIT_TUNNEL to confirm conntrack (without altering
    reply) for LVS-TUN early because we want to call nf_reset. It is
    needed because we add IPIP header and the original conntrack
    should be preserved, not destroyed. The transmitted IPIP packets
    can reuse same conntrack, so we do not set skb->ipvs_property.

    - try to destroy conntrack when the IPVS connection is destroyed.
    It is not fatal if conntrack disappears before that, it depends
    on the used timers.

    Fix problems from long time:

    - add skb->ip_summed = CHECKSUM_NONE for the LVS-TUN transmitters

    Signed-off-by: Julian Anastasov
    Signed-off-by: Patrick McHardy

    Julian Anastasov
     

17 Sep, 2010

1 commit

  • - the sync protocol supports 16 bits only, so bits 0..15 should be
    used only for flags that should go to backup server, bits 16 and
    above should be allocated for flags not sent to backup.

    - use IP_VS_CONN_F_DEST_MASK as mask of connection flags in
    destination that can be changed by user space

    - allow IP_VS_CONN_F_ONE_PACKET to be set in destination

    Signed-off-by: Julian Anastasov
    Signed-off-by: Patrick McHardy

    Julian Anastasov
     

22 Jun, 2010

1 commit

  • Allow one-packet scheduling for UDP connections. When the fwmark-based or
    normal virtual service is marked with '-o' or '--ops' options all
    connections are created only to schedule one packet. Useful to schedule UDP
    packets from same client port to different real servers. Recommended with
    RR or WRR schedulers (the connections are not visible with ipvsadm -L).

    Signed-off-by: Nick Chalk
    Signed-off-by: Simon Horman
    Signed-off-by: Patrick McHardy

    Nick Chalk
     

05 Nov, 2009

1 commit

  • This cleanup patch puts struct/union/enum opening braces,
    in first line to ease grep games.

    struct something
    {

    becomes :

    struct something {

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

27 Mar, 2009

1 commit

  • This takes care of all files that have only a small number
    of non-strict integer type uses.

    Signed-off-by: Arnd Bergmann
    Cc: Mauro Carvalho Chehab
    Cc: David Airlie
    Cc: Arnaldo Carvalho de Melo
    Cc: YOSHIFUJI Hideaki
    Cc: netdev@vger.kernel.org
    Cc: linux-ppp@vger.kernel.org
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: David Woodhouse
    Signed-off-by: H. Peter Anvin
    Signed-off-by: Ingo Molnar

    Arnd Bergmann
     

15 Aug, 2008

1 commit


01 Aug, 2008

1 commit

  • Current versions of ipvsadm include "/usr/src/linux/include/net/ip_vs.h"
    directly. This file also contains kernel-only definitions. Normally, public
    definitions should live in include/linux, so this patch moves the
    definitions shared with userspace to a new file, "include/linux/ip_vs.h".

    This also removes the unused NFC_IPVS_PROPERTY bitmask, which was once
    used to point into skb->nfcache.

    To make old ipvsadms still compile with this, the old header file includes
    the new one.

    Thanks to Dave Miller and Horms for noting/adding the missing Kbuild entry
    for the new header file.

    Signed-off-by: Julius Volz
    Acked-by: Simon Horman
    Signed-off-by: David S. Miller

    Julius Volz