Date: Sat, 16 Feb 2008 14:47:37 +0100 (CET) From: "Max Laier" <max@love2party.net> To: "Tofig Suleymanov" <tofig@freebsd.az> Cc: hackers@freebsd.org Subject: Re: if_start() and sending packets problem Message-ID: <35810.192.168.4.151.1203169657.squirrel@router.laiers.local> In-Reply-To: <342414370802160011s7fc3edc2w5feb45ce788930c5@mail.gmail.com> References: <342414370802160011s7fc3edc2w5feb45ce788930c5@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,NEEDSGIANT> 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. > inet 192.168.0.5 netmask 0xffffff00 broadcast 192.168.0.255 > ether 00:c0:ee:22:03:14 > media: Ethernet 10baseT/UTP > status: active > > netstat -in gives the following output: > Name Mtu Network Address Ipkts Ierrs Opkts Oerrs > Coll > bge0* 1500 <Link#1> 00:16:41:52:fb:1e 0 0 0 0 > 0 > iwi0 1500 <Link#2> 00:13:ce:cc:b8:10 3065 0 2856 0 > 0 > iwi0 1500 192.168.1 192.168.1.5 3034 - 2825 - > - > lo0 16384 <Link#3> 8 0 8 0 > 0 > lo0 16384 127 127.0.0.1 8 - 8 - > - > ib0 1500 <Link#4> 00:c0:ee:22:03:14 4 0 2 0 > 0 > ib0 1500 192.168.0 192.168.0.5 0 - 3 - > - > > Any ideas are highly appreciated. -- /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35810.192.168.4.151.1203169657.squirrel>