Documentation/networking/ip-sysctl.txt |    5 --
 debian/changelog                       |   20 +++++++++
 drivers/net/bonding/bond_main.c        |    9 ++--
 include/linux/if_addr.h                |    1 
 include/linux/igmp.h                   |    2 
 include/linux/ipv6.h                   |    2 
 include/linux/netdevice.h              |    3 -
 include/linux/notifier.h               |    2 
 include/net/addrconf.h                 |    2 
 net/core/dev.c                         |    4 -
 net/core/dst.c                         |    2 
 net/ipv4/devinet.c                     |    6 ++
 net/ipv4/igmp.c                        |   22 ++++++++++
 net/ipv6/addrconf.c                    |   68 ++++++++++++++++++++-------------
 net/ipv6/mcast.c                       |   19 +++++++++
 15 files changed, 129 insertions(+), 38 deletions(-)

New commits:
commit bb3ca67a714557c18fc2782eacb695e9d0401736
Author: Stephen Hemminger <[email protected]>
Date:   Tue Feb 9 14:41:30 2010 -0800

    2.6.31-1+vyatta+31

commit bb27cb9460991036cd7a9e5ddbd6c03553f3baec
Author: Stephen Hemminger <[email protected]>
Date:   Tue Feb 9 10:11:20 2010 -0800

    Fix IPv6 management of permanent addresses
    
    Get rid of addres_flush sysctl (Vyatta unique), and instead
    do proper DAD on permanent addresses when link is set to admin down.

commit 337f5011c7315b14f72e6e54d413f6432050f773
Author: Moni Shoua <[email protected]>
Date:   Tue Sep 15 02:37:40 2009 -0700

    bonding: remap muticast addresses without using dev_close() and dev_open()
    
    This patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The 
approach
    there is to call dev_close()/dev_open() whenever the device type is changed 
in
    order to remap the device IP multicast addresses to HW multicast addresses.
    This approach suffers from 2 drawbacks:
    
    *. It assumes tha the device is UP when calling dev_close(), or otherwise
       dev_close() has no affect. It is worth to mention that initscripts 
(Redhat)
       and sysconfig (Suse) doesn't act the same in this matter.
    *. dev_close() has other side affects, like deleting entries from the 
routing
       table, which might be unnecessary.
    
    The fix here is to directly remap the IP multicast addresses to HW multicast
    addresses for a bonding device that changes its type, and nothing else.
    
    Reported-by:   Jason Gunthorpe <[email protected]>
    Signed-off-by: Moni Shoua <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    (cherry picked from commit 75c78500ddad74b229cd0691496b8549490496a2)

commit 7544d5aab497992a587a307067e99032ea313711
Author: Jens Rosenboom <[email protected]>
Date:   Thu Sep 17 10:24:24 2009 -0700

    ipv6: Log the affected address when DAD failure occurs
    
    If an interface has multiple addresses, the current message for DAD
    failure isn't really helpful, so this patch adds the address itself to
    the printk.
    
    Signed-off-by: Jens Rosenboom <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    (cherry picked from commit 0522fea6505f7b03a82787acdc6ad3066d9b4de3)

commit d3ec0e8ec17a7601875f18820807866577f3ed19
Author: Brian Haley <[email protected]>
Date:   Wed Sep 9 14:41:32 2009 +0000

    ipv6: Add IFA_F_DADFAILED flag
    
    Add IFA_F_DADFAILED flag to denote an IPv6 address that has
    failed Duplicate Address Detection, that way tools like
    /sbin/ip can be more informative.
    
    3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
        inet6 2001:db8::1/64 scope global tentative dadfailed
           valid_lft forever preferred_lft forever
    
    Signed-off-by: Brian Haley <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    (cherry picked from commit cc411d0bae9c19ec85a150aeab4b08335f5751d1)

commit c5eff445787835685104ec600f5a7d2f18afa2ab
Author: Eric Dumazet <[email protected]>
Date:   Mon Feb 8 20:32:40 2010 +0100

    dst: call cond_resched() in dst_gc_task()
    
    Le lundi 08 février 2010 à 15:32 +0100, Eric Dumazet a écrit :
    > Le lundi 08 février 2010 à 15:16 +0100, Paweł Staszewski a écrit :
    >
    > > >
    > > Some day ago after info about route cache i was have  also this info:
    >
    > > Code: fe 79 4c 00 48 85 db 74 14 48 8b 74 24 10 48 89 ef ff 13 48 83 c3 
08 48
    > > 83 3b 00 eb ea 48 83 c4 18 5b 5d 41 5c 41 5d 41 5e 41 5f<c3>  55 48 89 
f5 53 48
    > > 89 fb 48 83 ec 08 48 8b 76 18 48 2b 75 10
    > > Call Trace:
    > >   <IRQ>   [<ffffffff8126826f>] ? e1000_put_txbuf+0x62/0x74
    > >   [<ffffffff8126834a>] ? e1000_clean_tx_irq+0xc9/0x235
    > >   [<ffffffff8126b71b>] ? e1000_clean+0x5c/0x21c
    > >   [<ffffffff812f29a3>] ? net_rx_action+0x71/0x15d
    > >   [<ffffffff81035311>] ? __do_softirq+0xd7/0x196
    > >   [<ffffffff81002dac>] ? call_softirq+0x1c/0x28
    > >   [<ffffffff812f768f>] ? dst_gc_task+0x0/0x1a7
    > >   [<ffffffff81002dac>] ? call_softirq+0x1c/0x28
    > >   <EOI>   [<ffffffff81004599>] ? do_softirq+0x31/0x63
    > >   [<ffffffff81034ec1>] ? local_bh_enable_ip+0x75/0x86
    > >   [<ffffffff812f768f>] ? dst_gc_task+0x0/0x1a7
    > >   [<ffffffff812f775d>] ? dst_gc_task+0xce/0x1a7
    > >   [<ffffffff8136b08c>] ? schedule+0x82c/0x906
    > >   [<ffffffff8103c44f>] ? lock_timer_base+0x26/0x4b
    > >   [<ffffffff810a41d6>] ? cache_reap+0x0/0x11d
    > >   [<ffffffff81044c38>] ? worker_thread+0x14c/0x1dc
    > >   [<ffffffff81047dcd>] ? autoremove_wake_function+0x0/0x2e
    > >   [<ffffffff81044aec>] ? worker_thread+0x0/0x1dc
    > >   [<ffffffff810479bd>] ? kthread+0x79/0x81
    > >   [<ffffffff81002cb4>] ? kernel_thread_helper+0x4/0x10
    > >   [<ffffffff81047944>] ? kthread+0x0/0x81
    > >
    > >
    > >   [<ffffffff81002cb0>] ? kernel_thread_helper+0x0/0x10
    > >
    > >
    >
    > This trace is indeed very interesting, since dst_gc_task() is run from a
    > work queue, and there is no scheduling point in it.
    >
    > We might need add a scheduling point in dst_gc_task() in case huge
    > number of entries were flushed.
    >
    
    David, here is the patch I sent to Pawel to solve this problem.
    This probaby is a stable candidate.
    
    Thanks
    
    [PATCH] dst: call cond_resched() in dst_gc_task()
    
    On some workloads, it is quite possible to get a huge dst list to
    process in dst_gc_task(), and trigger soft lockup detection.
    
    Fix is to call cond_resched(), as we run in process context.
    
    Reported-by: Pawel Staszewski <[email protected]>
    Tested-by: Pawel Staszewski <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>

http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=bb3ca67a714557c18fc2782eacb695e9d0401736
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=bb27cb9460991036cd7a9e5ddbd6c03553f3baec
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=337f5011c7315b14f72e6e54d413f6432050f773
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=7544d5aab497992a587a307067e99032ea313711
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=d3ec0e8ec17a7601875f18820807866577f3ed19
http://suva.vyatta.com/git/?p=linux-vyatta.git;a=commitdiff;h=c5eff445787835685104ec600f5a7d2f18afa2ab
_______________________________________________
svn mailing list
[email protected]
http://mailman.vyatta.com/mailman/listinfo/svn

Reply via email to