if_start() and send queue question
gnn at freebsd.org
gnn at freebsd.org
Tue Feb 12 06:46:53 PST 2008
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
More information about the freebsd-net
mailing list