[NETVIRT-167] floating IP rules in table=21 are created in all computes - creating duplicate packets Created: 21/Sep/16 Updated: 19/Oct/17 Resolved: 13/Oct/16 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | General |
| Affects Version/s: | Boron |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Koby Aizer | 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: | 6780 |
| Description |
|
When a VM is associated with a floating IP, rules for that floating IP are created on all compute nodes. In the compute node hosting the VM the rule created is a forwarding rule towards the FIP tables and eventually output to the VM port. On the other computes, the rules installed are output to tunnel for the compute hosting the VM. When a packet is flooded with dstip=FIP on the external network, both computes process it. The computes which don't host the VM send the packet over the tunnel, and therefore cause duplicate packets to arrive to the VM. |
| Comments |
| Comment by Koby Aizer [ 28/Sep/16 ] |
|
Vivekanandan Narasimhan's review: |
| Comment by Koby Aizer [ 13/Oct/16 ] |
|
Closing this bug as fixed. The eventual fix was removing the floating IP dstmac rules from table=19 (see the change in the comment above). This seems to be the proper solution for the duplicate packets, as the table=21 rules are required for hairpinning. |