Hey all,

I'm working on a project that requires creating a single packet
collision between hosts, so I've been digging around in 
/sys/contrib/dev/ath for awhile now.  I successfully disabled the
CTS and RTS control frames from being transmitted, which
was the first step.  I believe now the application is sending
packets, creating a collision.

I think there is still collision detection happening on the hardware 
level.  I think I have to disable the retransmission of frames 
which are lost due to collisions.  Here's my reasoning:  In the lab, two
hosts are sending packets to the middle guy at the same time.
After examining the traffic on the middle guy, one packet will
arrive before the other one (sometimes in different order) and
the second packet comes 500-1200us after the first.  From this,
I think some retransmission is happening because of collision,
since the results are seemingly random.  Can anyone help me
determine what I should zero out from the drivers?  I'm not sure,
but these look like the important ones:
>From ah.h (/contrib/dev/ath/)

#define CHANNEL_BUSY    0x0004  /* Busy, occupied or overlap with adjoin chan */

(earlier in the file...)
typedef enum {
        TXQ_FLAG_TXOKINT_ENABLE     = 0x0001,    /* enable TXOK interrupt */
        TXQ_FLAG_TXERRINT_ENABLE    = 0x0001,    /* enable TXERR interrupt */
        TXQ_FLAG_TXDESCINT_ENABLE   = 0x0002,    /* enable TXDESC interrupt */
        TXQ_FLAG_TXEOLINT_ENABLE    = 0x0004,    /* enable TXEOL interrupt */
        TXQ_FLAG_TXURNINT_ENABLE    = 0x0008,    /* enable TXURN interrupt */
        TXQ_FLAG_BACKOFF_DISABLE    = 0x0010,    /* disable Post Backoff  */
        TXQ_FLAG_COMPRESSION_ENABLE = 0x0020,    /* compression enabled */
        TXQ_FLAG_RDYTIME_EXP_POLICY_ENABLE = 0x0040, /* enable ready time
                                                        expiry policy */
        TXQ_FLAG_FRAG_BURST_BACKOFF_ENABLE = 0x0080, /* enable backoff while
                                                        sending fragment burst*/
} HAL_TX_QUEUE_FLAGS;


Does zeroing out frag_burst_backoff_enable do anything for me?  I'm still
trying many configurations and recompiling this to my kernel is very time
consuming.  

Thanks,

Sam
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to