User-configurable physical MTU for individual links
This patch allows users to specify the physical layer MTU for individual links
when in multipath mode. For example:
{
"settings":
{
"defaultBondingPolicy": "custom-balance-xor",
"policies":
{
"custom-balance-xor":
{
"basePolicy": "balance-xor",
"failoverInterval": 5000,
"links": {
"weird_5g_link": { "mtu": 1300 },
"enp5s0": { "mtu": 1400 }
}
}
}
}
}
This commit is contained in:
committed by
Sean OMeara
parent
eccc31a4b9
commit
39f3f5b2d9
@@ -184,7 +184,7 @@ SharedPtr<Link> Bond::getLinkBySocket(const std::string& policyAlias, uint64_t l
|
||||
auto search = _interfaceToLinkMap[policyAlias].find(ifnameStr);
|
||||
if (search == _interfaceToLinkMap[policyAlias].end()) {
|
||||
if (createIfNeeded) {
|
||||
SharedPtr<Link> s = new Link(ifnameStr, 0, 0, true, ZT_BOND_SLAVE_MODE_PRIMARY, "");
|
||||
SharedPtr<Link> s = new Link(ifnameStr, 0, 0, 0, true, ZT_BOND_SLAVE_MODE_PRIMARY, "");
|
||||
_interfaceToLinkMap[policyAlias].insert(std::pair<std::string, SharedPtr<Link> >(ifnameStr, s));
|
||||
return s;
|
||||
}
|
||||
@@ -1253,6 +1253,7 @@ void Bond::estimatePathQuality(int64_t now)
|
||||
if (link) {
|
||||
int linkSpeed = link->capacity();
|
||||
_paths[i].p->_givenLinkSpeed = linkSpeed;
|
||||
_paths[i].p->_mtu = link->mtu();
|
||||
maxObservedLinkCap = linkSpeed > maxObservedLinkCap ? linkSpeed : maxObservedLinkCap;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user