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?
 

olistudent

IPPF-Urgestein
Mitglied seit
19 Okt 2004
Beiträge
14,779
Punkte für Reaktionen
10
Punkte
38
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
 

MReimer

Aktives Mitglied
Mitglied seit
4 Sep 2005
Beiträge
825
Punkte für Reaktionen
0
Punkte
0
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.
 

olistudent

IPPF-Urgestein
Mitglied seit
19 Okt 2004
Beiträge
14,779
Punkte für Reaktionen
10
Punkte
38
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
 

MReimer

Aktives Mitglied
Mitglied seit
4 Sep 2005
Beiträge
825
Punkte für Reaktionen
0
Punkte
0
... 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...
 

olistudent

IPPF-Urgestein
Mitglied seit
19 Okt 2004
Beiträge
14,779
Punkte für Reaktionen
10
Punkte
38
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
 

MReimer

Aktives Mitglied
Mitglied seit
4 Sep 2005
Beiträge
825
Punkte für Reaktionen
0
Punkte
0
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.
 

MReimer

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

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

Code:
[email protected]:~/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
[email protected]:~/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...
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,588
Beiträge
2,024,429
Mitglieder
350,406
Neuestes Mitglied
mmaus-mit