Opened 15 years ago

Last modified 14 years ago

#950 closed enhancement

Support for QoS settings (TOS, DSCP, WMM, 802.1p) for sockets — at Initial Version

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.5
Component: pjlib Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description

Scope

QoS settings are available for both Layer 2 and Layer 3 of TCP/IP protocols:

Layer 2: IEEE 802.1p for Ethernet

IEEE 802.1p tagging will mark frames sent by a host for prioritized delivery using a 3-bit Priority field in the virtual local area network (VLAN) header of the Ethernet frame. The VLAN header is placed inside the Ethernet header, between the Source Address field and either the Length field (for an IEEE 802.3 frame) or the EtherType field (for an Ethernet II frame).

Layer 2: WMM

At the Network Interface layer for IEEE 802.11 wireless, the Wi-Fi Alliance certification for Wi-Fi Multimedia (WMM) defines four access categories for prioritizing network traffic. These access categories are (in order of highest to lowest priority) voice, video, best-effort, and background. Host support for WMM prioritization requires that both wireless network adapters and their drivers support WMM. Wireless access points (APs) must have WMM enabled.

Layer 3: DSCP

At the Internet layer, you can use Differentiated Services/Diffserv? and set the value of the Differentiated Services Code Point (DSCP) in the IP header. As defined in RFC 2472, the DSCP value is the high-order 6 bits of the IP version 4 (IPv4) TOS field and the IP version 6 (IPv6) Traffic Class field.

Layer 3: Other

Other mechanisms exist (such as RSVP, IntServ) but this will not be implemented.

Availability

Linux

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.

Windows

DSCP is settable with setsockopt() on Windows 2000 or older. On Windows 2000, Windows XP, and Windows Server 2003, GQoS (Generic QoS) API can be used. GQoS API is deprecated on Vista and Windows 7, and replaced by the new QoS2 API, also known as Quality Windows Audio-Video Experience (qWAVE).

IEEE 802.1p tagging is available via Traffic Control (TC) API, available on Windows XP SP2. For Vista and later, it's in qWAVE.

WMM is available on Windows Mobile 6 platform and Windows Embedded CE 6.

Symbian S60 3rd Ed

Both DSCP and WMM is supported via RSocket::SetOpt?()

Objective

The objective of this ticket is to add new API to PJLIB socket API to enable manipulation of the QoS parameters above in a uniform and portable manner.

Design


Change History (0)

Note: See TracTickets for help on using tickets.