Hey Paul,
Yes, I am reporting my MAC address correctly in the mac_register_t
If I manually add entries in arp tables of machines then ping, iperf and all sorts of network
communication goes fine between them. Its just the ARP which is coming wrong.
One thing I suspect here is the usage of mblk structure. During GLDv2 implementation of the same
driver (where I dont see the ARP problem) I didnt check mblk or dblk flags much.
Do they matter more since GLDv3. Overall has the mblk usage changed considerably
from v2 to v3 ?
There shouldn't be anything weird in the flags. One thing that may have changed is the fragmentation of ARPs between GLDv2 and v3. I have noticed, during my driver development, that ARPs always seem to come down the stack as 2 linked mblk_ts. This is sensible because they always come via the DL_UNITDATA_IND primitive to the dld driver rather than via the IP fast-path. IP (including ICMP) packets OTOH tend to come in a single block, so make sure your TX code is walking b_cont pointers or all you'll be sending out for ARP is an ethernet header and no payload ;-)
Paul
--
Paul Durrant
http://www.linkedin.com/in/pdurrant
_______________________________________________ networking-discuss mailing list [email protected]
