On Sunday 05 December 2004 21:20, Steve Schmidtke wrote: > Michael Richardson wrote: > > uml_netjig is a tool which does the following: > > 1) moves packets using "daemon" mode a la uml_switch. > > 2) has an expect-friendly command line interface 3) can create > >*multiple* switches and keep them seperate
> If they are separate, why not just run multiple uml_switches? Probably easier to manage... simplicity is good, but not as important, or important in the same way, for userspace problems. Don't apply on uml_switch the same inclusion criteria you use for the kernel. > > 4) can record all packets to a .pcap file > > 5) can play packets from a .pcap file at a given rate (or under > >command line interface control) > > 6) can optionally answer ARP queries for imaginary nodes. > I like these 3, but could you not just connect another UML guest to the > switch and run arp -s pub and tcpdump to accomplish the same thing? Needing another UML guest to do something which can be accomplished in a simpler way (supposing it's not too badly coded / heavy / intrusive in the patch) could even be reported as a bug, on the reverse! Another problem: it's doable even without support for "pcap transport" in UML (which is currently broken in 2.6)? I know what to do to fix that (build problem only), only it's a bit ugly to fix - or requires pcap maintainers to fix up some screwage: a symbol which *should* be static is global, in the static libraries it gets obviously exported, it's called vmap, conflicts with the kernel functions with the same name, and since it's also a common symbol (i.e. it can share the space of the function, see LD manual) it crashes UML silently, by trying to overwrite the vmap() code when you use it - funny breakage, isn't it? Would you imagine somebody to be able to screw up things so much? And is there a polite way to get it fixed? Yes, but needs time to settle down I've recently learned to fix that with objcopy --keep-global, just haven't done it yet). > > 7) can talk to tuntap device(s) as uml_switch could. > > > > My patches refactor uml_switch to get uml_netjig + uml_switch' > I am still not clear if uml_netjig is a separate program running on top of > uml_switch or inside it, but (and I apologize for being dense if this is > what you are doing) I think the proper way to accomplish what you want is > to create a "-monitor <socket>" option to uml switch to filter all network > traffic through. Then create a monitor program that can attach/detach from > a uml_switch at will through the monitor socket. A hook to filter packets > entering uml_switch and a new function to inject packets (with/without > updating MAC tables) might be all that's necessary. All your traffic > management and expect code could reside in the external monitor program. -- Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 http://www.user-mode-linux.org/~blaisorblade ------------------------------------------------------- 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