mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2024-11-25 01:30:17 -06:00
102 lines
3.8 KiB
Python
102 lines
3.8 KiB
Python
# 'fq_codel' or 'cake diffserv4'
|
|
# 'cake diffserv4' is recommended
|
|
# sqm = 'fq_codel'
|
|
sqm = 'cake diffserv4'
|
|
|
|
# Used to passively monitor the network for before / after comparisons. Leave as False to
|
|
# ensure actual shaping. After changing this value, run "sudo systemctl restart LibreQoS.service"
|
|
monitorOnlyMode = False
|
|
|
|
# How many Mbps are available to the edge of this network
|
|
upstreamBandwidthCapacityDownloadMbps = 1000
|
|
upstreamBandwidthCapacityUploadMbps = 1000
|
|
|
|
# Devices in ShapedDevices.csv without a defined ParentNode will be placed under a generated
|
|
# parent node, evenly spread out across CPU cores. Here, define the bandwidth limit for each
|
|
# of those generated parent nodes.
|
|
generatedPNDownloadMbps = 1000
|
|
generatedPNUploadMbps = 1000
|
|
|
|
# Interface connected to core router
|
|
interfaceA = 'eth1'
|
|
|
|
# Interface connected to edge router
|
|
interfaceB = 'eth2'
|
|
|
|
## WORK IN PROGRESS. Note that interfaceA determines the "stick" interface
|
|
## I could only get scanning to work if I issued ethtool -K enp1s0f1 rxvlan off
|
|
OnAStick = False
|
|
# VLAN facing the core router
|
|
StickVlanA = 0
|
|
# VLAN facing the edge router
|
|
StickVlanB = 0
|
|
|
|
# Allow shell commands. False causes commands print to console only without being executed.
|
|
# MUST BE ENABLED FOR PROGRAM TO FUNCTION
|
|
enableActualShellCommands = True
|
|
|
|
# Add 'sudo' before execution of any shell commands. May be required depending on distribution and environment.
|
|
runShellCommandsAsSudo = False
|
|
|
|
# Allows overriding queues / CPU cores used. When set to 0, the max possible queues / CPU cores are utilized. Please leave as 0.
|
|
queuesAvailableOverride = 0
|
|
|
|
# Some networks are flat - where there are no Parent Nodes defined in ShapedDevices.csv
|
|
# For such flat networks, just define network.json as {} and enable this setting
|
|
# By default, it balances the subscribers across CPU cores, factoring in their max bandwidth rates
|
|
# Past 25,000 subsribers this algorithm becomes inefficient and is not advised
|
|
useBinPackingToBalanceCPU = True
|
|
|
|
# Bandwidth & Latency Graphing
|
|
influxDBEnabled = True
|
|
influxDBurl = "http://localhost:8086"
|
|
influxDBBucket = "libreqos"
|
|
influxDBOrg = "Your ISP Name Here"
|
|
influxDBtoken = ""
|
|
|
|
# NMS/CRM Integration
|
|
|
|
# If a device shows a WAN IP within these subnets, assume they are behind NAT / un-shapable, and ignore them
|
|
ignoreSubnets = ['192.168.0.0/16']
|
|
allowedSubnets = ['100.64.0.0/10']
|
|
|
|
# Splynx Integration
|
|
automaticImportSplynx = False
|
|
splynx_api_key = ''
|
|
splynx_api_secret = ''
|
|
# Everything before /api/2.0/ on your Splynx instance
|
|
splynx_api_url = 'https://YOUR_URL.splynx.app'
|
|
|
|
# UISP integration
|
|
automaticImportUISP = False
|
|
uispAuthToken = ''
|
|
# Everything before /nms/ on your UISP instance
|
|
UISPbaseURL = 'https://examplesite.com'
|
|
# UISP Site - enter the name of the root site in your network tree
|
|
# to act as the starting point for the tree mapping
|
|
uispSite = ''
|
|
# Strategy:
|
|
# * "flat" - create all client sites directly off the top of the tree,
|
|
# provides maximum performance - at the expense of not offering AP,
|
|
# or site options.
|
|
# * "full" - build a complete network map
|
|
uispStrategy = "full"
|
|
# List any sites that should not be included, with each site name surrounded by '' and seperated by commas
|
|
excludeSites = []
|
|
# If you use IPv6, this can be used to find associated IPv6 prefixes for your clients' IPv4 addresses, and match them to those devices
|
|
findIPv6usingMikrotik = False
|
|
# If you want to provide a safe cushion for speed test results to prevent customer complains, you can set this to 1.15 (15% above plan rate).
|
|
# If not, you can leave as 1.0
|
|
bandwidthOverheadFactor = 1.0
|
|
# For edge cases, set the respective ParentNode for these CPEs
|
|
exceptionCPEs = {}
|
|
# 'CPE-SomeLocation1': 'AP-SomeLocation1',
|
|
# 'CPE-SomeLocation2': 'AP-SomeLocation2',
|
|
#}
|
|
|
|
# API Auth
|
|
apiUsername = "testUser"
|
|
apiPassword = "changeme8343486806"
|
|
apiHostIP = "127.0.0.1"
|
|
apiHostPost = 5000
|