lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 8 Mar 2010 17:04:09 +0800
From:	figo zhang <figo1802@...il.com>
To:	Yegor Yefremov <yegorslists@...glemail.com>
Cc:	Dick Hollenbeck <dick@...tplc.com>, netdev@...r.kernel.org,
	zealcook@...il.com
Subject: Re: KS8695: possible NAPI issue

2010/3/5 Yegor Yefremov <yegorslists@...glemail.com>:
>>> My tests look like following:
>>>
>>> 1. system start
>>> 2. ping one host: O.K.
>>> 3. nc -l -p 5000 > /var/test (about 1Mb): O.K.
>>> 4. ping the same host: failed
>> 1. type "arp" command, see the arp is exit or expire?
>
> debian:~# nc -l -p 5000 > /var/zImage
>
> debian:~# ping -c 1 192.168.1.38
>
> PING 192.168.1.38 (192.168.1.38) 56(84) bytes of data.
>
> From 192.168.1.66 icmp_seq=1 Destination Host Unreachable
>
>
>
> --- 192.168.1.38 ping statistics ---
>
> 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
>
>
>
> debian:~# arp
>
> Address                  HWtype  HWaddress           Flags Mask            Iface
> 192.168.1.38          (incomplete)                              eth0
>
> 192.168.1.36             ether   00:10:18:39:19:aa   C                     eth0
>
>
>> 2. at this point, see is it still have RX interrpt and receive packet in
>> ks8695_rx()? (in some watchpoint add printk).
>
> I've inserted some printks and I can see that interrupts are coming
> and the received count will be increased. I can also see my system
> sending arp requests. Even this ping request is visible in wireshark
> and its reply, but the ping utility sees nothing of it.
>

when you netcat finished, it cannot ping, right? at this point, would
you like to add some printk at RX and TX?
i want to see the target board have send arp packet, or have receive
arp reply packet.

you can add such funtion to print the packet buffer:

void print_mem(unsigned char *p,u32 len, u8 * s)
{
	u32 i;
	printk("  %s   ram addr = %x , data len = %x",s, p, len);

	for (i=0;i<len;i++) {
		if (0==i%16) {
			printk("\n  0x%02x : ",(p+i));
		}
		printk("%02x",*(u8 *)(p+i));
		printk(" ");
	}
	printk("\n\n");
}

for TX: ks8695_start_xmit(struct sk_buff *skb, struct net_device *ndev)

=>
    	ksp->tx_ring[buff_n].status =
		cpu_to_le32(TDES_IC | TDES_FS | TDES_LS |
			    (skb->len & TDES_TBS));

	print_mem(skb->data, skb->len, "tx");

	wmb();

for RX: static int ks8695_rx(struct ks8695_priv *ksp, int budget)
=>
  			/* Retrieve the sk_buff */
			skb = ksp->rx_buffers[buff_n].skb;

			print_mem(skb->data, skb->len, "rx");

			/* Clear it from the ring */
			ksp->rx_buffers[buff_n].skb = NULL;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists