Dsld

From Fritz!Box
Jump to: navigation, search

AVM Wiki >> Shell-Befehle >> dsld @ whmf   -   IRC-Chat   -   hu nl it English
Community Modelle Zubehör Environment Konfiguration Shell-Befehle Software Freetz Lexikon Tipps+Tricks Bilder

Startup-Scripts AVM-Befehle BusyBox-Befehle Linux-Befehle Shared Libraries Kernel-Module Listings Todo

Contents

Befehl

dsld ist ein Ein AVM-Daemon der sich um das DSL-Interface kümmert. Er ist die Schnittstelle zum Kernel-Modul kdsldmod.ko das mit der DSL Firmware auf dem DSP den Signal-Verarbeitungs Teil des DSL erledigt. Alle Betriebsmodi der Box die Routing benötigen (also alle außer dem IP-Client Modus) werden von dsld und kdsldmod.ko koordiniert, siehe Zugangsdaten.

Auch wenn der Name es impliziert, dsld ist nicht nur im Zusammenhang mit DSL erfordernich, sondern für jegliches Routing. So findet man ihn namensgleich auch in DOCSIS- und LTE-Modellen und sogar in der Modem-freien FRITZ!Box Fon ata. Auch beim Zugang über UMTS wird neben umtsd auch dsld benötigt.

dsld kümmert sich auch um das Traffic-Shaping und QoS, dazu erzeugt er wan.tc und ruft damit tc auf. Je nach Bedarf lädt dsld dazu die Kernel-Module sch_tbf.ko, sch_llq.ko, sch_htb.ko und sch_sfq.ko mit modprobe nach.

Eine weitere Aufgabe ist das Routing von AVM-VPN im Zusammenspiel mit avmike.

Aufgaben

Aufgerufen von

Kommunikation

Environment

Konfiguration

Tempfiles

Aufruf

# dsld -?
usage: dsld dsld [options]
options:
 -?                 - print this help
 -d                 - Debug for PPP-Stack. (NOTSET)
 -f                 - run in forground. (NOTSET)
 -s                 - stop daemon. (NOTSET)
 -v                 - verbose. (NOTSET)
 -p STRING          - Pidfile. ("/var/run/dsld.pid")
 -r INTEGER         - Portrange for IPMASQ. (0)
 -F                 - no pppoe forwarding. (NOTSET)
 -C                 - connect on startup. (NOTSET)
 -i                 - obsolete. (NOTSET)
 -M STRING          - memory debug output. (NULL)
 -n                 - do not show packets dropped. (NOTSET)
 -I                 - send dsld a SIGHUP. (NOTSET)
 -V STRING          - Pidfile of voipd. ("/var/run/voipd.pid")
 -S                 - show bandwidth used every second. (NOTSET)
 -g                 - do not start igd. (NOTSET)
 -R                 - NQOS with estimator. (NOTSET)
 -m STRING          - set want mtus "rcvmtu,sndmtu". (NULL)
 -B INTEGER         - rcvbuf size for atm pvc in KB. (512)
 -D STRING          - switch debug logs on. (NULL)

start server:   dsld
stop server :   dsld -s

Ältere Optionen die ab Firmware 4.80 verschwanden oder obsolete wurden:

 -i                 - first start after bootup. (NOTSET)
 -T                 - no trafficshaper. (NOTSET)

Alte Optionen die in der aktuellsten Firmware der FB, FBsl, 2030 und FBFata vorkommen:

 -N                 - no higher priority. (NOTSET)            
 -Q INTEGER         - atm rmem in Kbyte. (64)                 
 -X INTEGER         - Paket per select. (-30)                 
 -q INTEGER         - tun tx queue len (packets). (10)    
 -O INTEGER         - dsl tx queue len (packets). (10)  

Uralt-Optionen die in keiner aktuellen Firmware irgendeines Modells mehr vorkommen:

 -t                 - packet trace. (NOTSET)
 -b INTEGER         - download smoothing min. (1452)
 -B INTEGER         - download smoothing max. (65340)
 -a INTEGER         - download smooothing incr. (256)
 -R                 - raw low level capture. (NOTSET)          - 
 -z                 - capture only dropped packets. (NOTSET)

Message Interface

Diese Angaben sind der aktuelle Stand der Recherche und werden sich wahrscheinlich noch ändern!

msgsend dsld connect <pvc-num>     # 0=inet 1=voip
msgsend dsld disconnect <pvc-num>  # 0=inet 1=voip

msgsend dsld reload                # soft restart

msgsend dsld disable               # internet traffic blocken?
msgsend dsld enable                # internet traffic erlauben?

msgsend dsld vpnenable             # tun Interface up?
msgsend dsld vpndisable            # tun Interface down?

msgsend dsld ifacestatburston
msgsend dsld ifacestatburstoff

msgsend dsld tcautoon
msgsend dsld tcautooff

msgsend dsld regfail %d            # von voipd
msgsend dsld voiprunning <flag>    # von voipd 0=off 1=on
msgsend dsld wlan
msgsend dsld tr069discover

msgsend dsld debug
msgsend dsld slab
msgsend dsld silent
msgsend dsld token

Funktionen

Diese Angaben sind der aktuelle Stand der Recherche und werden sich wahrscheinlich noch ändern!

$ strings /sbin/dsld | grep "\.c$" | sort
dsld.c
igd.c
../multid/arpping.c
../multid/dhcp.c

TR-06x Funktionen

 $ strings sbin/dsld | grep 06[49] | sort | uniq
AVM tr069discover 1.0 dslforum.org
dsldstat_get_tr069_connection
dsldstat_set_tr069_connection
tr069
tr069discover
tr069discover_autodetect
tr069discover %s %s %s
tr069dns
tr069info

Beispiele

Aufgeruf in rc.net in der Funktion startall()

dsld -i -n $NICEPARAM

Konfiguriert in der ar7.cfg in Sektion dslinterface:

       dslinterface {
               name = "dsl";
               dhcp = no;
               ipaddr = 192.168.179.1;
               netmask = 255.255.255.0;
               dstipaddr = 192.168.179.1;
               dhcpenabled = yes;
               dhcpstart = 0.0.0.0;
               dhcpend = 0.0.0.0;
       }
       dslinterface_metric = 2;
       dslifaces {
               name = "internet";
               ...} {
               name = "voip";
               ...}
       ...

Der Dienst nimmt beim Starten Kontakt mit dem DSLAM der DSL-Gegenstelle auf. Mittels PPPoE geschieht der Einlogvorgang und die Zuordnung einer IP-Adresse. Um eine neue IP-Adresse zu erhalten, muss man den Dienst anhalten und wieder starten:

dsld -s && dsld -n

Diesen Vorgang kann man automatisieren oder fernsteuern, siehe Trennen und sofortige Neueinwahl.

Symbole

arpping_abort
arpping_send_ping
autodetect_dslparam
autodetect_init
autodetect_setmsgendp
autodetect_sync_lost
budget_led_state
check_ikeapi
compile_chatscript
csum_partial
dsld_main
dsltest_main
ethaddr2str
event_already_listed
free_event_list
fw_int_rules_init
fwd_int_rules_ok
fwdip_ok
igd_get_act_statistic
igd_pm_added
igd_pm_deleted
igd_pm_info
igd_pm_poll
igd_send_addons
igd_set_statistic_burst
igd_start
igd_stop
igdcmd_add_pm
igdcmd_connect
igdcmd_del_pm
igdcmd_disconnect
igdcmd_get_special_options
igdcmd_is_status_unconfigured
igdcmd_sendme_conn_info
igdcmd_sendme_dsl_info
igdcmd_sendme_iface_info
igdcmd_sendme_pm_info
igdcmd_set_running
igdcmd_set_uptime
ikeapi_register
ikeapi_send_request
ikeapi_server_shutdown
ikeapi_server_start
ikeapi_unregister
ikeapifunc2str
ipsec_delete_reason2str
kdsld_check
kdsld_disable_tcpfastforward
kdsld_disable_vpn
kdsld_enable_vpn
kdsld_finish_setup
kdsld_get_adsltxcnt
kdsld_get_device_stats
kdsld_init
kdsld_qos_add_bridge
kdsld_qos_add_classifer
kdsld_qos_add_devport_vlanid
kdsld_qos_add_flow
kdsld_qos_add_forward
kdsld_qos_clearall
kdsld_qos_mac_whitelist
kdsld_qos_set_appl
kdsld_qos_set_queue_major
kdsld_qos_set_result
kdsld_qos_start
kdsld_register_capivcc
kdsld_register_ethervcc
kdsld_register_vcc
kdsld_send
kdsld_set_debug
kdsld_set_dropdebug
kdsld_set_ipmasqrange
kdsld_set_ipsecbridgeconfig
kdsld_set_oem_opmask
kdsld_set_pppdebug
kdsld_set_pppoefw_vlan_tagging
kdsld_set_upstream_igmpversion
kdsld_set_vpnconfig
kdsld_showtime
kdsld_stopping
kdsld_sync_lost
kdsld_ttyvcc_set_chatscript
kdsld_unregister_ethervcc
kdsld_unsetup
kdsldiface_set_automatic_reconnect
kdslinterface_abort_inform_dhcpc
kdslinterface_budget_control
kdslinterface_connect
kdslinterface_connect_ipv4
kdslinterface_create
kdslinterface_destroy
kdslinterface_disable_ondemand
kdslinterface_disconnect
kdslinterface_disconnect_ipv4
kdslinterface_get_act_inactivity
kdslinterface_get_ipinfo
kdslinterface_get_stats
kdslinterface_igdportmapping_add
kdslinterface_igdportmapping_delete
kdslinterface_igdportmapping_sendme
kdslinterface_is_connected
kdslinterface_is_disconnected
kdslinterface_set_enable
kdslinterface_set_forwardrules
kdslinterface_set_inactivity_timeout
kdslinterface_set_routing
kdslinterface_set_static_routes
kdslinterface_set_wantmtu
kdslinterface_toggle_firewall
kdslinterface_trigger_inform_dhcpc
kdslinterface_trigger_route_report
kipbridgeing_setup
kipbridgeing_unsetup
kpppoefw_exit
kpppoefw_init
main
ppp_led_state
pppoeerror_led_state
reset_last_rate_stamp
snoop_option
tc_class_info
tc_qdisc_info
tcclass_value2str
udp67_closecb
udslinterface_get_act_inactivity
upnp_set_var
vpn_led_state

Abhängigkeiten

Optional:

Siehe auch

Internet: (170)

DSL: (205)

QoS: (23)