16 Apr, 2012

2 commits


15 Apr, 2012

12 commits

  • As hypervior does not have the knowledge of guest network configuration, it's
    better to ask guest to send gratuitous packets when needed.

    This patch implements VIRTIO_NET_F_GUEST_ANNOUNCE feature: hypervisor would
    notice the guest when it thinks it's time for guest to announce the link
    presnece. Guest tests VIRTIO_NET_S_ANNOUNCE bit during config change interrupt
    and woule send gratuitous packets through netif_notify_peers() and ack the
    notification through ctrl vq.

    We need to make sure the atomicy of read and ack in guest otherwise we may ack
    more times than being notified. This is done through handling the whole config
    change interrupt in an non-reentrant workqueue.

    Signed-off-by: Jason Wang
    Acked-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Jason Wang
     
  • This patch replaces the code for getting an number from a
    userspace buffer by a simple call to kstroul_from_user.
    This makes it easier to read and less error prone.

    Signed-off-by: Peter Huewe
    Signed-off-by: David S. Miller

    Peter Hüwe
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Correct spelling typo within drivers/net.

    Signed-off-by: Masanari Iida
    Signed-off-by: David S. Miller

    Masanari Iida
     
  • tcp_enter_quickack_mode() already calls tcp_incr_quickack() and sets
    icsk->icsk_ack.ato to TCP_ATO_MIN. This patch removes the duplication.

    Signed-off-by: Vijay Subramanian
    Reviewed-by: Flavio Leitner
    Signed-off-by: David S. Miller

    Vijay Subramanian
     
  • We must try harder to get unique (addr, port) pairs when
    doing port autoselection for sockets with SO_REUSEADDR
    option set.

    We achieve this by adding a relaxation parameter to
    inet_csk_bind_conflict. When 'relax' parameter is off
    we return a conflict whenever the current searched
    pair (addr, port) is not unique.

    This tries to address the problems reported in patch:
    8d238b25b1ec22a73b1c2206f111df2faaff8285
    Revert "tcp: bind() fix when many ports are bound"

    Tests where ran for creating and binding(0) many sockets
    on 100 IPs. The results are, on average:

    * 60000 sockets, 600 ports / IP:
    * 0.210 s, 620 (IP, port) duplicates without patch
    * 0.219 s, no duplicates with patch
    * 100000 sockets, 1000 ports / IP:
    * 0.371 s, 1720 duplicates without patch
    * 0.373 s, no duplicates with patch
    * 200000 sockets, 2000 ports / IP:
    * 0.766 s, 6900 duplicates without patch
    * 0.768 s, no duplicates with patch
    * 500000 sockets, 5000 ports / IP:
    * 2.227 s, 41500 duplicates without patch
    * 2.284 s, no duplicates with patch

    Signed-off-by: Alex Copot
    Signed-off-by: Daniel Baluta
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Alex Copot
     
  • There are two struct request_sock_ops providers, tcp and dccp.

    inet_csk_reqsk_queue_prune() can avoid testing syn_ack_timeout being
    NULL if we make it non NULL like syn_ack_timeout

    Signed-off-by: Eric Dumazet
    Cc: Gerrit Renker
    Cc: dccp@vger.kernel.org
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Updates some comments to track RFC6298

    Signed-off-by: Eric Dumazet
    Cc: H.K. Jerry Chu
    Cc: Tom Herbert
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This patch converts the drivers in drivers/net/wan/* to use
    module_pci_driver() macro which makes the code smaller and a bit simpler.

    Signed-off-by: Axel Lin
    Cc: Francois Romieu
    Cc: "David S. Miller"
    Signed-off-by: David S. Miller

    Axel Lin
     
  • This patch converts the drivers in drivers/net/tokenring/* to use
    module_pci_driver() macro which makes the code smaller and a bit simpler.

    Signed-off-by: Axel Lin
    Cc: "David S. Miller"
    Cc: David Howells
    Signed-off-by: David S. Miller

    Axel Lin
     
  • David S. Miller
     
  • Convert the per-cpu statistics kept for GRE, IPIP, and SIT tunnels
    to use 64 bit statistics.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     

14 Apr, 2012

22 commits


13 Apr, 2012

4 commits

  • Do the initialization of the HSI interface when the
    interface is opened, instead of upon registration.
    When the interface is closed the HSI interface is
    de-initialized, allowing other modules to use the
    HSI interface.

    Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    sjur.brandeland@stericsson.com
     
  • CAIF HSI is currently a virtual device. Stopping/starting the
    queues is wrong on a virtual device.

    Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    sjur.brandeland@stericsson.com
     
  • Implement aggregation algorithm, combining more data into a single
    HSI transfer. 4 different traffic categories are supported:
    1. TC_PRIO_CONTROL .. TC_PRIO_MAX (CTL)
    2. TC_PRIO_INTERACTIVE (VO)
    3. TC_PRIO_INTERACTIVE_BULK (VI)
    4. TC_PRIO_BESTEFFORT, TC_PRIO_BULK, TC_PRIO_FILLER (BEBK)

    Signed-off-by: Dmitry Tarnyagin
    Signed-off-by: David S. Miller

    Dmitry Tarnyagin
     
  • Set traffic class for CAIF packets, based on socket
    priority, CAIF protocol type, or type of message.

    Traffic class mapping for different packet types:
    - control: TC_PRIO_CONTROL;
    - flow control: TC_PRIO_CONTROL;
    - at: TC_PRIO_CONTROL;
    - rfm: TC_PRIO_INTERACTIVE_BULK;
    - other sockets: equals to socket's TC;
    - network data: no change.

    Signed-off-by: Dmitry Tarnyagin
    Signed-off-by: David S. Miller

    Dmitry Tarnyagin