[ethbridge-discuss] hxbt wan emulator
Cesar Marcondes
cmarcond06 at gmail.com
Mon Jul 31 09:26:08 PDT 2006
Dear David,
Thanks for the reply.
Comments are inline.
David Edmondson wrote:
>
> On 28 Jul 2006, at 6:36pm, Cesar Marcondes wrote:
>> I've been working with the hxbt (hitbox) wan emulator (from
>> opensolaris) for a while, and I've been thinking on merge efforts of
>> the hxbt wan emulator (a stream module) and ethbridge. On other words,
>> extends the bridge to support wan emulation.
>>
>> Do you guys think it's a good idea? I was thinking on support some
>> type of "IP/port" filters on the ethbridge to manage/demultiplex
>> multiple "streams" based on filters, each one attached to different
>> network emulation characteristics.
>
> Cesar, it sounds interesting. Could you produce a quick diagram to show how you would expect the end result to look? For example, what would be the links between different NICs and the bridge? At which points would you apply filtering and traffic grooming?
Sure.
VLAN 0 --> hme0 --> [br mux/demux stream ] [bridge
mux/demux stream] --> hme0 --> VLAN 0
VLAN 1 --> hme1 --> [forward filter TCP/UDP]-->[hxbt stream]->[putback
on interf ] --> hme1 --> VLAN 1
I believe it's possible to deal with the VLANs directly, but I don't
need this, as long as I can get MAC addresses from the same interface.
The filter and traffic grooming would be applied on the forward
routine such that I would filter on this datapath (some typecasting
and verification/identification of TCP/UDP fields would be necessary),
then calling up the stream module (hxbt module) associated with the
TCP/UDP filter, apply bandwidth and delay on this specific flow.
Finally, calling back the bridge to put back the packet on the proper
interface.
I'm still studying the bridge code and stream programming, so I will
try some tests first, and I can refine this description as I gather
more info.
According to the STREAMs approach, I could just push the hitbox (WAN
emulator) stream module (modified to support per flow WAN emulation)
in the main bridge stream.
So far, this is the idea.
The big picture is to enable something like this:
Machine 1 (MAC X/VLAN 0) --->\
Machine 2 (MAC Y/VLAN 0) ---> [ethbridge + wan emulation] ---> Machine
4 (MAC W/VLAN 1)
Machine 3 (MAC Z/VLAN 0) --->/
Machine 1/port 6000 - emulate delay 10 ms - Machine 4/port 6000
Machine 2/port 7000 - emulate delay 50 ms - Machine 4/port 7000
Machine 3/port 8000 - emulate delay 100 ms - Machine 4/port 8000
>> Btw, is there a CVS/Subversion server for the ethbridge?
> Not yet. We have some updated bridge code that we should make available, but have not got around to it yet. Perhaps via SVN would be a good approach. (The updated code is included in the recent Solaris on Xen[1] code drop if you are really desperate.)
I'm not that desperate :) . I just wanted to start coding on top of
the most current base.
I'll take a look at this pointer.
Thank you very much,
> dme.
>
> [1] http://www.opensolaris.org/os/community/xen
Cesar Marcondes
More information about the ethbridge-discuss
mailing list