1. 18 6月, 2008 10 次提交
    • D
      ax25: Fix std timer socket destroy handling. · 30902dc3
      David S. Miller 提交于
      Tihomir Heidelberg - 9a4gl, reports:
      
      --------------------
      I would like to direct you attention to one problem existing in ax.25
      kernel since 2.4. If listening socket is closed and its SKB queue is
      released but those sockets get weird. Those "unAccepted()" sockets
      should be destroyed in ax25_std_heartbeat_expiry, but it will not
      happen. And there is also a note about that in ax25_std_timer.c:
      /* Magic here: If we listen() and a new link dies before it
      is accepted() it isn't 'dead' so doesn't get removed. */
      
      This issue cause ax25d to stop accepting new connections and I had to
      restarted ax25d approximately each day and my services were unavailable.
      Also netstat -n -l shows invalid source and device for those listening
      sockets. It is strange why ax25d's listening socket get weird because of
      this issue, but definitely when I solved this bug I do not have problems
      with ax25d anymore and my ax25d can run for months without problems.
      --------------------
      
      Actually as far as I can see, this problem is even in releases
      as far back as 2.2.x as well.
      
      It seems senseless to special case this test on TCP_LISTEN state.
      Anything still stuck in state 0 has no external references and
      we can just simply kill it off directly.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30902dc3
    • E
      udp: sk_drops handling · cb61cb9b
      Eric Dumazet 提交于
      In commits 33c732c3 ([IPV4]: Add raw
      drops counter) and a92aa318 ([IPV6]:
      Add raw drops counter), Wang Chen added raw drops counter for
      /proc/net/raw & /proc/net/raw6
      
      This patch adds this capability to UDP sockets too (/proc/net/udp &
      /proc/net/udp6).
      
      This means that 'RcvbufErrors' errors found in /proc/net/snmp can be also
      be examined for each udp socket.
      
      # grep Udp: /proc/net/snmp
      Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors
      Udp: 23971006 75 899420 16390693 146348 0
      
      # cat /proc/net/udp
       sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt  ---
      uid  timeout inode ref pointer drops
       75: 00000000:02CB 00000000:0000 07 00000000:00000000 00:00000000 00000000  ---
        0        0 2358 2 ffff81082a538c80 0
      111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000  ---
        0        0 2286 2 ffff81042dd35c80 146348
      
      In this example, only port 111 (0x006F) was flooded by messages that
      user program could not read fast enough. 146348 messages were lost.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cb61cb9b
    • J
      bonding: Allow setting max_bonds to zero · b8a9787e
      Jay Vosburgh 提交于
      	Permit bonding to function rationally if max_bonds is set to
      zero.  This will load the module, but create no master devices (which can
      be created via sysfs).
      
      	Requires some change to bond_create_sysfs; currently, the
      netdev sysfs directory is determined from the first bonding device created,
      but this is no longer possible.  Instead, an interface from net/core is
      created to create and destroy files in net_class.
      
      	Based on a patch submitted by Phil Oester <kernel@linuxaces.com>.
      Modified by Jay Vosburgh to fix the sysfs issue mentioned above and to
      update the documentation.
      Signed-off-by: NPhil Oester <kernel@linuxace.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b8a9787e
    • O
      net/core: add NETDEV_BONDING_FAILOVER event · c1da4ac7
      Or Gerlitz 提交于
      Add NETDEV_BONDING_FAILOVER event to be used in a successive patch
      by bonding to announce fail-over for the active-backup mode through the
      netdev events notifier chain mechanism. Such an event can be of use for the
      RDMA CM (communication manager) to let native RDMA ULPs (eg NFS-RDMA, iSER)
      always be aligned with the IP stack, in the sense that they use the same
      ports/links as the stack does. More usages can be done to allow monitoring
      tools based on netlink events being aware to bonding fail-over.
      Signed-off-by: NOr Gerlitz <ogerlitz@voltaire.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      c1da4ac7
    • B
      rose: improving AX25 routing frames via ROSE network · fe2c802a
      Bernard Pidoux 提交于
      ROSE network is organized through nodes connected via hamradio or Internet.
      AX25 packet radio frames sent to a remote ROSE address destination are routed
      through these nodes.
      
      Without the present patch, automatic routing mechanism did not work optimally
      due to an improper parameter checking.
      
      rose_get_neigh() function is called either by rose_connect() or by
      rose_route_frame().
      
      In the case of a call from rose_connect(), f0 timer is checked to find if a connection
      is already pending. In that case it returns the address of the neighbour, or returns a NULL otherwise.
      
      When called by rose_route_frame() the purpose was to route a packet AX25 frame
      through an adjacent node given a destination rose address.
      However, in that case, t0 timer checked does not indicate if the adjacent node
      is actually connected even if the timer is not null. Thus, for each frame sent, the
      function often tried to start a new connexion even if the adjacent node was already connected.
      
      The patch adds a "new" parameter that is true when the function is called by
      rose route_frame().
      This instructs rose_get_neigh() to check node parameter "restarted". 
      If restarted is true it means that the route to the destination address is opened via a neighbour
      node already connected.
      If "restarted" is false the function returns a NULL.
      In that case the calling function will initiate a new connection as before.
      
      This results in a fast routing of frames, from nodes to nodes, until
      destination is reached, as originaly specified by ROSE protocole.
      Signed-off-by: NBernard Pidoux <f6bvp@amsat.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe2c802a
    • M
      atm: use const where reasonable · 61c33e01
      Mitchell Blank Jr 提交于
      From: Mitchell Blank Jr <mitch@sfgoth.com>
      Signed-off-by: NChas Williams <chas@cmf.nrl.navy.mil>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      61c33e01
    • R
      bridge: fix IPV6=n build · f586287e
      Randy Dunlap 提交于
      Fix bridge netfilter code so that it uses CONFIG_IPV6 as needed:
      
      net/built-in.o: In function `ebt_filter_ip6':
      ebt_ip6.c:(.text+0x87c37): undefined reference to `ipv6_skip_exthdr'
      net/built-in.o: In function `ebt_log_packet':
      ebt_log.c:(.text+0x88dee): undefined reference to `ipv6_skip_exthdr'
      make[1]: *** [.tmp_vmlinux1] Error 1
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f586287e
    • S
      bridge: make bridge address settings sticky · 92c0574f
      Stephen Hemminger 提交于
      Normally, the bridge just chooses the smallest mac address as the
      bridge id and mac address of bridge device. But if the administrator
      has explictly set the interface address then don't change it.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      92c0574f
    • S
      bridge: handle process all link-local frames · 43aa1920
      Stephen Hemminger 提交于
      Any frame addressed to link-local addresses should be processed by local
      receive path. The earlier code would process them only if STP was enabled.
      Since there are other frames like LACP for bonding, we should always
      process them.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      43aa1920
    • P
      sctp: fix error path in sctp_proc_init · 3d00fb9e
      Pavel Emelyanov 提交于
      After the sctp_remaddr_proc_init failed, the proper rollback is
      not the sctp_remaddr_proc_exit, but the sctp_assocs_proc_exit.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Acked-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d00fb9e
  2. 17 6月, 2008 27 次提交
  3. 15 6月, 2008 3 次提交