# Sample configuration for link discovery
# Note that the current file location (onos/tools/package/etc) is required for packaging onos and launching it in another location.
# If you are launching onos locally, this configuration file would be placed at: $(KARAF_ROOT)/etc

#
# Disable Link Dicovery Permanently (Note: changing this property at runtime will have NO effect)
# WARNING: This should only be used for special projects like bgprouter, where ONOS is controlling
# a single switch
#
#disableLinkDiscovery = true

#
# Enable Broadcast Discovery Protocol (EthType=0x8942)
#
#useBDDP = false

#
# Disable LLDP's received from specific devices
# Details of the devices are in the file configured below
#
#lldpSuppression = ../config/lldp_suppresion.json
