TL;DR fastdp sometimes executes handleCapturedPacket for received over tunnel packets, which leads to logging the "Captured frame from MAC ... associated with another peer" error. The error is quite often seen in logs provided by users.
How it happens:
routerBridgePortID.handleCapturedPacket callback.Logs which illustrate the case usually look like the following:
Discovered remote MAC 06:66:e3:00:72:d0 at ...(k8s-node-3)
<..>
Discovered remote MAC 82:2f:27:ff:b5:53 at ...(k8s-node-2)
<..>
Captured frame from MAC (82:2f:27:ff:b5:53) to (06:66:e3:00:72:d0) associated with another peer ...(k8s-node-2)
An easy fix (before applying https://github.com/weaveworks/weave/pull/2437/commits/17c8dc93819001dc6088add5ae5ae889b12885ee) is to extend the if-clause by adding the following cases:
if dstPeer == nil{ // not found
InjectPacket // might be local container...
relayBroadcast // ...or not
}
if dstPeer != nil { // not us
relay // just relay, because destination is know
}
However, we should be super careful (and think twice) as we are changing the routing logic.
to extend the if-clause
or, rather, turn it into a switch dstPeer ...
We also can see these error messages, any plan in order to silence this?
@mcortinas I'm going to prioritize this issue after the 2.2 release.
Is it only logging problem, or does it have other consequences? We see a lot of those
@timanovsky it depends on the cause. If you have the same cause as described at the top, exactly, then it is only a logging problem. But if your cause is different then the impact could be different.
Best to open a new issue and post the logs.