15 Sep, 2005

6 commits

  • per-socket multicast filters were not being applied to all sockets
    in the case of an exact-match bound address, due to an over-exuberant
    "return" in the look-up code. Fix below. IPv4 does not have this problem.

    Thanks to Hoerdt Mickael for reporting the bug.

    Signed-off-by: David L Stevens
    Signed-off-by: David S. Miller

    David L Stevens
     
  • ip_vs_ftp when loaded can create NAT connections with unknown client
    port for passive FTP. For such expectations we lookup with cport=0 on
    incoming packet but it matches the format of the persistence templates
    causing packets to other persistent virtual servers to be forwarded to
    real server without creating connection. Later the reply packets are
    treated as foreign and not SNAT-ed.

    This patch changes the connection lookup for packets from clients:

    * introduce IP_VS_CONN_F_TEMPLATE connection flag to mark the
    connection as template

    * create new connection lookup function just for templates -
    ip_vs_ct_in_get

    * make sure ip_vs_conn_in_get hits only connections with
    IP_VS_CONN_F_NO_CPORT flag set when s_port is 0. By this way
    we avoid returning template when looking for cport=0 (ftp)

    Signed-off-by: Julian Anastasov
    Signed-off-by: David S. Miller

    Julian Anastasov
     
  • Agostino di Salle noticed that persistent templates are not
    invalidated due to buggy optimization.

    Signed-off-by: Julian Anastasov
    Signed-off-by: David S. Miller

    Julian Anastasov
     
  • Here's a slightly altered patch, originally from Mark Glines who
    diagnosed and fixed the problem.

    Signed-off-by: Bart De Schuymer
    Signed-off-by: David S. Miller

    Bart De Schuymer
     
  • This patch fixes line dupes at /ipv4/igmp.c and /ipv6/mcast.c in the
    2.6 kernel, where MCAST_EXCLUDE is mistakenly used instead of
    MCAST_INCLUDE.

    Signed-off-by: Denis Lukianov
    Signed-off-by: David L Stevens
    Signed-off-by: David S. Miller

    Denis Lukianov
     
  • The problem is that the SACK fragmenting code may incorrectly call
    tcp_fragment() with a length larger than the skb->len. This happens
    when the skb on the transmit queue completely falls to the LHS of the
    SACK.

    And add a BUG() check to tcp_fragment() so we can spot this kind of
    error more quickly in the future.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

14 Sep, 2005

8 commits


13 Sep, 2005

16 commits


11 Sep, 2005

1 commit


10 Sep, 2005

9 commits