1. 10 3月, 2007 1 次提交
  2. 08 3月, 2007 1 次提交
  3. 06 3月, 2007 4 次提交
    • J
      bonding: Improve IGMP join processing · a816c7c7
      Jay Vosburgh 提交于
      	In active-backup mode, the current bonding code duplicates IGMP
      traffic to all slaves, so that switches are up to date in case of a
      failover from an active to a backup interface.  If bonding then fails
      back to the original active interface, it is likely that the "active
      slave" switch's IGMP forwarding for the port will be out of date until
      some event occurs to refresh the switch (e.g., a membership query).
      
      	This patch alters the behavior of bonding to no longer flood
      IGMP to all ports, and to issue IGMP JOINs to the newly active port at
      the time of a failover.  This insures that switches are kept up to date
      for all cases.
      
      	"GOELLESCH Niels" <niels.goellesch@eurocontrol.int> originally
      reported this problem, and included a patch.  His original patch was
      modified by Jay Vosburgh to additionally remove the existing IGMP flood
      behavior, use RCU, streamline code paths, fix trailing white space, and
      adjust for style.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      a816c7c7
    • P
      [NETFILTER]: tcp conntrack: accept SYN|URG as valid · d3ab4298
      Patrick McHardy 提交于
      Some stacks apparently send packets with SYN|URG set. Linux accepts
      these packets, so TCP conntrack should to.
      
      Pointed out by Martijn Posthuma <posthuma@sangine.com>.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d3ab4298
    • P
      [NETFILTER]: nf_conntrack/nf_nat: fix incorrect config ifdefs · e281db5c
      Patrick McHardy 提交于
      The nf_conntrack_netlink config option is named CONFIG_NF_CT_NETLINK,
      but multiple files use CONFIG_IP_NF_CONNTRACK_NETLINK or
      CONFIG_NF_CONNTRACK_NETLINK for ifdefs.
      
      Fix this and reformat all CONFIG_NF_CT_NETLINK ifdefs to only use a line.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e281db5c
    • P
      [NETFILTER]: conntrack: fix {nf,ip}_ct_iterate_cleanup endless loops · ec68e97d
      Patrick McHardy 提交于
      Fix {nf,ip}_ct_iterate_cleanup unconfirmed list handling:
      
      - unconfirmed entries can not be killed manually, they are removed on
        confirmation or final destruction of the conntrack entry, which means
        we might iterate forever without making forward progress.
      
        This can happen in combination with the conntrack event cache, which
        holds a reference to the conntrack entry, which is only released when
        the packet makes it all the way through the stack or a different
        packet is handled.
      
      - taking references to an unconfirmed entry and using it outside the
        locked section doesn't work, the list entries are not refcounted and
        another CPU might already be waiting to destroy the entry
      
      What the code really wants to do is make sure the references of the hash
      table to the selected conntrack entries are released, so they will be
      destroyed once all references from skbs and the event cache are dropped.
      
      Since unconfirmed entries haven't even entered the hash yet, simply mark
      them as dying and skip confirmation based on that.
      
      Reported and tested by Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ec68e97d
  4. 03 3月, 2007 1 次提交
  5. 01 3月, 2007 1 次提交
    • A
      [TCP]: Fix minisock tcp_create_openreq_child() typo. · a9948a7e
      Arnaldo Carvalho de Melo 提交于
      On 2/28/07, KOVACS Krisztian <hidden@balabit.hu> wrote:
      >
      >   Hi,
      >
      >   While reading TCP minisock code I've found this suspiciously looking
      > code fragment:
      >
      > - 8< -
      > struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, struct sk_buff *skb)
      > {
      >         struct sock *newsk = inet_csk_clone(sk, req, GFP_ATOMIC);
      >
      >         if (newsk != NULL) {
      >                 const struct inet_request_sock *ireq = inet_rsk(req);
      >                 struct tcp_request_sock *treq = tcp_rsk(req);
      >                 struct inet_connection_sock *newicsk = inet_csk(sk);
      >                 struct tcp_sock *newtp;
      > - 8< -
      >
      >   The above code initializes newicsk to inet_csk(sk), isn't that supposed
      > to be inet_csk(newsk)?  As far as I can tell this might leave
      > icsk_ack.last_seg_size zero even if we do have received data.
      
      Good catch!
      
      David, please apply the attached patch.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a9948a7e
  6. 27 2月, 2007 6 次提交
  7. 18 2月, 2007 2 次提交
  8. 15 2月, 2007 3 次提交
  9. 14 2月, 2007 3 次提交
  10. 13 2月, 2007 14 次提交
  11. 12 2月, 2007 1 次提交
  12. 11 2月, 2007 3 次提交