Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Feb 2008 21:59:41 +0400
From:      "Tofig Suleymanov" <tofig@freebsd.az>
To:        "gnn@freebsd.org" <gnn@freebsd.org>
Cc:        net@freebsd.org
Subject:   Re: if_start() and send queue question
Message-ID:  <342414370802120959q3c345dc3g9a05863cbc8cd528@mail.gmail.com>
In-Reply-To: <m2y79qjkqu.wl%gnn@neville-neil.com>
References:  <47AB2798.6010202@freebsd.az> <m2y79qjkqu.wl%gnn@neville-neil.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/12/08, gnn@freebsd.org <gnn@freebsd.org> wrote:
> At Thu, 07 Feb 2008 19:45:28 +0400,
> Tofig Suleymanov wrote:
> >
> > Hello list,
> >
> > 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
> >
> > /(and here is what I get in /var/log/messages /; /it seems to be a
> > standard arp broadcast)
> > /
> > 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 tied 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.
> >
>
> Some things to try:
>
> 1) Add debug statements to the ib_start() routine.
>
> 2) See if bpf works (tcpdump -i ib0)
>
> 3) Show us the output of:
>
> ifconfig ib0
>
> netstat -i
>
> Best,
> George
>

Hello George,

thanks for you reply.

There is a debug output right after beginning of the ib_start()
routine. According to it ib_start() is executed only once when I
assign an ip address to the interface (it appears to be a so called
gratuitous arp who-has request). This routine doesn't execute when I
try to ping.

I have tried to tcpdump the interface, but  hadn't seen any packets
while pinging. Please note that tcpdump shows the arp who-has request
right after I assign the ip address.

ifconfig ib0 shows the following:
ib0: flags=1008c3<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,NEEDSGIANT> mtu 1500
        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 shows 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 ?

Thanks,
Tofig.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?342414370802120959q3c345dc3g9a05863cbc8cd528>