KVM: add configurable MAC/IP script hook for static ARP/NDP and routes#13495
KVM: add configurable MAC/IP script hook for static ARP/NDP and routes#13495wido wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #13495 +/- ##
=========================================
Coverage 18.93% 18.93%
- Complexity 18471 18475 +4
=========================================
Files 6221 6221
Lines 560045 560095 +50
Branches 68289 68298 +9
=========================================
+ Hits 106048 106074 +26
- Misses 442372 442392 +20
- Partials 11625 11629 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
DaanHoogland
left a comment
There was a problem hiding this comment.
clgtm, why not set your script as default value for the property @wido ? (if it is well tested and robust, that is)
Thanks, the reason the script does not always execute is that it could break existing setups. Therefor it is not set by default. |
yeah, that is what I meant by robust ;) np, fine like this as well. |
baae859 to
ac65b6a
Compare
Introduces a new agent.properties option `vm.network.macip.static` (false by default) that makes BridgeVifDriver invoke on modifymacip.sh on every NIC plug (VM start) and unplug (VM stop). This is very useful in EVPN+VXLAN environments as it can reduce BUM traffic. By setting static ARP/NDP entries bridges can be configured using 'neigh_suppress on' as the ARP/NDP entries are already set statically by CloudStack. Setting 'neigh_suppress on' requires a manual change in the modifyvxlan.sh script as this is not the default behavior.
|
I tested and reviewed the code again. It worked on our environment, would be great to get feedback. This can be merged without changing anything to existing setups as you will need to enable it manually. |
Introduces a new agent.properties option
vm.network.macip.static(false disabled by default) that makes BridgeVifDriver invoke modifymacip.sh on every NIC plug (VM start) and unplug (VM stop).This will lead to static IPv4/IPv6 ARP/NDP entries to be programmed into the kernel.
This is very useful in EVPN+VXLAN environments as it can reduce BUM traffic. By setting static ARP/NDP entries bridges can be configured using 'neigh_suppress on' as the ARP/NDP entries are already set statically by CloudStack. No ARP/NDP traffic is needed in this case as it's handled locally.
When using EVPN+VXLAN you will need to change the modifyvxlan.sh script so that it does this:
Further improvements can be made in general to the VXLAN+EVPN integration, but this should already resolve many problems people might have with BUM traffic.