3# Setzen aller fuer Opennet relevanten olsr-Einstellungen. 
    5# Dieses Skript wird nur ein einziges Mal nach einem Upgrade oder der Erstinstallation ausgefuehrt: 
   10# shellcheck source=opennet/packages/on-core/files/usr/lib/opennet/on-helper.sh 
   11. 
"${IPKG_INSTROOT:-}/usr/lib/opennet/on-helper.sh" 
   14configure_olsrd_httpinfo_port() {
 
   15    trap 
'error_trap configure_olsrd_httpinfo_port "$*"' EXIT
 
   19    # add and activate httpinfo plugin 
   20    uci_prefix=
$(get_and_enable_olsrd_library_uci_prefix 
"httpinfo")
 
   21    # Wir koennen leider nicht zwischen "Nutzer hat 1978 eingestellt" und "Auslieferungszustand" unterscheiden.
 
   22    # Falls der Nutzer also explizit diesen Port will, dann muss er ihn nach einem Upgrade wieder einstellen. 
   23    if [ 
"$(uci_get "${uci_prefix}.port
" "1978
")" = 
"1978" ]; then
 
   24        uci set 
"${uci_prefix}.port=$port" 
   29# das txtinfo-Modul ist notwendig fuer die Dienstverwaltung (Routen-Entfernung) 
   30olsrd_enable_txtinfo() {
 
   31    trap 
'error_trap olsrd_enable_txtinfo "$*"' EXIT
 
   33    uci_prefix=
$(get_and_enable_olsrd_library_uci_prefix 
"txtinfo")
 
   34    uci set 
"${uci_prefix}.ignore=0" 
   38# das jsoninfo-Modul ist notwendig fuer die luci-Integration von olsrd 
   39# (nett, aber unwichtig) 
   40olsrd_enable_jsoninfo() {
 
   41    trap 
'error_trap olsrd_enable_jsoninfo "$*"' EXIT
 
   43    uci_prefix=
$(get_and_enable_olsrd_library_uci_prefix 
"jsoninfo")
 
   44    uci set 
"${uci_prefix}.ignore=0" 
   48olsrd_enable_ondataservice() {
 
   49    trap 
'error_trap enable_ondataservice "$*"' EXIT
 
   52    # schon vorhanden? Unberuehrt lassen ... 
   53    uci -q show olsrd | grep -q ondataservice && 
return 
   55    # add and activate ondataservice plugin 
   56    uci_prefix=
$(get_and_enable_olsrd_library_uci_prefix 
"ondataservice_light")
 
   57    uci set 
"${uci_prefix}.interval=10800" 
   58    uci set 
"${uci_prefix}.inc_interval=5" 
   59    uci set 
"${uci_prefix}.database=/tmp/database.json" 
   60    # Wir setzen "ignore" nicht explizit auf "0", da es nicht unbedingt erforderlich ist und
 
   61    # im Unterschied zu den relevanten olsrd-Plugins nicht zu erwarten ist, dass es zuvor 
   62    # bereits existierte. Falls also "ignore" auf "1" gesetzt ist, dann war es eine bewusste
 
   63    # Entscheidung des Nutzers. 
   67olsrd_enable_nameservice() {
 
   68    trap 
'error_trap enable_nameservice "$*"' EXIT
 
   72    # fuer NTP, DNS und die Gateway-Auswahl benoetigen wir das nameservice-Plugin 
   74    uci_prefix=
$(get_and_enable_olsrd_library_uci_prefix 
"nameservice")
 
   75    if [ -z 
"$uci_prefix" ]; then
 
   76           msg_info "Failed to find olsrd_nameservice plugin" 
   78        # Option 'services-change-script' setzen 
   79        current_trigger=
$(uci_get 
"${uci_prefix}.services_change_script" || 
true)
 
   80        [ -n 
"$current_trigger" ] && [ 
"$current_trigger" != 
"$OLSR_NAMESERVICE_SERVICE_TRIGGER" ] && \
 
   81            msg_info 
"WARNING: overwriting 'services-change-script' option of olsrd nameservice plugin with custom value. You should place a script below /etc/olsrd/nameservice.d/ instead." 
   82        uci set 
"${uci_prefix}.services_change_script=$OLSR_NAMESERVICE_SERVICE_TRIGGER" 
   83        uci set 
"${uci_prefix}.ignore=0" 
   88# disable olsrd6. By default it is enabled. We use olsrd2 for IPv6. 
   90    trap 
'error_trap olsrd6_disable "$*"' EXIT
 
   91    /etc/init.d/olsrd6 disable
 
   95# erwuenschte Einstellungen setzen 
   96olsrd_enable_ondataservice
 
   97olsrd_enable_nameservice
 
   98disable_missing_olsr_modules
 
  101configure_olsrd_httpinfo_port 
"$OLSR_HTTP_PORT" 
msg_info(message)
Informationen und Fehlermeldungen ins syslog schreiben.
 
olsr_sync_routing_tables()
Synchronisiere die olsrd-Routingtabellen-Konfiguration mit den iproute-Routingtabellennummern.