Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Feb 2008 12:11:46 +0400
From:      "Tofig Suleymanov" <tofig@freebsd.az>
To:        hackers@freebsd.org
Subject:   if_start() and sending packets problem
Message-ID:  <342414370802160011s7fc3edc2w5feb45ce788930c5@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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
       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.



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