lldpd: add support for 'readonly_mode'
[openwrt/staging/chunkeey.git] / package / network / services / lldpd / files / lldpd.init
index 35999501f9729b1fc0072519fec888ee44f050fa..40f261162555db802aa4e6fa8643a50ebad71ea5 100644 (file)
@@ -24,6 +24,7 @@ start() {
        local lldp_class
        local lldp_location
        local lldp_description
+       local readonly_mode
 
        config_load 'lldpd'
        config_get_bool enable_cdp 'config' 'enable_cdp' 0
@@ -33,25 +34,25 @@ start() {
        config_get lldp_class 'config' 'lldp_class'
        config_get lldp_location 'config' 'lldp_location'
        config_get lldp_description 'config' 'lldp_description' "$(find_release_info)"
+       config_get_bool readonly_mode 'config' 'readonly_mode' 0
 
        local ifaces
        config_get ifaces 'config' 'interface'
 
-       local iface
+       local iface ifnames=""
        for iface in $ifaces; do
                local ifname=""
                if network_get_device ifname "$iface" || [ -e "/sys/class/net/$iface" ]; then
-                       append args "-I ${ifname:-$iface}"
+                       append ifnames "${ifname:-$iface}" ","
                fi
        done
 
+       [ -n "$ifnames" ] && append args "-I $ifnames"
        [ $enable_cdp -gt 0 ] && append args '-c'
        [ $enable_fdp -gt 0 ] && append args '-f'
        [ $enable_sonmp -gt 0 ] && append args '-s'
        [ $enable_edp -gt 0 ] && append args '-e'
-
-       user_exists  lldp 121 || user_add  lldp 121 129
-       group_exists lldp 129 || group_add lldp 129
+       [ $readonly_mode -gt 0 ] && append args '-r'
 
        mkdir -p /var/run/lldp
        chown lldp:lldp /var/run/lldp