[ethbridge-discuss] hxbt wan emulator
Cesar Marcondes
Cesar.Marcondes at Sun.COM
Mon Jul 31 09:19:13 PDT 2006
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 --> [bridge mux/demux stream
] [bridge mux/demux stream] --> hme0 -->
VLAN 0
VLAN 1 --> hme1 --> [forward filter by TCP/UDP] --> [hxbt stream] -> [
put back on proper 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