mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2025-02-25 18:55:32 -06:00
Fix UISP Integration Bug - only use PtMP as parent if one link connects that site
This commit is contained in:
parent
0c8f40cdbd
commit
513f6eec89
@ -336,27 +336,37 @@ def findNodesBranchedOffPtMP(siteList, dataLinks, sites, rootSite, foundAirFiber
|
|||||||
if isTrueSite:
|
if isTrueSite:
|
||||||
if site['parent'] is not None:
|
if site['parent'] is not None:
|
||||||
parent = site['parent']
|
parent = site['parent']
|
||||||
|
# Check how many links connect site to parent
|
||||||
|
# If only one link conencts them, we can then consdier if it's a node off PtMP
|
||||||
|
howManyLinksToParent = 0
|
||||||
for link in dataLinks:
|
for link in dataLinks:
|
||||||
if (link['to']['site'] is not None) and (link['to']['site']['identification'] is not None):
|
if (link['to']['site'] is not None) and (link['to']['site']['identification'] is not None):
|
||||||
if ('identification' in link['to']['site']) and (link['to']['site']['identification'] is not None) and link['from'] is not None and link['from']['site'] is not None and link['from']['site']['identification'] is not None:
|
if ('identification' in link['to']['site']) and (link['to']['site']['identification'] is not None) and link['from'] is not None and link['from']['site'] is not None and link['from']['site']['identification'] is not None:
|
||||||
# Respect parent defined by topology and overrides
|
|
||||||
if link['from']['site']['identification']['id'] == trueParent:
|
if link['from']['site']['identification']['id'] == trueParent:
|
||||||
if link['to']['site']['identification']['id'] == id:
|
if link['to']['site']['identification']['id'] == id:
|
||||||
if (link['from']['device']['overview']['wirelessMode'] == 'ap-ptmp') or (link['from']['device']['overview']['wirelessMode'] == 'ap'):
|
howManyLinksToParent += 1
|
||||||
if 'overview' in link['to']['device']:
|
if howManyLinksToParent == 1:
|
||||||
if ('downlinkCapacity' in link['to']['device']['overview']) and ('uplinkCapacity' in link['to']['device']['overview']):
|
for link in dataLinks:
|
||||||
if (link['to']['device']['overview']['downlinkCapacity'] is not None) and (link['to']['device']['overview']['uplinkCapacity'] is not None):
|
if (link['to']['site'] is not None) and (link['to']['site']['identification'] is not None):
|
||||||
apID = link['from']['device']['identification']['id']
|
if ('identification' in link['to']['site']) and (link['to']['site']['identification'] is not None) and link['from'] is not None and link['from']['site'] is not None and link['from']['site']['identification'] is not None:
|
||||||
# Capacity of the PtMP client radio feeding the PoP will be used as the site bandwidth limit
|
# Respect parent defined by topology and overrides
|
||||||
download = int(round(link['to']['device']['overview']['downlinkCapacity']/1000000))
|
if link['from']['site']['identification']['id'] == trueParent:
|
||||||
upload = int(round(link['to']['device']['overview']['uplinkCapacity']/1000000))
|
if link['to']['site']['identification']['id'] == id:
|
||||||
nodeOffPtMP[id] = {'download': download,
|
if (link['from']['device']['overview']['wirelessMode'] == 'ap-ptmp') or (link['from']['device']['overview']['wirelessMode'] == 'ap'):
|
||||||
'upload': upload,
|
if 'overview' in link['to']['device']:
|
||||||
parent: apID
|
if ('downlinkCapacity' in link['to']['device']['overview']) and ('uplinkCapacity' in link['to']['device']['overview']):
|
||||||
}
|
if (link['to']['device']['overview']['downlinkCapacity'] is not None) and (link['to']['device']['overview']['uplinkCapacity'] is not None):
|
||||||
if usePtMPasParent:
|
apID = link['from']['device']['identification']['id']
|
||||||
site['parent'] = apID
|
# Capacity of the PtMP client radio feeding the PoP will be used as the site bandwidth limit
|
||||||
print('Site ' + name + ' will use PtMP AP as parent.')
|
download = int(round(link['to']['device']['overview']['downlinkCapacity']/1000000))
|
||||||
|
upload = int(round(link['to']['device']['overview']['uplinkCapacity']/1000000))
|
||||||
|
nodeOffPtMP[id] = {'download': download,
|
||||||
|
'upload': upload,
|
||||||
|
parent: apID
|
||||||
|
}
|
||||||
|
if usePtMPasParent:
|
||||||
|
site['parent'] = apID
|
||||||
|
print('Site ' + name + ' will use PtMP AP ' + link['from']['device']['identification']['name'] + ' as parent from site ' + link['from']['site']['identification']['name'])
|
||||||
return siteList, nodeOffPtMP
|
return siteList, nodeOffPtMP
|
||||||
|
|
||||||
def handleMultipleInternetNodes(sites, dataLinks, uispSite):
|
def handleMultipleInternetNodes(sites, dataLinks, uispSite):
|
||||||
|
Loading…
Reference in New Issue
Block a user