I have some code that's trying to do a NetBIOS name lookup.
This code is using the old fashioned method of sendto()
with destination INADDR_BROADCAST.  This used to work,
but recently started getting ENETUNREACH errors from
the sendto() calls - but only SOME of the time!

Anyone have ideas why this has started to fail?
and why it would be intermittent?

I have some dtrace logs showing error returns from
somewhere deep in the network code.  (see attached)

Thanks,
Gordon

CPU FUNCTION                                 
  0  -> sendto                                  0x3     0x80674e0       0x32    
0x0
  0    -> sendit                                0x3     0xffffff0008c2de20      
0xffffff0008c2ddf0      0x8
  0      -> getsonode                           0x3     0xffffff0008c2dd70      
0xffffff0008c2dd78      0x8
  0      <- getsonode                           0xffffff01de8a6448
  0      -> copyin_name                         0xffffff01de8a6448      
0x80478e0       0xffffff0008c2dd74      0xffffff0008c2dd70
  0      <- copyin_name                         0xffffff021d03b1c8
  0      -> socket_sendmsg                      0xffffff01de8a6448      
0xffffff0008c2de20      0xffffff0008c2ddf0      0xffffff024b5d8638
  0        -> so_sendmsg                        0xffffff01de8a6448      
0xffffff0008c2de20      0xffffff0008c2ddf0      0xffffff024b5d8638
  0          -> socopyinuio                     0xffffff0008c2ddf0      0xffe3  
0x3c    0xffffffffffffffff
  0          <- socopyinuio                     0xffffff01eae133e0
  0          -> udp_send                        0xffffff01e8236100      
0xffffff01eae133e0      0xffffff0008c2de20      0xffffff024b5d8638
  0            -> proto_verify_ip_addr          0x2     0xffffff021d03b1c8      
0x10    0xffffff024b5d8638
  0            <- proto_verify_ip_addr          0x0
  0            -> conn_get_ixa                  0xffffff01e8236100      0x0     
0x10    0xffffff024b5d8638
  0              -> conn_get_ixa_impl           0xffffff01e8236100      0x0     
0x1     0xffffff024b5d8638
  0              <- conn_get_ixa_impl           0xffffff01ef6ad200
  0            <- conn_get_ixa                  0xffffff01ef6ad200
  0            -> conn_same_as_last_v4          0xffffff01e8236100      
0xffffff021d03b1c8      0xffffff0214543c80      0x2
  0            <- conn_same_as_last_v4          0x0
  0            -> ip_attr_newdst                0xffffff01ef6ad200      
0xffffff021d03b1c8      0xffffff0214543c80      0x2
  0            <- ip_attr_newdst                0x49f4
  0            -> ip_attr_nexthop               0xffffff01e8236320      
0xffffff01ef6ad200      0xffffff0008c2dbf0      0xffffff0008c2dc00
  0            <- ip_attr_nexthop               0xffff0000
  0            -> ip_attr_connect               0xffffff01e8236100      
0xffffff01ef6ad200      0xffffff0008c2dbe0      0xffffff0008c2dbf0
  0              -> ip_set_destination_v4       0xffffff0008c2da2c      
0xffffffff      0xffffffff      0xffffff01ef6ad200
  0                -> ip_select_route_v4        0xffffffff      
0xffffff01ef6ad200      0xffffff0008c2d990      0xffffff0008c2d98c
  0                  -> ip_select_route         0xffffff0008c2d8f0      
0xffffff01ef6ad200      0xffffff0008c2d990      0xffffff0008c2d900
  0                    -> ire_route_recursive_v4        0xffffffff      0x0     
0x0     0x0
  0                      -> ire_route_recursive_impl_v4         0x0     
0xffffffff      0x0     0x0
  0                        -> ire_ftable_lookup_v4      0xffffffff      0x0     
0x0     0x0
  0                          -> rn_match_args   0xffffff0008c2d530      
0xffffff01cd11f1c0      0xfffffffff7b6a0a0      0xffffff0008c2d550
  0                            -> ire_find_best_route   0xffffff01d1d07d18      
0xffffff0008c2d550      0x0     0xffffffff
  0                              -> ire_match_args      0xffffff01db145820      
0xffffffff      0xffffffff      0x0
  0                              <- ire_match_args      0x1
  0                              -> ire_refhold         0xffffff01db145820      
0xffffffff      0xffffffff      0xffffff01cd487000
  0                              <- ire_refhold         0x1
  0                            <- ire_find_best_route   0x1
  0                          <- rn_match_args   0xffffff01d1d07d18
  0                          -> ire_round_robin         0xffffff01d1d07d88      
0xffffff0008c2d550      0xe03d046c      0xffffff01db145820
  0                            -> irb_refhold_locked    0xffffff01d1d07d88      
0x0     0x1     0xffffff01db145820
  0                            <- irb_refhold_locked    0x706eecaa
  0                            -> ire_match_args        0xffffff01db145010      
0xffffffff      0xffffffff      0x0
  0                            <- ire_match_args        0x1
  0                            -> ire_refhold   0xffffff01db145010      0x0     
0xffffff0214543c80      0xffffff01cd487000
  0                            <- ire_refhold   0x0
  0                            -> irb_refrele   0xffffff01d1d07d88      0x1     
0x0     0xffffff0214543c80
  0                              -> irb_refrele_ftable  0xffffff01d1d07d88      
0x1     0x0     0xffffff0214543c80
  0                              <- irb_refrele_ftable  0xffffff0214543c84
  0                            <- irb_refrele   0xffffff0214543c84
  0                          <- ire_round_robin         0xffffff01db145010
  0                          -> ire_refrele     0xffffff01db145820      0x1     
0x8     0x2
  0                          <- ire_refrele     0x1
  0                        <- ire_ftable_lookup_v4      0xffffff01db145010
  0                      <- ire_route_recursive_impl_v4         
0xffffff01db145010
  0                    <- ire_route_recursive_v4        0xffffff01db145010
  0                  <- ip_select_route         0xffffff01db145010
  0                <- ip_select_route_v4        0xffffff01db145010
  0                -> ire_to_nce                0xffffff01db145010      
0xffffffff      0x0     0x0
  0                  -> nce_refhold             0xffffff01d1d08008      
0xffffffff      0xffffff0214543c80      0x0
  0                  <- nce_refhold             0x0
  0                <- ire_to_nce                0xffffff01d1d08008
  0                -> ire_nexthop_ill           0xffffff01db145010      
0xffffffff      0xffffff0214543c80      0x1
  0                  -> ire_nexthop             0xffffff01db145010      
0xffffffff      0xffffff0214543c80      0x1
  0                    -> ire_refhold           0xffffff01db145010      0x1     
0x8     0x1
  0                    <- ire_refhold           0x1
  0                  <- ire_nexthop             0xffffff01db145010
  0                  -> ill_refhold             0xffffff01cde9fea8      0x1     
0x0     0xffffff0214543c80
  0                  <- ill_refhold             0x0
  0                  -> ire_refrele             0xffffff01db145010      0x1     
0xffffff0214543c80      0xffffff0214543c80
  0                  <- ire_refrele             0x2
  0                <- ire_nexthop_ill           0xffffff01cde9fea8
  0                -> ip_select_source_v4       0xffffff01cde9fea8      0x0     
0xffffffff      0x0
  0                  -> ipif_select_source_v4   0xffffff01cde9fea8      
0xffffffff      0x0     0x1
  0                  <- ipif_select_source_v4   0x0
  0                <- ip_select_source_v4       0x7e
  0                -> ill_refrele               0xffffff01cde9fea8      0x1     
0x0     0x7f
  0                  -> ipif_ill_refrele_tail   0xffffff01cde9fea8      0x1     
0xffffff0214543c80      0x7f
  0                  <- ipif_ill_refrele_tail   0x0
  0                <- ill_refrele               0x0
  0              <- ip_set_destination_v4       0x7e
  0            <- ip_attr_connect               0x7e
  0            -> ixa_refrele                   0xffffff01ef6ad200      0x1     
0xffffff0214543c80      0x0
  0            <- ixa_refrele                   0x1
  0          <- udp_send                        0x80
  0        <- so_sendmsg                        0x80
  0      <- socket_sendmsg                      0x80
  0    <- sendit                                0x80
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to