Michael Richardson wrote:
    >> Not practical, not reliable.

    Steve> Why not reliable?  A monitor port is a diagnostic tool, and

What would I connect to the monitor port? Another UML?

A program that can inspect and/or create packets -- uml_netjig but with a modular API.


    Steve>   cat tcpdump.pcap | switch_mon_tool --socket /tmp/uml.mon
    Steve> --delay 100ms

    Steve> is the type of functionality I'm shooting for (above example
    Steve> not to be taken literally).

  Great. That works for 1 network.

  Now, how do you replay packets where you need an actual time sequence
diagram to make it work? I.e.
           - send packet A on network 1
           - send packet B on network 2
           - send packet C on network 1
           - send packet D on network 2

Thinking out loud, I envision somone being able to write a monitor app that would allow a session like this:


 host:$> vmon_switch -i
 Welcome to vapour_monitor version -0.01
 Interactive mode ready.
 > verbose
 verbose mode on.
 >  connect swA /tmp/uml.mon1
 swA connected ok.
 > connect swB /tmp/uml.mon2
 swB connected ok.
 > connect swC /tmp/uml.mo3
 swC connect failed: /tmp/uml.mo3
 > connect swC /tmp/uml.mon3
 swC connected ok.
 > pcap source infile tcpdump.pcap
 infile opened for reading ok.  infile record: 1
 > pcap dest outfile traffic.pcap
 outfile opened for writing ok.
 > pcap dump swA outfile
 dumping switch swA, sending to outfile.
 > pcap single input swA
 1 packets to switch swA ok.  infile record 2.
 > pcap single input swB
 1 packets to switch swB ok.  infile record 3.
 > pcap close outfile
 outfile closed, 10 packets.
 > pcap rewind infile
 infile record 1.
 > pcap single infile swC
 1 packets to switch swC ok.  infile record 2.
 ** EOF from swA **
 > pcap delay 100 ms
 send interval set to 100 milliseconds
 > pcap send infile swC
 ..... 5 packets to switch swC ok.  input position 7.
 > quit
 vapour_monitor Exiting...
 host:$> tcpdump -n -r traffic.pcap

I put way too much time and effort into that example, but it was useful to think through. The point is, a port allows the complexity of diagnostic code and traffic analysis to reside externally in the monitor app, and not be coded in the switch (the flip side is that the monitor apps don't have to know how the switch works). If "switch_mon_tool" is unsuitable, it can be replaced by "vmon_switch" in a heartbeat -- without modifying or even restarting uml_switch.

Steve Schmidtke




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/
_______________________________________________
User-mode-linux-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to