[L2SWITCH-47] Incorrect broadcast/multicast check Created: 04/Jun/15 Updated: 19/Oct/17 Resolved: 09/Sep/15 |
|
| Status: | Resolved |
| Project: | l2switch |
| Component/s: | General |
| Affects Version/s: | unspecified |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Anton Ivanov | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 3576 |
| Description |
|
ReactiveFlowWriter.java checks destination Macs for "ff:ff:ff:ff:ff:ff" only. This is incorrect - the check should be for all broadcast and multicast addresses as these should be flooded and no "flows" created for them. The correct check (cut-n-paste from the uml virtual switch source) expressed in C is: #define IS_BROADCAST(addr) ((addr[0] & 1) == 1) In other words - bit 1 in the first Mac address byte must be raised. |
| Comments |
| Comment by Anton Ivanov [ 04/Jun/15 ] |
|
This also probably breaks v6 as I do not see how neighbor discovery will work with broken multicast. |
| Comment by Anton Ivanov [ 04/Jun/15 ] |
| Comment by Anton Ivanov [ 06/Jul/15 ] |
|
Updated gerrit: |
| Comment by Anton Ivanov [ 09/Sep/15 ] |
|
Fix merged |