08 Jul, 2008

5 commits


06 Jul, 2008

17 commits


04 Jul, 2008

1 commit


03 Jul, 2008

11 commits

  • Add a IFF_VNET_HDR flag. This uses the same ABI as virtio_net
    (ie. prepending struct virtio_net_hdr to packets) to indicate GSO and
    checksum information.

    Signed-off-by: Rusty Russell
    Acked-by: Max Krasnyansky
    Signed-off-by: David S. Miller

    Rusty Russell
     
  • ethtool is useful for setting (some) device fields, but it's
    root-only. Finer feature control is available through a tun-specific
    ioctl.

    (Includes Mark McLoughlin 's fix to hold rtnl sem).

    Signed-off-by: Rusty Russell
    Acked-by: Max Krasnyansky
    Signed-off-by: David S. Miller

    Rusty Russell
     
  • The problem with introducing checksum offload and gso to tun is they
    need to set dev->features to enable GSO and/or checksumming, which is
    supposed to be done before register_netdevice(), ie. as part of
    TUNSETIFF.

    Unfortunately, TUNSETIFF has always just ignored flags it doesn't
    understand, so there's no good way of detecting whether the kernel
    supports new IFF_ flags.

    This patch implements a TUNGETFEATURES ioctl which returns all the valid IFF
    flags. It could be extended later to include other features.

    Here's an example program which uses it:

    #include
    #include
    #include
    #include
    #include
    #include
    #include

    static struct {
    unsigned int flag;
    const char *name;
    } known_flags[] = {
    { IFF_TUN, "TUN" },
    { IFF_TAP, "TAP" },
    { IFF_NO_PI, "NO_PI" },
    { IFF_ONE_QUEUE, "ONE_QUEUE" },
    };

    int main()
    {
    unsigned int features, i;

    int netfd = open("/dev/net/tun", O_RDWR);
    if (netfd < 0)
    err(1, "Opening /dev/net/tun");

    if (ioctl(netfd, TUNGETFEATURES, &features) != 0) {
    printf("Kernel does not support TUNGETFEATURES, guessing\n");
    features = (IFF_TUN|IFF_TAP|IFF_NO_PI|IFF_ONE_QUEUE);
    }
    printf("Available features are: ");
    for (i = 0; i < sizeof(known_flags)/sizeof(known_flags[0]); i++) {
    if (features & known_flags[i].flag) {
    features &= ~known_flags[i].flag;
    printf("%s ", known_flags[i].name);
    }
    }
    if (features)
    printf("(UNKNOWN %#x)", features);
    printf("\n");
    return 0;
    }

    Signed-off-by: Rusty Russell
    Acked-by: Max Krasnyansky
    Signed-off-by: David S. Miller

    Rusty Russell
     
  • ip{,v6}_mroute_{set,get}sockopt() should not matter by optimization but
    it would be better not to depend on optimization semantically.

    Signed-off-by: YOSHIFUJI Hideaki

    YOSHIFUJI Hideaki
     
  • Same as ip6_mr_init(), make ip_mr_init() return errno if fails.
    But do not do error handling in inet_init(), just print a msg.

    Signed-off-by: Wang Chen
    Signed-off-by: YOSHIFUJI Hideaki

    Wang Chen
     
  • If do not do it, we will get following issues:
    1. Leaving junks after inet6_init failing halfway.
    2. Leaving proc and notifier junks after ipv6 modules unloading.

    Signed-off-by: Wang Chen
    Signed-off-by: YOSHIFUJI Hideaki

    Wang Chen
     
  • - If 0, disable DAD.
    - If 1, perform DAD (default).
    - If >1, perform DAD and disable IPv6 operation if DAD for MAC-based
    link-local address has been failed (RFC4862 5.4.5).

    We do not follow RFC4862 by default. Refer to the netdev thread entitled
    "Linux IPv6 DAD not full conform to RFC 4862 ?"
    http://www.spinics.net/lists/netdev/msg52027.html

    Signed-off-by: YOSHIFUJI Hideaki

    YOSHIFUJI Hideaki
     
  • Signed-off-by: YOSHIFUJI Hideaki

    YOSHIFUJI Hideaki
     
  • * 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block:
    Properly notify block layer of sync writes
    block: Fix the starving writes bug in the anticipatory IO scheduler

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    i2c: Fix bad hint about irqs in i2c.h
    i2c: Documentation: fix device matching description

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (55 commits)
    net: fib_rules: fix error code for unsupported families
    netdevice: Fix wrong string handle in kernel command line parsing
    net: Tyop of sk_filter() comment
    netlink: Unneeded local variable
    net-sched: fix filter destruction in atm/hfsc qdisc destruction
    net-sched: change tcf_destroy_chain() to clear start of filter list
    ipv4: fix sysctl documentation of time related values
    mac80211: don't accept WEP keys other than WEP40 and WEP104
    hostap: fix sparse warnings
    hostap: don't report useless WDS frames by default
    textsearch: fix Boyer-Moore text search bug
    netfilter: nf_conntrack_tcp: fixing to check the lower bound of valid ACK
    ipv6 route: Convert rt6_device_match() to use RT6_LOOKUP_F_xxx flags.
    netlabel: Fix a problem when dumping the default IPv6 static labels
    net/inet_lro: remove setting skb->ip_summed when not LRO-able
    inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild
    CONNECTOR: add a proc entry to list connectors
    netlink: Fix some doc comments in net/netlink/attr.c
    tcp: /proc/net/tcp rto,ato values not scaled properly (v2)
    include/linux/netdevice.h: don't export MAX_HEADER to userspace
    ...

    Linus Torvalds
     

02 Jul, 2008

3 commits


01 Jul, 2008

3 commits

  • fsync_buffers_list() and sync_dirty_buffer() both issue async writes and
    then immediately wait on them. Conceptually, that makes them sync writes
    and we should treat them as such so that the IO schedulers can handle
    them appropriately.

    This patch fixes a write starvation issue that Lin Ming reported, where
    xx is stuck for more than 2 minutes because of a large number of
    synchronous IO in the system:

    INFO: task kjournald:20558 blocked for more than 120 seconds.
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
    message.
    kjournald D ffff810010820978 6712 20558 2
    ffff81022ddb1d10 0000000000000046 ffff81022e7baa10 ffffffff803ba6f2
    ffff81022ecd0000 ffff8101e6dc9160 ffff81022ecd0348 000000008048b6cb
    0000000000000086 ffff81022c4e8d30 0000000000000000 ffffffff80247537
    Call Trace:
    [] kobject_get+0x12/0x17
    [] getnstimeofday+0x2f/0x83
    [] sync_buffer+0x0/0x3f
    [] io_schedule+0x5d/0x9f
    [] sync_buffer+0x3b/0x3f
    [] __wait_on_bit+0x40/0x6f
    [] sync_buffer+0x0/0x3f
    [] out_of_line_wait_on_bit+0x6c/0x78
    [] wake_bit_function+0x0/0x23
    [] sync_dirty_buffer+0x98/0xcb
    [] journal_commit_transaction+0x97d/0xcb6
    [] lock_timer_base+0x26/0x4b
    [] kjournald+0xc1/0x1fb
    [] autoremove_wake_function+0x0/0x2e
    [] kjournald+0x0/0x1fb
    [] kthread+0x47/0x74
    [] schedule_tail+0x28/0x5d
    [] child_rip+0xa/0x12
    [] kthread+0x0/0x74
    [] child_rip+0x0/0x12

    Lin Ming confirms that this patch fixes the issue. I've run tests with
    it for the past week and no ill effects have been observed, so I'm
    proposing it for inclusion into 2.6.26.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • This patch add spectrum capability and required information
    elements to association request providing AP has requested it and
    it is supported by the driver

    Signed-off-by: Tomas Winkler
    Signed-off-by: Assaf Krauss
    Signed-off-by: John W. Linville

    Tomas Winkler
     
  • This patch makes mac80211 refuse a WEP key whose length is not WEP40 nor
    WEP104.

    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Tomas Winkler
    Signed-off-by: John W. Linville

    Emmanuel Grumbach