Changes between Version 4 and Version 5 of Ticket #950
- Timestamp:
- Aug 18, 2009 1:36:57 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #950 – Description
v4 v5 1 ''' Scope'''1 '''QoS Technologies''' 2 2 QoS settings are available for both Layer 2 and Layer 3 of TCP/IP protocols: 3 3 … … 23 23 '''Linux''' 24 24 25 Ethernet 802.1p tagging is available via SO_PRIORITY option. DSCP is available via IP TOS option. Both are settable via {{{setsockopt()}}}. WMM is not known to be available. 25 DSCP is available via IP TOS option. 26 27 Ethernet 802.1p tagging is done by setting {{{setsockopt(SO_PRIORITY)}}} option of the socket, then with the {{{set_egress_map option}}} of the {{{vconfig utility}}} to convert this to set vlan-qos field of the packet. 28 29 WMM is not known to be available. 26 30 27 31 '''Windows''' … … 49 53 Based on the above, the following API is proposed. 50 54 51 Declare the following "standard" traffic classes.55 Declare the following "standard" traffic types. 52 56 53 57 {{{ 54 typedef enum pj_ sock_dscp_class58 typedef enum pj_qos_type 55 59 { 56 PJ_SOCK_DSCP_BEST_EFFORT, 57 PJ_SOCK_DSCP_BACKGROUND, 58 PJ_SOCK_DSCP_VIDEO, 59 PJ_SOCK_DSCP_AUDIO 60 } pj_sock_dscp_class; 60 PJ_QOS_TYPE_BEST_EFFORT, 61 PJ_QOS_TYPE_BACKGROUND, 62 PJ_QOS_TYPE_VIDEO, 63 PJ_QOS_TYPE_VOICE, 64 PJ_QOS_TYPE_CONTROL 65 } pj_qos_type; 61 66 }}} 62 67 63 The traffic classes above will determine how the Layer 2 and 3 QoS settings will be used. As general guidelines, the mapping between the classes above to the corresponding Layer 2 and 3 settings are as follows:68 The traffic classes above will determine how the Layer 2 and 3 QoS settings will be used. The mapping between the classes above to the corresponding Layer 2 and 3 settings are as follows: 64 69 65 || PJLIB Traffic Class || IP DSCP || WMM* || 802.1p Priority || 66 || BEST_EFFORT || 0x00 || BE || || 67 || BACKGROUND || 0x08 || BK || || 68 || VIDEO || 0x28 || VI || || 69 || AUDIO || 0x38 || VO || || 70 || PJLIB Traffic Type || IP DSCP || WMM* || 802.1p || 71 || BEST_EFFORT || 0x00 || BE || 0 || 72 || BACKGROUND || 0x08 || BK || 2 || 73 || VIDEO || 0x28 || VI || 5 || 74 || VOICE || 0x30 || VO || 6 || 75 || CONTROL || 0x38 || VO || 7 || 70 76 71 77 *: WMM acronyms: … … 78 84 79 85 {{{ 80 PJ_DECL(pj_status_t) pj_sock_set_ dscp_class(pj_sock_t sock,81 pj_sock_dscp_class c);86 PJ_DECL(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, 87 pj_qos_type val); 82 88 }}} 83 89 84 The API will set the traffic type according to the DSCP class, for '''both''' Layer 2 and Layer 3 QoS setting , where it's available. If any of the layer QoSis not settable, the API will silently ignore it. If '''both''' layers are not setable, the API will return error.90 The API will set the traffic type according to the DSCP class, for '''both''' Layer 2 and Layer 3 QoS settings, where it's available. If any of the layer QoS setting is not settable, the API will silently ignore it. If '''both''' layers are not setable, the API will return error. 85 91 86 92 '''Limitations''' … … 92 98 '''References''' 93 99 94 1. Good intro for QoS (especially on Windows): http://technet.microsoft.com/en-gb/magazine/2007.02.cableguy.aspx95 2. WMM on Windows Mobile: http://msdn.microsoft.com/en-us/library/aa916767.aspx96 3. WMM and DSCP on Symbian: http://wiki.forum.nokia.com/index.php/VoIP_developer_guidelines_for_S6097 100 1. [http://technet.microsoft.com/en-gb/magazine/2007.02.cableguy.aspx QoS Support in Windows] - good intro for QoS on Windows and in general 101 2. [http://msdn.microsoft.com/en-us/library/aa916767.aspx WMM (Wi-Fi Multimedia)] (Windows Mobile 6) 102 3. [http://wiki.forum.nokia.com/index.php/VoIP_developer_guidelines_for_S60 VoIP developer guidelines for S60] 103 4. [http://blogs.msdn.com/wndp/archive/2006/06/30/WiFi_QoS_Support_in_Windows_Vista_part_2.aspx WiFi QoS Support in Windows Vista: WMM part 2]