[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Promiscuous Mode and Source Routing



I'm currently working on a protocol analyzer program that analyzes dumps
from tcpdump. I'm using the Olicom TR driver for Linux 2.0.33, which
supports promiscuous mode.

In the dumps of network traffic that I'm making, I'm losing the
source-routing bit on source-routed packets. The reason is that
tr_add_rif_info is called in tr_type_trans (actually, Olicom's equivalent
tr_type_tr_2) which strips the bit:

trh->saddr[0]&=0x7f;

Then, back in tr_type_trans, if the device is in promiscuous mode and the
destination address is not my HW address, the packet is marked as
OTHER_HOST:

    else if(dev->flags & IFF_PROMISC)
    {
        if(memcmp(trh->daddr, dev->dev_addr, TR_ALEN))
            skb->pkt_type=PACKET_OTHERHOST;
    }

Since I'd like my "sniffer" program to see the source-routing bit, I want
to only call tr_add_rif_info if this packet is indeed meant for me. 

Am I safe if I never call tr_add_rif_info for packets that are not intended
for me (but I see because I'm in promiscous mode). I thought I'd ask before
I actually try it.

thanks,

--gilbert
-- 
_______________________________________________________________________
Gilbert Ramirez Jr.                     gram@merece.uthscsa.edu
University of Texas                     http://merece.uthscsa.edu/gram/
Health Science Center at San Antonio    University Health System