At the start of a simulation, the first packet to be received at the Mac of an MS is an ARP request. Though this is a broadcast message, it is not transmitted directly, but resources are requested and the ARP request is sent out only on the alloted slot-frequency channel. This is to prevent other MS from receiving an ARP request from an MS. The BS however, goes ahead and broadcasts the ARP request on the broadcast channel ie slot 0 on downlink frequency 0.
Also, in ns, a node sends an ARP request each time a packet is received at the LL, even though an ARP request has already been sent and it is waiting for a reply. To prevent our MAC from transmitting such duplicate ARP requests and wasting precious radio-resources, we simply drop duplicate ARPs in ms_recv()