From owner-freebsd-hackers@FreeBSD.ORG Sat Feb 16 17:29:55 2008 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EE1A16A41A for ; Sat, 16 Feb 2008 17:29:55 +0000 (UTC) (envelope-from tofig@freebsd.az) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.172]) by mx1.freebsd.org (Postfix) with ESMTP id 977C513C4DB for ; Sat, 16 Feb 2008 17:29:54 +0000 (UTC) (envelope-from tofig@freebsd.az) Received: by ug-out-1314.google.com with SMTP id y2so117590uge.37 for ; Sat, 16 Feb 2008 09:29:53 -0800 (PST) Received: by 10.67.116.6 with SMTP id t6mr871558ugm.76.1203182992503; Sat, 16 Feb 2008 09:29:52 -0800 (PST) Received: from ?192.168.1.5? ( [81.21.81.41]) by mx.google.com with ESMTPS id b35sm1444566ugd.33.2008.02.16.09.29.48 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 16 Feb 2008 09:29:51 -0800 (PST) Message-ID: <47B71D7F.9070804@freebsd.az> Date: Sat, 16 Feb 2008 21:29:35 +0400 From: Tofig Suleymanov User-Agent: Thunderbird 1.5.0.8 (X11/20061113) MIME-Version: 1.0 To: Max Laier References: <342414370802160011s7fc3edc2w5feb45ce788930c5@mail.gmail.com> <35810.192.168.4.151.1203169657.squirrel@router.laiers.local> In-Reply-To: <35810.192.168.4.151.1203169657.squirrel@router.laiers.local> Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Sat, 16 Feb 2008 18:04:21 +0000 Cc: hackers@freebsd.org Subject: Re: if_start() and sending packets problem X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2008 17:29:55 -0000 Max Laier wrote: > Am Sa, 16.02.2008, 09:11, schrieb Tofig Suleymanov: > >> Hello hackers, >> >> I will be grateful if someone could point me to the right direction >> regarding the question below. >> >> My device driver is getting incoming packets fine, but for some reason I >> am not able to send a single packet. Here is the source code: >> >> http://www.freebsd.az/if_ib.c >> >> I've added several debug messages to the source and here is the output: >> >> (bringing interface up and assigning the ip/netmask combination) >> >> ifconfig ib0 192.168.0.6 netmask 255.255.255.0 up >> >> (At this moment I get this in my /var/log/messages. It seems to be a >> gratuitous arp who-has packet ) >> >> Feb 7 19:14:32 schizo kernel: ib_init entered >> Feb 7 19:14:32 schizo kernel: ib_start entered >> Feb 7 19:14:32 schizo kernel: ib_encap entered >> Feb 7 19:14:32 schizo kernel: DHOST ff ff ff ff ff ff >> Feb 7 19:14:32 schizo kernel: SHOST 0 c0 ee 22 3 14 >> Feb 7 19:14:32 schizo kernel: txeof entered >> Feb 7 19:14:32 schizo kernel: txeof exiting >> >> (now I try pinging, but no joy . I've added extra debug messages inside >> ping.c) >> >> schizo# ping 192.168.0.1 >> PING 192.168.0.1 (192.168.0.1): 56 data bytes >> packets sent: -1 >> ping: sendto: Invalid argument >> packets sent: -1 >> ping: sendto: Invalid argument >> packets sent: -1 >> ping: sendto: Invalid argument >> ^C >> --- 192.168.0.1 ping statistics --- >> 3 packets transmitted, 0 packets received, 100% packet loss >> >> >> I have also tried to add debug messages to sys/net/if.c and >> sys/net/netisr.c and it seems that the kernel doesn't even try to run my >> ib_start() function. >> >> Doing tcpdump on the interface and pinging does not show any packets >> flowing. Please note that tcpdump shows the arp who-has request right >> after I assign the ip address. >> >> ifconfig ib0 gives the following: >> ib0: flags=1008c3 mtu 1500 >> > > Why do you set NOARP? It seems that your ping can't figure out the ARP > address of 192.168.0.1 and hence returns early. Either install a static > arp entry for 192.168.0.1 or lose the NOARP. > Good catch ! I've added a static arp entry as advised and now I am getting into ib_start() and ib_encap() successfully ! Kind regards, Tofig.