Priority Manager aus Labor-FW

MReimer

Aktives Mitglied
Mitglied seit
4 Sep 2005
Beiträge
825
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich benötige den Prioritäten-Manager der in der Labor-Firmware dazugekommen ist. Meine Hoffnung ist, dass damit VoIP effektiver priorisiert werden kann, denn der Shaper taugt leider nicht viel. Bei gleichzeitiger Internetaktivität wird bei unserem DSL-Light das VoIP unerträglich...

Ich habe aber nur eine FBF 5140. Also nix mit "einfach Labor-Firmware drauf".

Der relevante Bereich in der ar7.cfg ist "prios", der bei mir einfach "prios {}" heißt. Also da aber ohne Inhalt.

Wenn ich dort nun manuell Einträge mache, wird die aktuelle Firmware der FBF 5140 dann die Werte auslesen und nutzen?

Ich bin gerade dabei mir eine entsprechende ar7.cfg zu besorgen um das zu testen, mich würde aber interessieren wie die Erfahrungen da so sind. Sind all die Features der Labor-Firmwares eigentlich bereits da, werden aber erst später auch konfiguriert oder ist es mit einfachem Erweitern der ar7.cfg mit höchster Wahrscheinlichkeit nicht getan?
 
Da müsstest du dir die libar7cfg anschauen, wenn die Einstellungen dort drin stehen, dann werden sie schonmal erkannt. Ob der dsld (?) dann auch noch was damit anzufangen weiß kann ich dir aber nicht sagen.

MfG Oliver
 
Nehmen wir an es wäre der dsld. Könnte man dann auch den dsld der Labor-Firmware in die Box packen oder führt das zu weit?

libar7cfg werde ich mir mal anschauen. Sobald ich die nötigen Werkzeuge habe um Firmware-Images zu entpacken sollte ich in diesen ja wohl fündig werden.
 
Einzelne Teile zu portieren halte ich für nicht machbar. Du müsstest dich an unseren Alien-Varianten orientieren und die Labor Firmware nehmen und dann die nötigen Komponenten aus der 5140 Firmware rüber kopieren. Falls das denn funktioniert.

MfG Oliver
 
... ich komme hier so nicht weiter. Die ar7.cfg die in der Firmware als Default liegt hat auch keinen prios-Teil. Eine FBF 7270 zum Testen hab ich nicht. Woher bekomme ich die Syntax für diesen Prios-Kram und wo liegt libar7cfg? Auch diese ist wohl nicht im Image vorhanden...
 
Code:
/var/mod/root # ls -l /lib/libar7*
lrwxrwxrwx    1 root     root           18 Sep 14  2008 /lib/libar7cfg.so -> libar7cfg.so.1.0.0
lrwxrwxrwx    1 root     root           18 Sep 14  2008 /lib/libar7cfg.so.1 -> libar7cfg.so.1.0.0
-rwxr-xr-x    1 root     root       198176 Sep  5  2008 /lib/libar7cfg.so.1.0.0
/var/mod/root #
Code:
qos {
        always_set_tos = no;
        rules {
                tcclass = "sip";
                rules = "udp.dport 5060";
        } {
                tcclass = "dns";
                rules = "udp.dport 53";
        } {
                tcclass = "http_req";
                rules = "tcp.dport 80 ip.len <= 800",
                        "tcp.dport 8080 ip.len <= 800",
                        "tcp.dport 3128 ip.len <= 800";
        } {
                tcclass = "tcp_ack";
                rules = "ip.proto == tcp ip.len <= 64";
        } {
                tcclass = "icmp";
                rules = "ip.proto == icmp";
        }
}

prios {
        users {
                ip = 0.0.0.0;
                profile = "Internettelefonie";
                type = prio_very_high;
                weight = 0;
        } {
                ip = 0.0.0.0;
                profile = "FRITZ! Media Videostreaming";
                type = prio_very_high;
                weight = 0;
        }
        profiles {
                name = "HTTP-Server";
                rules = "TCP 80 0 0 0";
        } {
                name = "FTP-Server";
                rules = "TCP 20 21 0 0";
        } {
                name = "eMule";
                rules = "TCP 0 0 4662 0", "UDP 0 0 4672 0";
        } {
                name = "BitTorrent";
                rules = "TCP 0 0 6881 6999";
        } {
                name = "MS Remotedesktop";
                rules = "TCP 3389 0 0 0";
        } {
                name = "SSH";
                rules = "TCP 0 0 22 0";
        } {
                name = "Telnet";
                rules = "TCP 0 0 23 0";
        }
}

nqos {
        version = 1;
        defaultresult {
                tos = -1;
                vlan_prio = -1;
                queueref = "default";
        }
        appls {
                enabled = yes;
                name = "sip-appl";
                protocol = qos_classifier_appl_sip;
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "hrealtime";
                }
        }
        classifiers {
                enabled = yes;
                name = "igmp";
                type = qos_cfg_hidden;
                iface = qos_local;
                rule = "localmark none ip.proto == igmp";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "ifacectl";
                }
        } {
                enabled = yes;
                name = "tr069";
                type = qos_cfg_hidden;
                iface = qos_local;
                rule = "localmark sipdns,ntpdns,tr069dns,tr069";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "hprio";
                }
        } {
                enabled = yes;
                name = "mstv";
                type = qos_cfg_hidden;
                iface = qos_lan;
                rule = "udp.dport 43962";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "hprio";
                }
        } {
                enabled = yes;
                name = "mstv";
                type = qos_cfg_hidden;
                iface = qos_lan;
                rule = "udp.dport 47806";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "hprio";
                }
        } {
                enabled = yes;
                name = "icmp";
                type = qos_cfg_hidden;
                iface = qos_lan;
                rule = "ip.proto icmp";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "hprio";
                }
        } {
                enabled = yes;
                name = "dns";
                type = qos_cfg_hidden;
                iface = qos_lan;
                rule = "udp.dport 53";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "hprio";
                }
        } {
                enabled = yes;
                name = "Internettelefonie";
                type = qos_cfg_internal;
                iface = qos_local;
                rule = "localmark sip";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "realtime";
                }
        } {
                enabled = yes;
                name = "Internettelefonie";
                type = qos_cfg_internal;
                iface = qos_local;
                rule = "localmark rtp";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "realtime";
                }
        } {
                enabled = yes;
                name = "Internettelefonie";
                type = qos_cfg_internal;
                iface = qos_lan;
                rule = "udp.dport 5060";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "realtime";
                        applref = "sip-appl";
                }
        } {
                enabled = yes;
                name = "FRITZ! Media Videostreaming";
                type = qos_cfg_internal;
                iface = qos_lan;
                rule = "dhcpoption 12 FRITZ!Media* mediatab";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "realtime";
                }
        } {
                enabled = yes;
                name = "FRITZ! Media Videostreaming";
                type = qos_cfg_internal;
                iface = qos_lan;
                rule = "ethsrctab mediatab";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "realtime";
                }
        } {
                enabled = no;
                name = "Surfen";
                type = qos_cfg_system;
                iface = qos_lan;
                rule = "ip.proto == tcp ip.len <= 64";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "none";
                }
        } {
                enabled = no;
                name = "Surfen";
                type = qos_cfg_system;
                iface = qos_lan;
                rule = "tcp.dest 80 ip.len <= 800";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "none";
                }
        } {
                enabled = no;
                name = "Surfen";
                type = qos_cfg_system;
                iface = qos_lan;
                rule = "tcp.dest 8080 ip.len <= 800";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "none";
                }
        } {
                enabled = no;
                name = "Surfen";
                type = qos_cfg_system;
                iface = qos_lan;
                rule = "tcp.dest 3128 ip.len <= 800";
                result {
                        tos = -1;
                        vlan_prio = -1;
                        queueref = "none";
                }
        }
        queues {
                enabled = yes;
                with_sfq = no;
                type = qos_cfg_system;
                name = "ifacectl";
                iface = qos_wan;
                precedence = 0;
                weight = 0;
                shapingrate = 0;
                shapingburst = 0;
        } {
                enabled = yes;
                with_sfq = no;
                type = qos_cfg_system;
                name = "hprio";
                iface = qos_wan;
                precedence = 10;
                weight = 0;
                shapingrate = 0;
                shapingburst = 0;
        } {
                enabled = yes;
                with_sfq = no;
                type = qos_cfg_system;
                name = "hrealtime";
                iface = qos_wan;
                precedence = 20;
                weight = 0;
                shapingrate = 0;
                shapingburst = 0;
        } {
                enabled = yes;
                with_sfq = yes;
                type = qos_cfg_system;
                name = "realtime";
                iface = qos_wan;
                precedence = 30;
                weight = 0;
                shapingrate = 0;
                shapingburst = 0;
        } {
                enabled = yes;
                with_sfq = yes;
                type = qos_cfg_system;
                name = "important";
                iface = qos_wan;
                precedence = 100;
                weight = 90;
                shapingrate = 0;
                shapingburst = 0;
        } {
                enabled = yes;
                with_sfq = yes;
                type = qos_cfg_system;
                name = "default";
                iface = qos_wan;
                precedence = 100;
                weight = 10;
                shapingrate = 0;
                shapingburst = 0;
        } {
                enabled = yes;
                with_sfq = yes;
                type = qos_cfg_system;
                name = "low";
                iface = qos_wan;
                precedence = 200;
                weight = 0;
                shapingrate = 0;
                shapingburst = 0;
        }
}
MfG Oliver
 
Danke für die Infos. Ich werde mir libar7cfg auf meiner Box mal anschauen. Bei der Komplexität wäre es aber wohl schon sehr viel Glück wenn das Backend tatsächlich schon in der 5140 drin ist.
 
Hallo nochmal.

Ich habe die libar7cfg.so-Dateien mal beide nach "prio" durchsucht:

Code:
root@linux:~/fbfw# strings labor/var/tmp/squashfs-root/lib/libar7cfg.so | grep prio
AR7CFG_prios_struct
AR7CFG_prio_profile_struct
AR7CFG_prio_user_struct
AR7CFG_prio_type_enumdef
AR7CFG_prio_type_enum
AR7CFG_prio_user_alloc
AR7CFG_prio_user_free
AR7CFG_prio_profile_alloc
AR7CFG_prio_profile_free
AR7CFG_prios_alloc
AR7CFG_prios_free
prio_user
prio_profile
prios
vlan_prio
prio_type
igmp_prio
priority
vlanprio
prio_none
prio_very_high
prio_high
prio_medium
prio_low
vlanencap_fixed_prio
vlanencap_class_prio
hprio
sip_prio
rtp_prio
prio_low_codec
root@linux:~/fbfw# strings final/var/tmp/squashfs-root/lib/libar7cfg.so | grep prio
AR7CFG_prios_struct
AR7CFG_prio_user_struct
AR7CFG_prio_type_enumdef
AR7CFG_prio_type_enum
AR7CFG_prio_user_alloc
AR7CFG_prio_user_free
AR7CFG_prios_alloc
AR7CFG_prios_free
prio_user
prios
vlan_prio
prio_order
prio_very_high
prio_high
prio_medium
prio_type
igmp_prio
vlanprio
prio_none
vlanencap_fixed_prio
vlanencap_class_prio
min_priority
max_priority
sip_prio
rtp_prio
prio_low_codec

Was in der aktuellen Final für die 5140 zum Beispiel fehlt ist AR7CFG_prio_profile_struct. Andererseits sind aber auch einige Dinge durchaus vorhanden, wie z.B. prio_very_high. Wenn der Priority-Manager aber wirklich schon in der 5140 existiert, dann wird er wohl über eine andere Syntax konfiguriert, die mir nicht bekannt ist...

Ich schreibe jetzt nochmal AVM an. Wenn das nix bringt, dann gebe ich das ganze erstmal auf und hänge jetzt einen zusätzlichen Router vor die Box...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.