diff --git a/RELEASE_NOTES b/RELEASE_NOTES index b6e1b186a..3b000747b 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -34,6 +34,7 @@ Bugs fixed - Bug 2076 - TCP MinRTO Attribute is not actually used - Bug 2077 - Icmpv6L4Protocol::HandleDestinationUnreachable must check the packet size, not its serialized size - Bug 2079 - mcs variable in ht-wifi-network example is confusing +- Bug 2083 - BridgeNetDevice may send corrupted packets Known issues ------------ diff --git a/examples/wireless/wifi-wired-bridging.cc b/examples/wireless/wifi-wired-bridging.cc index 354a6e405..f2d426c94 100644 --- a/examples/wireless/wifi-wired-bridging.cc +++ b/examples/wireless/wifi-wired-bridging.cc @@ -24,7 +24,7 @@ // +-----+ +-----+ +-----+ +-----+ // | STA | | STA | | STA | | STA | // +-----+ +-----+ +-----+ +-----+ -// 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 +// 192.168.0.2 192.168.0.3 192.168.0.5 192.168.0.6 // -------- -------- -------- -------- // WIFI STA WIFI STA WIFI STA WIFI STA // -------- -------- -------- -------- @@ -37,7 +37,7 @@ // ############## ############## // BRIDGE BRIDGE // ############## ############## -// 192.168.0.1 192.168.0.2 +// 192.168.0.1 192.168.0.4 // +---------+ +---------+ // | AP Node | | AP Node | // +---------+ +---------+ diff --git a/src/bridge/model/bridge-net-device.cc b/src/bridge/model/bridge-net-device.cc index 3e2df0b01..7a36020b0 100644 --- a/src/bridge/model/bridge-net-device.cc +++ b/src/bridge/model/bridge-net-device.cc @@ -398,11 +398,13 @@ BridgeNetDevice::SendFrom (Ptr packet, const Address& src, const Address // data was not unicast or no state has been learned for that mac // address => flood through all ports. + Ptr pktCopy; for (std::vector< Ptr >::iterator iter = m_ports.begin (); iter != m_ports.end (); iter++) { + pktCopy = packet->Copy (); Ptr port = *iter; - port->SendFrom (packet, src, dest, protocolNumber); + port->SendFrom (pktCopy, src, dest, protocolNumber); } return true;