Hey Guys,
I am very new to OpenWrt, but am already amazed at how easy it is to set up and how well it works!.. Good job guys!!!
I've even created my own package and successfully downloaded it to the wrt54g, and it works like a charm!.. :-)
Now then, my question is as follows:
My package uses raw ethernet frames. In particular, I need to use IEEE 802.3 PAUSE Flow control frames, which are a type of MAC Control Frames whose TYPE field is 0x8808.
This is the format of a PAUSE Frame:
[Dst MAC ] -- 6-bytes
[Src MAC ] -- 6-bytes
[Type ] -- 2-bytes => Control Frame: 0x8808
[OpCode ] -- 2-bytes => PAUSE Frame: 0x0001
[Params ] -- 2-bytes => PAUSE Quanta (time to pause 0x0000 to 0xFFFF)
[Reserved] -- 46-bytes => Padding (all zeros)
I have notice that every time I try to send MAC Control Frames (type: 0x8808) nothing happens, that is, they do not get sent out of the router. In fact, I have narrowed down the problem to be the MAC Control Type field, since any other number in the type field works, but not 0x8808. I can see my raw frames coming out of the router as long as the type field is not 0x8808.
Routers are really not supposed to forward PAUSE frames. So, I'm thinking that somewhere in the WhiteRussian code/implementation there's gotta be a file that is checking for this "type" field and might dropping the packet if the frame has type 0x8808.
However, I don't know where to look to find out if my assumption is correct.
Does anybody know where I should look "specifically"? Or, Does someone else know if my problem is being caused by something else I'm not taking into account???
Any help with this, no matter how little it may be, will be greatly appreciated!
Thanks,
-Franco0007