|
Bugzilla – Full Text Bug Listing |
| Summary: | tap bridge USE_LOCAL not working with virtual machines | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Tom Henderson <tomh> |
| Component: | devices | Assignee: | Craig Dowell <craigdo> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | mathieu.lacage, ns-bugs |
| Priority: | P1 | ||
| Version: | ns-3-dev | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Attachments: |
start of a patch to fix
Fully Implemented Patch |
||
|
Description
Tom Henderson
2009-05-21 01:27:31 UTC
changed subject; this needs a test case and debugging. Created attachment 471 [details]
start of a patch to fix
This patch starts to fix this bug. There are a few problems that need to be resolved to allow container-based VMs to hook to ns-3 devices that do not support bridging (the TapDevice::USE_LOCAL mode).
1) Node::RegisterProtocolHandler should not associate SupportsSendFrom() with setting promiscuous receive hooks
2) We should have a base class NetDevice::SetAddress() method so that the TapBridge can overwrite the ns-3-assigned Mac address at runtime
3) The TapBridge should unregister protocol handlers on the underlying device before registering itself as a handler. This prevents duplicate Arp replies. This is not implemented in the patch (see an XXX there)
Once these three things are fixed, I think it will work
Created attachment 473 [details]
Fully Implemented Patch
Completes Tom's patch. Untested on VM testcase.
(In reply to comment #3) > Created an attachment (id=473) [details] > Fully Implemented Patch > > Completes Tom's patch. Untested on VM testcase. > I tested this patch yesterday and it seems to resolve the problem. My testing was limited to only a couple of cases (I tested two OpenVz containers over an ad hoc wireless network, and sent ping (which required ARP and IPv4 to work) as well as OSPFv3 for IPv6 (which required unicast and multicast IPv6 to work)). I think this should be committed now as well as whatever the resulting Icmp fix is (which there are bits of in this patch). changeset: 88434ff8f0a5 |