BUG in bcm32xx-d80211: sleeping function called with irq's disabled

2006-09-02 Thread Larry Finger
The latest git pull from wireless-dev (g7844a579) is calling a sleeping 
function with irq's
disabled. The kernel is a UP version with preemption disabled. The dump is as 
follows:

kernel: bcm43xx_d80211: Virtual interface added (type: 0x0002, ID: 4, MAC: 
00:06:25:40:6f:03)
kernel: bcm43xx_d80211: PHY connected
kernel: BUG: sleeping function called from invalid context at kernel/mutex.c:86
kernel: in_atomic():0, irqs_disabled():1
kernel:  [] show_trace_log_lvl+0x197/0x1c0
kernel:  [] show_trace+0x1b/0x20
kernel:  [] dump_stack+0x26/0x30
kernel:  [] __might_sleep+0xa2/0xc0
kernel:  [] mutex_lock+0x1d/0x30
kernel:  [] ssb_core_is_enabled+0x1a/0x50 [ssb]
kernel:  [] bcm43xx_wireless_core_reset+0x1d/0xc0 [bcm43xx_d80211]
kernel:  [] bcm43xx_phy_calibrate+0x74/0xe0 [bcm43xx_d80211]
kernel:  [] wireless_core_up+0x5b/0x700 [bcm43xx_d80211]
kernel:  [] bcm43xx_select_wireless_core+0x22a/0x8c0 [bcm43xx_d80211]
kernel:  [] bcm43xx_init_board+0x84/0xb0 [bcm43xx_d80211]
kernel:  [] bcm43xx_net_open+0x16/0x20 [bcm43xx_d80211]
kernel:  [] ieee80211_open+0x175/0x360 [80211]
kernel:  [] dev_open+0x43/0x90
kernel:  [] dev_change_flags+0x55/0x130
kernel:  [] devinet_ioctl+0x65f/0x6d0
kernel:  [] inet_ioctl+0x88/0xb0
kernel:  [] sock_ioctl+0xbb/0x260
kernel:  [] do_ioctl+0x2b/0x80
kernel:  [] vfs_ioctl+0x51/0x290
kernel:  [] sys_ioctl+0x41/0x60
kernel:  [] sysenter_past_esp+0x56/0x8d
kernel:  [] 0xb7f35410
kernel:  [] show_trace+0x1b/0x20
kernel:  [] dump_stack+0x26/0x30
kernel:  [] __might_sleep+0xa2/0xc0
kernel:  [] mutex_lock+0x1d/0x30
kernel:  [] ssb_core_is_enabled+0x1a/0x50 [ssb]
kernel:  [] bcm43xx_wireless_core_reset+0x1d/0xc0 [bcm43xx_d80211]
kernel:  [] bcm43xx_phy_calibrate+0x74/0xe0 [bcm43xx_d80211]
kernel:  [] wireless_core_up+0x5b/0x700 [bcm43xx_d80211]
kernel:  [] bcm43xx_select_wireless_core+0x22a/0x8c0 [bcm43xx_d80211]
kernel:  [] bcm43xx_init_board+0x84/0xb0 [bcm43xx_d80211]
kernel:  [] bcm43xx_net_open+0x16/0x20 [bcm43xx_d80211]
kernel:  [] ieee80211_open+0x175/0x360 [80211]
kernel:  [] dev_open+0x43/0x90
kernel:  [] dev_change_flags+0x55/0x130
kernel:  [] devinet_ioctl+0x65f/0x6d0
kernel:  [] inet_ioctl+0x88/0xb0
kernel:  [] sock_ioctl+0xbb/0x260
kernel:  [] do_ioctl+0x2b/0x80
kernel:  [] vfs_ioctl+0x51/0x290
kernel:  [] sys_ioctl+0x41/0x60
kernel:  [] sysenter_past_esp+0x56/0x8d
kernel: bcm43xx_d80211: PHY disconnected

-- 
VGER BF report: U 0.500028
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


neigh_lookup lockdep warning

2006-09-02 Thread Dave Jones
Seen during boot of a 2.6.18rc5-git1 based kernel.

Dave

===
[ INFO: possible circular locking dependency detected ]
2.6.17-1.2608.fc6 #1
---
swapper/0 is trying to acquire lock:
 (&tbl->lock){-+-+}, at: [] neigh_lookup+0x50/0xaf

but task is already holding lock:
 (&list->lock#3){-+..}, at: [] neigh_proxy_process+0x20/0xc2

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #2 (&list->lock#3){-+..}:
   [] lock_acquire+0x4b/0x6d
   [] _spin_lock_irqsave+0x22/0x32
   [] skb_dequeue+0x12/0x43
   [] skb_queue_purge+0x14/0x1b
   [] neigh_update+0x34a/0x3a6
   [] arp_process+0x4ad/0x4e7
   [] arp_rcv+0xd4/0xf1
   [] netif_receive_skb+0x205/0x274
   [] rhine_napipoll+0x28d/0x449 [via_rhine]
   [] net_rx_action+0x9d/0x196
   [] __do_softirq+0x78/0xf2
   [] do_softirq+0x5a/0xbe

-> #1 (&n->lock){-+..}:
   [] lock_acquire+0x4b/0x6d
   [] _write_lock+0x19/0x28
   [] neigh_periodic_timer+0x98/0x13c
   [] run_timer_softirq+0x108/0x167
   [] __do_softirq+0x78/0xf2
   [] do_softirq+0x5a/0xbe

-> #0 (&tbl->lock){-+-+}:
   [] lock_acquire+0x4b/0x6d
   [] _read_lock_bh+0x1e/0x2d
   [] neigh_lookup+0x50/0xaf
   [] neigh_event_ns+0x2c/0x77
   [] arp_process+0x369/0x4e7
   [] parp_redo+0x8/0xa
   [] neigh_proxy_process+0x66/0xc2
   [] run_timer_softirq+0x108/0x167
   [] __do_softirq+0x78/0xf2
   [] do_softirq+0x5a/0xbe

other info that might help us debug this:

1 lock held by swapper/0:
 #0:  (&list->lock#3){-+..}, at: [] neigh_proxy_process+0x20/0xc2

stack backtrace:
 [] show_trace_log_lvl+0x58/0x159
 [] show_trace+0xd/0x10
 [] dump_stack+0x19/0x1b
 [] print_circular_bug_tail+0x59/0x64
 [] __lock_acquire+0x80d/0x99c
 [] lock_acquire+0x4b/0x6d
 [] _read_lock_bh+0x1e/0x2d
 [] neigh_lookup+0x50/0xaf
 [] neigh_event_ns+0x2c/0x77
 [] arp_process+0x369/0x4e7
 [] parp_redo+0x8/0xa
 [] neigh_proxy_process+0x66/0xc2
 [] run_timer_softirq+0x108/0x167
 [] __do_softirq+0x78/0xf2
 [] do_softirq+0x5a/0xbe
 [] irq_exit+0x3d/0x3f
 [] smp_apic_timer_interrupt+0x79/0x7e
 [] apic_timer_interrupt+0x2a/0x30
DWARF2 unwinder stuck at apic_timer_interrupt+0x2a/0x30
Leftover inexact backtrace:

-- 
http://www.codemonkey.org.uk

-- 
VGER BF report: U 0.489161
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.18-rc5 with GRE, iptables and Speedtouch ADSL, PPP over ATM

2006-09-02 Thread Francois Romieu
Krzysztof Halasa <[EMAIL PROTECTED]> :
[...]
> ===
> [ INFO: possible circular locking dependency detected ]
> ---
> swapper/0 is trying to acquire lock:
>  (&dev->queue_lock){-+..}, at: [] dev_queue_xmit+0x56/0x290
> 
> but task is already holding lock:
>  (&dev->_xmit_lock){-+..}, at: [] dev_queue_xmit+0x224/0x290
> 
> which lock already depends on the new lock.
> 
> 
> the existing dependency chain (in reverse order) is:
> 
> -> #1 (&dev->_xmit_lock){-+..}:
>[] lock_acquire+0x76/0xa0
>[] _spin_lock_bh+0x31/0x40
>[] dev_activate+0x69/0x120
[...]
>[] vfs_ioctl+0x57/0x290
>[] sys_ioctl+0x39/0x60
>[] sysenter_past_esp+0x56/0x8d

> 
> -> #0 (&dev->queue_lock){-+..}:
>[] lock_acquire+0x76/0xa0
>[] _spin_lock+0x2c/0x40
>[] dev_queue_xmit+0x56/0x290
[...]
>[] __do_softirq+0x55/0xc0
>[] do_softirq+0x63/0xd0

dev_activate takes BH disabling locks only. How could a softirq happen
on the same cpu and trigger a deadlock ?

-- 
Ueimor

-- 
VGER BF report: U 0.500151
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.18-rc5 + pata-drivers on MSI K9N Ultra report, AMD64

2006-09-02 Thread Alan Cox
Ar Sad, 2006-09-02 am 22:14 +0200, ysgrifennodd Krzysztof Halasa:
> ata3: PATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFFA0 irq 14
> ata4: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFFA8 irq 15
> 
> There is no secondary IDE connector on this motherboard, I think
> it's just disabled by BIOS.

Its there if it got that far. May not be wired.

> scsi3 : pata_amd
> ata4: port is slow to respond, please be patient
> ata4: port failed to respond (30 secs)

Please send me an lspci -vxxx. This might be BIOS or might be us
misparsing disable/enable bits.



-- 
VGER BF report: U 0.5
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ProxyARP and IPSec

2006-09-02 Thread Stephen J. Bevan
 > 
 > 
 > What I great idea.  Now I just have to get every host I want to 
 > interoperate with to support a nonstandard configuration.  The scary 
 > part is that if I motivate it with "Linux is too stupid to handle 
 > standard tunnel-mode IPsec" I might actually get away with it.
 > 
 > 

Linux handles tunnel-mode IPsec in the same way that most IPsec
vendors did and many still do.  For example, Cisco IOS has pages and
pages of documentation about how to combine IPsec with GRE in order to
support securely running OSPF between sites, precisely because its
IPsec didn't offer a virtual interface.  However, Cisco (along with
Netscreen/Juniper and Fortinet) now additionally support IPsec that
uses a virtual interface and so you have a choice of using an
interface or not as you see fit.  I would be useful if Linux offered
the option but code talks and I'm not offering a patch so I'm not in a
position to complain about what Linux currently supports.


 > Really... if saying our configuration is so screwed up that we have to 
 > run a different over-wire protocol isn't an admission of failure I don't 

If you use ipip the over-wire protocol is identical, see RFC 3884
section 3.1 or you can test it right now using manual keying (remote
side uses tunnel mode, your side uses transport + ipip).  To use IKE
pluto would need to be hacked a bit, though most of the changes could
be handled via a updown script.


 > know what is.  I suspect this contributes to the growth in OpenVPN as well.

Haven't you heard, SSL based VPNs are the future :-)

-- 
VGER BF report: U 0.947229
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


2.6.18-rc5 with GRE, iptables and Speedtouch ADSL, PPP over ATM

2006-09-02 Thread Krzysztof Halasa
Hi,

FYI: Just enabled kernel lock testers on my old laptop machine
doing "internet services". 2.6.18-rc5, i686. All details available
on request, of course.

There is IP GRE tunnel here running over ADSL connection (USB
Thomson/Alcatel Speedtouch 330, PPP over ATM, in-kernel drivers).
Ethernet is DLink Tulip-based (PC Card 32-bit), probably not
relevant here. Iptables doing mostly ACCEPTs, REJECT and DROPs in
INPUT and FORWARD, there is also MASQUERADE but it probably doesn't
matter. Few ip rules directing some traffic to the GRE tunnel as well.

===
[ INFO: possible circular locking dependency detected ]
---
swapper/0 is trying to acquire lock:
 (&dev->queue_lock){-+..}, at: [] dev_queue_xmit+0x56/0x290

but task is already holding lock:
 (&dev->_xmit_lock){-+..}, at: [] dev_queue_xmit+0x224/0x290

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&dev->_xmit_lock){-+..}:
   [] lock_acquire+0x76/0xa0
   [] _spin_lock_bh+0x31/0x40
   [] dev_activate+0x69/0x120
   [] dev_open+0x59/0x70
   [] dev_change_flags+0x51/0x110
   [] devinet_ioctl+0x484/0x670
   [] inet_ioctl+0x6b/0x80
   [] sock_ioctl+0x118/0x200
   [] do_ioctl+0x20/0x70
   [] vfs_ioctl+0x57/0x290
   [] sys_ioctl+0x39/0x60
   [] sysenter_past_esp+0x56/0x8d

-> #0 (&dev->queue_lock){-+..}:
   [] lock_acquire+0x76/0xa0
   [] _spin_lock+0x2c/0x40
   [] dev_queue_xmit+0x56/0x290
   [] ip_output+0x1ad/0x250
   [] ipgre_tunnel_xmit+0x412/0x740 [ip_gre]
   [] dev_hard_start_xmit+0x1bb/0x220
   [] dev_queue_xmit+0x23b/0x290
   [] ip_output+0x1ad/0x250
   [] reject+0x37c/0x6d0
   [] ipt_do_table+0x2b8/0x330
   [] ipt_hook+0x27/0x30
   [] nf_iterate+0x59/0x80
   [] nf_hook_slow+0x4a/0xc0
   [] ip_local_deliver+0x175/0x1c0
   [] ip_rcv+0x25c/0x480
   [] netif_receive_skb+0x15e/0x1e0
   [] process_backlog+0x82/0x110
   [] net_rx_action+0x72/0x120
   [] __do_softirq+0x55/0xc0
   [] do_softirq+0x63/0xd0

other info that might help us debug this:

2 locks held by swapper/0:
 #0:  (&table->lock){-.-+}, at: [] ipt_do_table+0x51/0x330
 #1:  (&dev->_xmit_lock){-+..}, at: [] dev_queue_xmit+0x224/0x290

stack backtrace:
 [] show_trace+0x12/0x20
 [] dump_stack+0x19/0x20
 [] print_circular_bug_tail+0x61/0x70
 [] __lock_acquire+0xac6/0xd70
 [] lock_acquire+0x76/0xa0
 [] _spin_lock+0x2c/0x40
 [] dev_queue_xmit+0x56/0x290
 [] ip_output+0x1ad/0x250
 [] ipgre_tunnel_xmit+0x412/0x740 [ip_gre]
 [] dev_hard_start_xmit+0x1bb/0x220
 [] dev_queue_xmit+0x23b/0x290
 [] ip_output+0x1ad/0x250
 [] reject+0x37c/0x6d0
 [] ipt_do_table+0x2b8/0x330
 [] ipt_hook+0x27/0x30
 [] nf_iterate+0x59/0x80
 [] nf_hook_slow+0x4a/0xc0
 [] ip_local_deliver+0x175/0x1c0
 [] ip_rcv+0x25c/0x480
 [] netif_receive_skb+0x15e/0x1e0
 [] process_backlog+0x82/0x110
 [] net_rx_action+0x72/0x120
 [] __do_softirq+0x55/0xc0
 [] do_softirq+0x63/0xd0
 ===
 [] irq_exit+0x35/0x40
 [] do_IRQ+0x8f/0xf0
 [] common_interrupt+0x25/0x2c
 [] cpu_idle+0x39/0x50
 [] rest_init+0x1e/0x30
 [] start_kernel+0x25e/0x2c0
 [] 0xc0100199

-- 
Krzysztof Halasa

-- 
VGER BF report: U 0.5
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


2.6.18-rc5 + pata-drivers on MSI K9N Ultra report, AMD64

2006-09-02 Thread Krzysztof Halasa
Hi,

Keywords: nForce PCIe, forcedeth, nForce PATA, Radeon DRM, ALC883 HDA sound

FYI: running 2.6.18-rc5 + pata-drivers on MSI mb K9N Ultra (NVidia
MCP55, PCIe, Athlon64, x86_64, no SMP, no preempt) gives the following
(all details available on request, of course):

"Nvidia board detected. Ignoring ACPI timer override."
I don't know if it should be ignored or not, anymore. It's probably ok.


PCI: Setting latency timer of device :00:0b.0 to 64
pcie_portdrv_probe->Dev[0374:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[:00:0b.0:pcie00]
PCI: Setting latency timer of device :00:0c.0 to 64
pcie_portdrv_probe->Dev[0374:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[:00:0c.0:pcie00]
PCI: Setting latency timer of device :00:0d.0 to 64
pcie_portdrv_probe->Dev[0378:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[:00:0d.0:pcie00]
PCI: Setting latency timer of device :00:0e.0 to 64
pcie_portdrv_probe->Dev[0375:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[:00:0e.0:pcie00]
PCI: Setting latency timer of device :00:0f.0 to 64
pcie_portdrv_probe->Dev[0377:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[:00:0f.0:pcie00]

The above seem to be some PCIe bridges.

ata1 and ata2 are SATA.

ata3: PATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFFA0 irq 14
ata4: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFFA8 irq 15

There is no secondary IDE connector on this motherboard, I think
it's just disabled by BIOS.

scsi3 : pata_amd
ata4: port is slow to respond, please be patient
ata4: port failed to respond (30 secs)
ata4: SRST failed (status 0xFF)
ata4: SRST failed (err_mask=0x100)
ata4: softreset failed, retrying in 5 secs
ata4: SRST failed (status 0xFF)
ata4: SRST failed (err_mask=0x100)
ata4: softreset failed, retrying in 5 secs
ata4: SRST failed (status 0xFF)
ata4: SRST failed (err_mask=0x100)
ata4: reset failed, giving up

While not a big problem, the above sequence takes 40 seconds while
booting.


hda_codec: Unknown model for ALC883, trying auto-probe from BIOS...
ALSA device list:
  #0: HDA NVidia at 0xfeaf4000 irq 233


eth0: forcedeth.c: subsystem: 01462:7250 bound to :00:08.0
eth1: forcedeth.c: subsystem: 01462:7250 bound to :00:09.0

BUG: warning at /usr/src/linux-2.6/kernel/lockdep.c:1803/trace_hardirqs_on()

Call Trace:
  [] trace_hardirqs_on+0xc5/0x150
 [] _spin_unlock_irq+0x2b/0x40
 [] :forcedeth:nv_nic_irq_tx+0x7e/0x130
 [] handle_IRQ_event+0x2c/0x70
 [] __do_IRQ+0xc4/0x140
 [] do_IRQ+0xfd/0x110
 [] ret_from_intr+0x0/0xf
  [] _spin_unlock_irq+0x2b/0x40
 [] _spin_unlock_irq+0x30/0x40
 [] do_setitimer+0x159/0x480
 [] trace_hardirqs_on_thunk+0x35/0x37
 [] alarm_setitimer+0x35/0x60
 [] sys_alarm+0x9/0x10
 [] cstar_do_call+0x1b/0x6f

[drm] Initialized radeon 1.25.0 20060524 on minor 0
[drm:radeon_do_init_cp] *ERROR* Cannot initialise DRM on this card
This card requires a new X.org DDX

Apparently IA32 emulation doesn't work for
radeon_cp_setparam(DRM_IOCTL_ARGS) -> RADEON_SETPARAM_NEW_MEMMAP
(32-bit kernel doesn't have this problem).


$ /sbin/lspci 
00:00.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a1)
00:01.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2)
00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1)
00:05.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2)
00:06.0 PCI bridge: nVidia Corporation Unknown device 0370 (rev a2)
00:06.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2)
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
00:09.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
00:0b.0 PCI bridge: nVidia Corporation Unknown device 0374 (rev a2)
00:0c.0 PCI bridge: nVidia Corporation Unknown device 0374 (rev a2)
00:0d.0 PCI bridge: nVidia Corporation Unknown device 0378 (rev a2)
00:0e.0 PCI bridge: nVidia Corporation Unknown device 0375 (rev a2)
00:0f.0 PCI bridge: nVidia Corporation Unknown device 0377 (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address 
Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM 
Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] 
Miscellaneous Control
01:02.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
01:02.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 08)
06:00.0 VGA compatible controller: ATI Technologies Inc R430 [Radeon X800 XL] 
(PCIe)
06:00.1 Display controller: ATI Techn

Re: [IPSEC]: searching SAD without assumming L3 details

2006-09-02 Thread James Morris
On Sat, 2 Sep 2006, jamal wrote:

> On Sat, 2006-02-09 at 11:04 -0400, James Morris wrote:
> > On Sat, 2 Sep 2006, jamal wrote:
> 
> > +   
> > +   spin_lock(&xfrm_state_lock);
> > 
> > Shouldn't this be spin_lock_bh()?
> > 
> > +   spin_unlock(&xfrm_state_lock);
> > +
> 
> the call is made at the moment only by pktgen (kernel threads on
> dev_queue_xmit level contending with softirqs essentially). I think
> (although havent tried) the spin_{un}lock_bh() wont work. Thoughts?

If bh's are already disabled when you call this, it'll be ok, but as this 
will be a generally exported function, I'd suggest using bh locking.  I 
guess you could also make a xfrm_stateonly_find_bh() to be called only 
with bh's disabled, if needed.


- James
-- 
James Morris
<[EMAIL PROTECTED]>

-- 
VGER BF report: U 0.523211
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [IPSEC]: searching SAD without assumming L3 details

2006-09-02 Thread jamal
On Sat, 2006-02-09 at 13:16 -0400, jamal wrote:

> the call is made at the moment only by pktgen (kernel threads on
> dev_queue_xmit level contending with softirqs essentially). I think
> (although havent tried) the spin_{un}lock_bh() wont work. Thoughts?
> Obviously the easy thing for me to do is change it and see what
> happens;->

Both your suggestions work. Should i instead just use read_{un}lock_bh?
All i am doing is scanning to find the state.

cheers,
jamal



-- 
VGER BF report: U 0.502731
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ProxyARP and IPSec

2006-09-02 Thread H. Peter Anvin

Stephen J. Bevan wrote:

H. Peter Anvin writes:
 > Fair enough.  However, that does beg a question: is there any sane way 
 > to create the pseudo-device model on top of the current model, as a 
 > convenience layer?  That way you could get the best of both.


I assume you were using tunnel-mode IPsec and depending on exactly
what you want to do you may be able to replace it with transport mode
IPsec (or stay with tunnel if the extra 20 bytes of IP is not a
problem) to handle host<->host IPsec and use gre or ipip for overlay
network.  That way you get a virtual device (gre or ipip) you can
route to, run OSPF on, ... etc.




What I great idea.  Now I just have to get every host I want to 
interoperate with to support a nonstandard configuration.  The scary 
part is that if I motivate it with "Linux is too stupid to handle 
standard tunnel-mode IPsec" I might actually get away with it.




Really... if saying our configuration is so screwed up that we have to 
run a different over-wire protocol isn't an admission of failure I don't 
know what is.  I suspect this contributes to the growth in OpenVPN as well.


-hpa

--
VGER BF report: U 0.53
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [IPSEC]: searching SAD without assumming L3 details

2006-09-02 Thread jamal
On Sat, 2006-02-09 at 11:04 -0400, James Morris wrote:
> On Sat, 2 Sep 2006, jamal wrote:

> +   
> +   spin_lock(&xfrm_state_lock);
> 
> Shouldn't this be spin_lock_bh()?
> 
> +   spin_unlock(&xfrm_state_lock);
> +

the call is made at the moment only by pktgen (kernel threads on
dev_queue_xmit level contending with softirqs essentially). I think
(although havent tried) the spin_{un}lock_bh() wont work. Thoughts?
Obviously the easy thing for me to do is change it and see what
happens;->

> +   if (rx)
> +   xfrm_state_hold(rx);
> 
> I think you need to grab the reference before letting go of the lock.
> 

I believe you are right. I will make the change, retest and repost.

> 
> Can you please include patches inline, or tell me how to get pine to 
> quote attachments? :-)

I could get evolution to inline attachments although last time i tried
it made Dave unhappy with not being to use git am or some such
reason ;-> I think some white spaces get added or some other mangling
happens.
I could try it on the repost.

Thanks for the comments James.

cheers,
jamal




-- 
VGER BF report: U 0.55
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ProxyARP and IPSec

2006-09-02 Thread Stephen J. Bevan
H. Peter Anvin writes:
 > Fair enough.  However, that does beg a question: is there any sane way 
 > to create the pseudo-device model on top of the current model, as a 
 > convenience layer?  That way you could get the best of both.

I assume you were using tunnel-mode IPsec and depending on exactly
what you want to do you may be able to replace it with transport mode
IPsec (or stay with tunnel if the extra 20 bytes of IP is not a
problem) to handle host<->host IPsec and use gre or ipip for overlay
network.  That way you get a virtual device (gre or ipip) you can
route to, run OSPF on, ... etc.

-- 
VGER BF report: U 0.498333
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [IPSEC]: searching SAD without assumming L3 details

2006-09-02 Thread James Morris
On Sat, 2 Sep 2006, jamal wrote:

> Against net-2.6.19
> 
> signed-off-by: Jamal Hadi Salim <[EMAIL PROTECTED]>

+xfrm_stateonly_find(xfrm_address_t *daddr, xfrm_address_t *saddr, 
+   unsigned short family, u32 reqid, u8 mode, u8 proto)
+{
+   unsigned int h = xfrm_dst_hash(daddr, saddr, 0, family);
+   struct xfrm_state *rx = NULL, *x = NULL;
+   struct hlist_node *entry;
+   
+   spin_lock(&xfrm_state_lock);

Shouldn't this be spin_lock_bh()?

+   spin_unlock(&xfrm_state_lock);
+
+   if (rx)
+   xfrm_state_hold(rx);

I think you need to grab the reference before letting go of the lock.


Can you please include patches inline, or tell me how to get pine to 
quote attachments? :-)


-- 
James Morris
<[EMAIL PROTECTED]>

-- 
VGER BF report: U 0.5
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[XFRM]: Fix wildcard as tunnel source

2006-09-02 Thread Patrick McHardy
[XFRM]: Fix wildcard as tunnel source

Hashing SAs by source address breaks templates with wildcards as tunnel
source. Remove saddr from the hash key.

Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>

---
commit 19f7b6f33c0e9fbdf23a33506c2dfc0706b0c731
tree bca60eb94c50fcd66673bd87823fd38364b45b55
parent 6ddbd02eb61532f9af4f28912a09717ab8c71d8a
author Patrick McHardy <[EMAIL PROTECTED]> Sat, 02 Sep 2006 16:43:39 +0200
committer Patrick McHardy <[EMAIL PROTECTED]> Sat, 02 Sep 2006 16:43:39 +0200

 net/xfrm/xfrm_hash.h  |8 
 net/xfrm/xfrm_state.c |   17 +++--
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/net/xfrm/xfrm_hash.h b/net/xfrm/xfrm_hash.h
index d3abb0b..deb18ce 100644
--- a/net/xfrm/xfrm_hash.h
+++ b/net/xfrm/xfrm_hash.h
@@ -25,17 +25,17 @@ static inline unsigned int __xfrm6_daddr
 saddr->a6[2] ^ saddr->a6[3]);
 }
 
-static inline unsigned int __xfrm_dst_hash(xfrm_address_t *daddr, 
xfrm_address_t *saddr,
-  u32 reqid, unsigned short family,
+static inline unsigned int __xfrm_dst_hash(xfrm_address_t *daddr, u32 reqid,
+  unsigned short family,
   unsigned int hmask)
 {
unsigned int h = family ^ reqid;
switch (family) {
case AF_INET:
-   h ^= __xfrm4_daddr_saddr_hash(daddr, saddr);
+   h ^= __xfrm4_addr_hash(daddr);
break;
case AF_INET6:
-   h ^= __xfrm6_daddr_saddr_hash(daddr, saddr);
+   h ^= __xfrm6_addr_hash(daddr);
break;
}
return (h ^ (h >> 16)) & hmask;
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 9f63edd..0c26a1f 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -56,11 +56,10 @@ static unsigned int xfrm_state_num;
 static unsigned int xfrm_state_genid;
 
 static inline unsigned int xfrm_dst_hash(xfrm_address_t *daddr,
-xfrm_address_t *saddr,
 u32 reqid,
 unsigned short family)
 {
-   return __xfrm_dst_hash(daddr, saddr, reqid, family, xfrm_state_hmask);
+   return __xfrm_dst_hash(daddr, reqid, family, xfrm_state_hmask);
 }
 
 static inline unsigned int xfrm_src_hash(xfrm_address_t *addr,
@@ -87,9 +86,8 @@ static void xfrm_hash_transfer(struct hl
hlist_for_each_entry_safe(x, entry, tmp, list, bydst) {
unsigned int h;
 
-   h = __xfrm_dst_hash(&x->id.daddr, &x->props.saddr,
-   x->props.reqid, x->props.family,
-   nhashmask);
+   h = __xfrm_dst_hash(&x->id.daddr, x->props.reqid,
+   x->props.family, nhashmask);
hlist_add_head(&x->bydst, ndsttable+h);
 
h = __xfrm_src_hash(&x->props.saddr, x->props.family,
@@ -506,7 +504,7 @@ xfrm_state_find(xfrm_address_t *daddr, x
struct xfrm_policy *pol, int *err,
unsigned short family)
 {
-   unsigned int h = xfrm_dst_hash(daddr, saddr, tmpl->reqid, family);
+   unsigned int h = xfrm_dst_hash(daddr, tmpl->reqid, family);
struct hlist_node *entry;
struct xfrm_state *x, *x0;
int acquire_in_progress = 0;
@@ -615,8 +613,7 @@ static void __xfrm_state_insert(struct x
 
x->genid = ++xfrm_state_genid;
 
-   h = xfrm_dst_hash(&x->id.daddr, &x->props.saddr,
- x->props.reqid, x->props.family);
+   h = xfrm_dst_hash(&x->id.daddr, x->props.reqid, x->props.family);
hlist_add_head(&x->bydst, xfrm_state_bydst+h);
 
h = xfrm_src_hash(&x->props.saddr, x->props.family);
@@ -652,7 +649,7 @@ static void __xfrm_state_bump_genids(str
struct hlist_node *entry;
unsigned int h;
 
-   h = xfrm_dst_hash(&xnew->id.daddr, &xnew->props.saddr, reqid, family);
+   h = xfrm_dst_hash(&xnew->id.daddr, reqid, family);
hlist_for_each_entry(x, entry, xfrm_state_bydst+h, bydst) {
if (x->props.family == family &&
x->props.reqid  == reqid &&
@@ -674,7 +671,7 @@ EXPORT_SYMBOL(xfrm_state_insert);
 /* xfrm_state_lock is held */
 static struct xfrm_state *__find_acq_core(unsigned short family, u8 mode, u32 
reqid, u8 proto, xfrm_address_t *daddr, xfrm_address_t *saddr, int create)
 {
-   unsigned int h = xfrm_dst_hash(daddr, saddr, reqid, family);
+   unsigned int h = xfrm_dst_hash(daddr, reqid, family);
struct hlist_node *entry;
struct xfrm_state *x;
 


e1000 Detected Tx Unit Hang

2006-09-02 Thread Paul Aviles
I am getting "e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang"  using 
stock 2.6.17.11, 2.6.17.5 or 2.6.17.4 kernels on centos 4.3.


The server is a Tyan GS12 ( 82541GI/PI and 82547GI) and is connected to a 
Netgear GS724T Gig  switch. I can easily reproduce the problem by trying to 
do a large ftp transfer to the server. It does not happen if the server is 
connected to a dummy 100 Mb switch, only when is connected to the Gig 
switch.
I have also tried the options line below disabling tso, tx and rx in the 
modprobe.conf without any luck.


options e1000 XsumRX=0 Speed=1000 Duplex=2 InterruptThrottleRate=0 
FlowControl=3 RxDescriptors=4096 TxDescriptors=4096 RxIntDelay=0 
TxIntDelay=0


in /var/log/kernel I get the following...

Sep  1 23:53:01 www kernel: e1000: eth0: e1000_clean_tx_irq: Detected Tx 
Unit Hang

Sep  1 23:53:01 www kernel:   Tx Queue <0>
Sep  1 23:53:01 www kernel:   TDH  <4c4>
Sep  1 23:53:01 www kernel:   TDT  <4c9>
Sep  1 23:53:01 www kernel:   next_to_use  <4c9>
Sep  1 23:53:01 www kernel:   next_to_clean<4c4>
Sep  1 23:53:01 www kernel: buffer_info[next_to_clean]
Sep  1 23:53:01 www kernel:   time_stamp   
Sep  1 23:53:01 www kernel:   next_to_watch<4c4>
Sep  1 23:53:01 www kernel:   jiffies  
Sep  1 23:53:01 www kernel:   next_to_watch.status <0>
.
repeats the same as above a few times
.
Sep  1 23:53:10 www kernel: NETDEV WATCHDOG: eth0: transmit timed out
Sep  1 23:53:13 www kernel: e1000: eth0: e1000_watchdog_task: NIC Link
is Up 1000 Mbps Full Duplex

then the server locks up, no response from the keyboard at all and must be 
forced down with a power kill. The suggested tips on how to deal with this 
issue are not working so if I can help troubleshoot this let me know.


Here is my system info,

driver: e1000
version: 7.0.33-k2-NAPI
firmware-version: N/A
bus-info: :02:01.0

lspci -vv output below..

00:00.0 Host bridge: Intel Corporation 82875P/E7210 Memory Controller Hub 
(rev 02)

   Subsystem: Intel Corporation 82875P/E7210 Memory Controller Hub
   Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B-
   Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
SERR- 
   Latency: 0
   Region 0: Memory at 9000 (32-bit, prefetchable) [size=128M]
   Capabilities: [e4] Vendor Specific Information
   Capabilities: [a0] AGP version 3.0
   Status: RQ=32 Iso- ArqSz=2 Cal=0 SBA+ ITACoh- GART64- 
HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
   Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- 
Rate=


00:01.0 PCI bridge: Intel Corporation 82875P Processor to AGP Controller 
(rev 02) (prog-if 00 [Normal decode])
   Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
   Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
SERR- 
   Latency: 64
   Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
   Secondary status: 66Mhz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- 

   BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-

00:03.0 PCI bridge: Intel Corporation 82875P/E7210 Processor to PCI to CSA 
Bridge (rev 02) (prog-if 00 [Normal decode])
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B-
   Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
SERR- 
   Latency: 32
   Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
   I/O behind bridge: 2000-2fff
   Memory behind bridge: fc10-fc1f
   Secondary status: 66Mhz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- 

   BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-

00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI 
Controller #1 (rev 02) (prog-if 00 [UHCI])

   Subsystem: Intel Corporation: Unknown device 24c0
   Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
SERR- 
   Latency: 0
   Interrupt: pin A routed to IRQ 18
   Region 4: I/O ports at 1400 [size=32]

00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI 
Controller #2 (rev 02) (prog-if 00 [UHCI])

   Subsystem: Intel Corporation: Unknown device 24c0
   Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
SERR- 
   Latency: 0
   Interrupt: pin B routed to IRQ 19
   Region 4: I/O ports at 1420 [size=32]

00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI 
Controller #3 (rev 02) (prog-if 00 [UHCI])

   Subsystem: Intel Corporation: Unknown device 24c0
   Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Step

[IPSEC]: searching SAD without assumming L3 details

2006-09-02 Thread jamal
Against net-2.6.19

signed-off-by: Jamal Hadi Salim <[EMAIL PROTECTED]>

cheers,
jamal
Allow for searching the SAD from external data path points without
assumming L3 details. The only customer of this exposure currently
is pktgen.

---
commit 33d3060784e6aa55e30ae7d5efc491180e7f955d
tree 707017ff673d1161f46d69fd818035b6bc50bbdb
parent 0169ac1c2a64f04deeff3dae704f34e22ae59cb7
author Jamal Hadi Salim <[EMAIL PROTECTED]> Sat, 02 Sep 2006 09:38:12 -0400
committer Jamal Hadi Salim <[EMAIL PROTECTED](none)> Sat, 02 Sep 2006 09:38:12 
-0400

 include/net/xfrm.h|4 
 net/xfrm/xfrm_state.c |   33 +
 2 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index bf8e2df..7b0ea47 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -895,6 +895,10 @@ extern struct xfrm_state *xfrm_state_fin
  struct flowi *fl, struct xfrm_tmpl 
*tmpl,
  struct xfrm_policy *pol, int *err,
  unsigned short family);
+extern struct xfrm_state * xfrm_stateonly_find(xfrm_address_t *daddr, 
+xfrm_address_t *saddr, 
+unsigned short family, 
+u32 reqid, u8 mode, u8 proto);
 extern int xfrm_state_check_expire(struct xfrm_state *x);
 extern void xfrm_state_insert(struct xfrm_state *x);
 extern int xfrm_state_add(struct xfrm_state *x);
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 9f63edd..2bfc04e 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -501,6 +501,39 @@ __xfrm_state_locate(struct xfrm_state *x
 }
 
 struct xfrm_state *
+xfrm_stateonly_find(xfrm_address_t *daddr, xfrm_address_t *saddr, 
+   unsigned short family, u32 reqid, u8 mode, u8 proto)
+{
+   unsigned int h = xfrm_dst_hash(daddr, saddr, 0, family);
+   struct xfrm_state *rx = NULL, *x = NULL;
+   struct hlist_node *entry;
+   
+   spin_lock(&xfrm_state_lock);
+   hlist_for_each_entry(x, entry, xfrm_state_bydst+h, bydst) {
+   if (x->props.family == family &&
+   x->props.reqid == reqid && 
+   xfrm_state_addr_check(x, daddr, saddr, family) &&
+   mode == x->props.mode &&
+   proto == x->id.proto)  { 
+
+   if (x->km.state != XFRM_STATE_VALID) 
+   continue;
+   else {
+   rx = x;
+   break; 
+   }
+   }
+   }
+   spin_unlock(&xfrm_state_lock);
+
+   if (rx)
+   xfrm_state_hold(rx);
+
+   return rx;
+}
+EXPORT_SYMBOL(xfrm_stateonly_find);
+
+struct xfrm_state *
 xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr, 
struct flowi *fl, struct xfrm_tmpl *tmpl,
struct xfrm_policy *pol, int *err,


Re: [PATCH] change netfilter tunables to __read_mostly

2006-09-02 Thread Patrick McHardy
Brian Haley wrote:
> Sorry, next time I'll send them to you, or
> [EMAIL PROTECTED]

netfilter-devel is better, that way other people working on netfilter
get a chance to see it as well. I think only a handful of people on
netfilter-devel also follow netdev.

>  I'll cook-up another patch for the
> others you mentioned and send it out.

Thanks.

-- 
VGER BF report: H 1.86495e-12
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Linux UDP Implementation

2006-09-02 Thread Andi Kleen

> It seems that the implementation (at code level) does not match with the 
> actual behaviour. I would like to seek expertise on clarifying my 
> understanding in UDP implementation so that this phenomenon can be 
> explained.

How about you just add some printks or use a tool like systemtap to instrument
the code path?  That should give some insights what is actually going on.

-Andi


-- 
VGER BF report: U 0.473534
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP send/ack lockstep problem

2006-09-02 Thread netdev-owner
Hi,

found it.

This is the tcpdump, for your edification.

Note that many packets have "push" set for no good reason,
which generally indicates dropped packets if we're doing a bulk
transfer. But all packets that are visible in the dump reached their
destination..!

The culprit turns out to be the traffic shaper, which had a
subtly-broken configuration and thus shaped that particular
traffic with a scythe instead of a razor.

A way to attach tcpdump so that those dropped packets get reported
(with an appropriate indication) would probably be helpful.

Anyway, this is not a packet that was dropped on the wire.
So why set the Push flag? TCP *knows* it couldn' send the thing.

09:16:40.652962 IP (tos 0x0, ttl  53, id 16206, offset 0, flags [DF], proto: 
TCP (6), length: 60) 62.193.238.120.58818 > 192.109.102.42.3306: S, cksum 
0x4ef3 (correct), 692009621:692009621(0) win 5840 
09:16:40.653030 IP (tos 0x34, ttl  64, id 0, offset 0, flags [DF], proto: TCP 
(6), length: 60) 192.109.102.42.3306 > 62.193.238.120.58818: S, cksum 0xf277 
(correct), 3232139371:3232139371(0) ack 692009622 win 5696 
09:16:40.705214 IP (tos 0x0, ttl  53, id 16207, offset 0, flags [DF], proto: 
TCP (6), length: 52) 62.193.238.120.58818 > 192.109.102.42.3306: ., cksum 
0x302f (correct), 1:1(0) ack 1 win 1460 
09:16:40.716501 IP (tos 0x38, ttl  64, id 32802, offset 0, flags [DF], proto: 
TCP (6), length: 127) 192.109.102.42.3306 > 62.193.238.120.58818: P 1:76(75) 
ack 1 win 1424 
09:16:40.754853 IP (tos 0x0, ttl  53, id 16208, offset 0, flags [DF], proto: 
TCP (6), length: 52) 62.193.238.120.58818 > 192.109.102.42.3306: ., cksum 
0x2fac (correct), 1:1(0) ack 76 win 1460 
09:16:40.758899 IP (tos 0x0, ttl  53, id 16209, offset 0, flags [DF], proto: 
TCP (6), length: 116) 62.193.238.120.58818 > 192.109.102.42.3306: P 1:65(64) 
ack 76 win 1460 
09:16:40.759877 IP (tos 0x34, ttl  64, id 32803, offset 0, flags [DF], proto: 
TCP (6), length: 52) 192.109.102.42.3306 > 62.193.238.120.58818: ., cksum 
0x2f88 (correct), 76:76(0) ack 65 win 1424 
09:16:40.768414 IP (tos 0x34, ttl  64, id 32804, offset 0, flags [DF], proto: 
TCP (6), length: 63) 192.109.102.42.3306 > 62.193.238.120.58818: P, cksum 
0x2870 (correct), 76:87(11) ack 65 win 1424 
09:16:40.805883 IP (tos 0x0, ttl  53, id 16210, offset 0, flags [DF], proto: 
TCP (6), length: 73) 62.193.238.120.58818 > 192.109.102.42.3306: P, cksum 
0xd2f7 (correct), 65:86(21) ack 87 win 1460 
09:16:40.808077 IP (tos 0x38, ttl  64, id 32805, offset 0, flags [DF], proto: 
TCP (6), length: 140) 192.109.102.42.3306 > 62.193.238.120.58818: P 87:175(88) 
ack 86 win 1424 
09:16:40.847493 IP (tos 0x0, ttl  53, id 16211, offset 0, flags [DF], proto: 
TCP (6), length: 83) 62.193.238.120.58818 > 192.109.102.42.3306: P 86:117(31) 
ack 175 win 1460 
09:16:40.855500 IP (tos 0x38, ttl  64, id 32806, offset 0, flags [DF], proto: 
TCP (6), length: 124) 192.109.102.42.3306 > 62.193.238.120.58818: P 175:247(72) 
ack 117 win 1424 
09:16:40.855701 IP (tos 0x34, ttl  64, id 32807, offset 0, flags [DF], proto: 
TCP (6), length: 52) 192.109.102.42.3306 > 62.193.238.120.58818: F, cksum 
0x2e46 (correct), 247:247(0) ack 117 win 1424 
09:16:40.896780 IP (tos 0x0, ttl  53, id 16212, offset 0, flags [DF], proto: 
TCP (6), length: 57) 62.193.238.120.58818 > 192.109.102.42.3306: P, cksum 
0x2be4 (correct), 117:122(5) ack 247 win 1460 
09:16:40.896811 IP (tos 0x34, ttl  64, id 0, offset 0, flags [DF], proto: TCP 
(6), length: 40) 192.109.102.42.3306 > 62.193.238.120.58818: R, cksum 0x1f59 
(correct), 3232139618:3232139618(0) win 0
09:16:40.897032 IP (tos 0x0, ttl  53, id 16213, offset 0, flags [DF], proto: 
TCP (6), length: 52) 62.193.238.120.58818 > 192.109.102.42.3306: F, cksum 
0x2deb (correct), 122:122(0) ack 247 win 1460 
09:16:40.897058 IP (tos 0x34, ttl  64, id 0, offset 0, flags [DF], proto: TCP 
(6), length: 40) 192.109.102.42.3306 > 62.193.238.120.58818: R, cksum 0x1f59 
(correct), 3232139618:3232139618(0) win 0
09:16:40.898497 IP (tos 0x0, ttl  53, id 16214, offset 0, flags [DF], proto: 
TCP (6), length: 52) 62.193.238.120.58818 > 192.109.102.42.3306: ., cksum 
0x2de8 (correct), 123:123(0) ack 248 win 1460 
09:16:40.898517 IP (tos 0x34, ttl  64, id 0, offset 0, flags [DF], proto: TCP 
(6), length: 40) 192.109.102.42.3306 > 62.193.238.120.58818: R, cksum 0x1f58 
(correct), 3232139619:3232139619(0) win 0
09:16:48.515549 IP (tos 0x0, ttl  53, id 35709, offset 0, flags [DF], proto: 
TCP (6), length: 60) 62.193.238.120.58819 > 192.109.102.42.3306: S, cksum 
0xbb47 (correct), 685289454:685289454(0) win 5840 
09:16:48.515601 IP (tos 0x34, ttl  64, id 0, offset 0, flags [DF], proto: TCP 
(6), length: 60) 192.109.102.42.3306 > 62.193.238.120.58819: S, cksum 0x824a 
(correct), 3248316644:3248316644(0) ack 685289455 win 5696 
09:16:48.551765 IP (tos 0x0, ttl  53, id 35710, offset 0, flags [DF], proto: 
TCP (6), length: 52) 62.193.238.120.58819 > 192.109.102.42.3306: ., cksum 
0xc011 (correct), 1:1(0) ack 1 win 1460 
09:16:48.555452 IP (to

Re: [PATCH] tcp: turn ABC off

2006-09-02 Thread Herbert Xu
Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> On Fri, Sep 01, 2006 at 01:55:15PM -0700, Stephen Hemminger ([EMAIL 
> PROTECTED]) wrote:
>> diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
>> index 111ff39..159fa3f 100644
>> --- a/net/ipv4/tcp_input.c
>> +++ b/net/ipv4/tcp_input.c
>> @@ -89,7 +89,7 @@ int sysctl_tcp_frto;
>>  int sysctl_tcp_nometrics_save;
>>  
>>  int sysctl_tcp_moderate_rcvbuf = 1;
>> -int sysctl_tcp_abc = 1;
>> +int sysctl_tcp_abc;
> 
> Since it is not static are you sure it will be zero?

Outside a function the static modifier merely modifies whether the
symbol is visible externally.  It does not control whether it gets
zeroed.  And yes this will get zeroed.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

-- 
VGER BF report: U 0.49998
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] tcp: turn ABC off

2006-09-02 Thread Evgeniy Polyakov
On Fri, Sep 01, 2006 at 01:55:15PM -0700, Stephen Hemminger ([EMAIL PROTECTED]) 
wrote:
> diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
> index 111ff39..159fa3f 100644
> --- a/net/ipv4/tcp_input.c
> +++ b/net/ipv4/tcp_input.c
> @@ -89,7 +89,7 @@ int sysctl_tcp_frto;
>  int sysctl_tcp_nometrics_save;
>  
>  int sysctl_tcp_moderate_rcvbuf = 1;
> -int sysctl_tcp_abc = 1;
> +int sysctl_tcp_abc;

Since it is not static are you sure it will be zero?

-- 
Evgeniy Polyakov

-- 
VGER BF report: H 8.21099e-10
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html