QoS in Wi-Fi driver and winsock

Discussion in 'Wireless Networking' started by Pavel A., Nov 18, 2004.

  1. Pavel A.

    Pavel A. Guest

    I'm going to add multimedia (WME) support to a 802.11 miniport driver.
    What is the best way to expose this to applications and Windows (XP+)?
    The WMM whitepaper on wi-fi.org states that newly developed apps should
    use GQOS, as defined in winsock2 API.
    But MSDN and DDK are quite fuzzy in this area :(
    Basically I want to track WSAIocltl(SET_QOS) on sockets,
    and pass the entire QoS struct to my driver. So I need also track opening
    and closing sockets. Also the interface should be seen as QoS enabled in
    WSAEnumProtocols, WSAGetQOSByName and so on.
    So, what I need to add to the miniport driver? a winsock
    LSP hook, a TC hook, or RSVPSP hook or all of them?

    Is it a good idea to provide WSAGetQOSByName, so apps
    could get QoS templates provisioned by network administrator, and select
    the most suitable? Or apps won't use this and will just go ahead and set
    QoS by traffic type, ot specifying qualitative parameters.
    Of course I'd like to implement this in the most generic way, to
    support also other device types : cellular WWAN, DOCSIS and so on.

    Please advice...

    With regards
    --PA
     
    Pavel A., Nov 18, 2004
    #1
    1. Advertising

  2. Pavel !
    Without any other propositions, I'm back with advise to use LSP, which parse
    and send data to your protocol driver which in turn send to miniport.
    Arkady

    "Pavel A." <> wrote in message
    news:...
    > I'm going to add multimedia (WME) support to a 802.11 miniport driver.
    > What is the best way to expose this to applications and Windows (XP+)?
    > The WMM whitepaper on wi-fi.org states that newly developed apps should
    > use GQOS, as defined in winsock2 API.
    > But MSDN and DDK are quite fuzzy in this area :(
    > Basically I want to track WSAIocltl(SET_QOS) on sockets,
    > and pass the entire QoS struct to my driver. So I need also track opening
    > and closing sockets. Also the interface should be seen as QoS enabled in
    > WSAEnumProtocols, WSAGetQOSByName and so on.
    > So, what I need to add to the miniport driver? a winsock
    > LSP hook, a TC hook, or RSVPSP hook or all of them?
    >
    > Is it a good idea to provide WSAGetQOSByName, so apps
    > could get QoS templates provisioned by network administrator, and select
    > the most suitable? Or apps won't use this and will just go ahead and set
    > QoS by traffic type, ot specifying qualitative parameters.
    > Of course I'd like to implement this in the most generic way, to
    > support also other device types : cellular WWAN, DOCSIS and so on.
    >
    > Please advice...
    >
    > With regards
    > --PA
    >
    >
     
    Arkady Frenkel, Nov 20, 2004
    #2
    1. Advertising

  3. Pavel A.

    Pavel A. Guest

    Akady thanks,
    but I have at least two doubts about LSP:
    1. It looks too complicated and not robust. LSP database in the registry is used
    by all kinds of s/w - from viruses to antiviruses... you know.
    I'd like to avoid it if possible.
    2. How about kernel side traffic. LSP won't catch it, correct?

    --PA

    "Arkady Frenkel" <arkadyf@hotmailxdotxcom> wrote in message news:...
    > Pavel !
    > Without any other propositions, I'm back with advise to use LSP, which parse
    > and send data to your protocol driver which in turn send to miniport.
    > Arkady
    >
    > "Pavel A." <> wrote in message
    > news:...
    > > I'm going to add multimedia (WME) support to a 802.11 miniport driver.
    > > What is the best way to expose this to applications and Windows (XP+)?
    > > The WMM whitepaper on wi-fi.org states that newly developed apps should
    > > use GQOS, as defined in winsock2 API.
    > > But MSDN and DDK are quite fuzzy in this area :(
    > > Basically I want to track WSAIocltl(SET_QOS) on sockets,
    > > and pass the entire QoS struct to my driver. So I need also track opening
    > > and closing sockets. Also the interface should be seen as QoS enabled in
    > > WSAEnumProtocols, WSAGetQOSByName and so on.
    > > So, what I need to add to the miniport driver? a winsock
    > > LSP hook, a TC hook, or RSVPSP hook or all of them?
    > >
    > > Is it a good idea to provide WSAGetQOSByName, so apps
    > > could get QoS templates provisioned by network administrator, and select
    > > the most suitable? Or apps won't use this and will just go ahead and set
    > > QoS by traffic type, ot specifying qualitative parameters.
    > > Of course I'd like to implement this in the most generic way, to
    > > support also other device types : cellular WWAN, DOCSIS and so on.
    > >
    > > Please advice...
    > >
    > > With regards
    > > --PA
    > >
    > >

    >
    >
     
    Pavel A., Nov 20, 2004
    #3
  4. "Pavel A." <> wrote in message
    news:#...
    > Akady thanks,
    > but I have at least two doubts about LSP:
    > 1. It looks too complicated and not robust. LSP database in the registry

    is used
    > by all kinds of s/w - from viruses to antiviruses... you know.
    > I'd like to avoid it if possible.

    So you need to use old method - hooking of winsock , not nice too :(

    > 2. How about kernel side traffic. LSP won't catch it, correct?
    >

    Sure not

    Arkady

    > --PA
    >
    > "Arkady Frenkel" <arkadyf@hotmailxdotxcom> wrote in message

    news:...
    > > Pavel !
    > > Without any other propositions, I'm back with advise to use LSP, which

    parse
    > > and send data to your protocol driver which in turn send to miniport.
    > > Arkady
    > >
    > > "Pavel A." <> wrote in message
    > > news:...
    > > > I'm going to add multimedia (WME) support to a 802.11 miniport driver.
    > > > What is the best way to expose this to applications and Windows (XP+)?
    > > > The WMM whitepaper on wi-fi.org states that newly developed apps

    should
    > > > use GQOS, as defined in winsock2 API.
    > > > But MSDN and DDK are quite fuzzy in this area :(
    > > > Basically I want to track WSAIocltl(SET_QOS) on sockets,
    > > > and pass the entire QoS struct to my driver. So I need also track

    opening
    > > > and closing sockets. Also the interface should be seen as QoS enabled

    in
    > > > WSAEnumProtocols, WSAGetQOSByName and so on.
    > > > So, what I need to add to the miniport driver? a winsock
    > > > LSP hook, a TC hook, or RSVPSP hook or all of them?
    > > >
    > > > Is it a good idea to provide WSAGetQOSByName, so apps
    > > > could get QoS templates provisioned by network administrator, and

    select
    > > > the most suitable? Or apps won't use this and will just go ahead and

    set
    > > > QoS by traffic type, ot specifying qualitative parameters.
    > > > Of course I'd like to implement this in the most generic way, to
    > > > support also other device types : cellular WWAN, DOCSIS and so on.
    > > >
    > > > Please advice...
    > > >
    > > > With regards
    > > > --PA
    > > >
    > > >

    > >
    > >

    >
    >
     
    Arkady Frenkel, Nov 20, 2004
    #4
  5. Pavel A.

    Ganaka Guest

    Pavel,
    Did you have a chance to implement WMM in your miniport? I am doing
    the same, but for some reason I don't get the 802.1p priority codes
    all the time (it depends on the AP used). Any ideas?

    Thanks,
    -Ganaka
     
    Ganaka, Dec 3, 2004
    #5
  6. Pavel A.

    Pavel A. Guest

    "Ganaka" <> wrote in message news:...
    > Pavel,
    > Did you have a chance to implement WMM in your miniport? I am doing
    > the same, but for some reason I don't get the 802.1p priority codes
    > all the time (it depends on the AP used). Any ideas?
    >
    > Thanks,
    > -Ganaka


    Of course we will support WMM. But it is media specific.
    I'm looking for media independent QoS support, that will cover
    also DSL/ATM and docsis.

    Winsock 2 API already defines interfaces for detecting and specifying
    QoS for applications - but it seems that nobody knows how exactly
    the MAC driver should expose it's QoS caps to be seen by OS and winsock.

    Is there some standard NDIS OIDs or characheristics, registry settings?
    Do I need to write some plugin? Mistery, mistery...
    --PA
     
    Pavel A., Dec 3, 2004
    #6
  7. Pavel A.

    Pavel A. Guest

    Ah. If the AP does not support WMM, you won't get it.
    The only idea here is to get a compatible AP.
    And test that your driver doesn't crash with any AP.

    "Pavel A." <> wrote in message news:#...
    > "Ganaka" <> wrote in message news:...
    > > Pavel,
    > > Did you have a chance to implement WMM in your miniport? I am doing
    > > the same, but for some reason I don't get the 802.1p priority codes
    > > all the time (it depends on the AP used). Any ideas?
    > >
    > > Thanks,
    > > -Ganaka

    >
    > Of course we will support WMM. But it is media specific.
    > I'm looking for media independent QoS support, that will cover
    > also DSL/ATM and docsis.
    >
    > Winsock 2 API already defines interfaces for detecting and specifying
    > QoS for applications - but it seems that nobody knows how exactly
    > the MAC driver should expose it's QoS caps to be seen by OS and winsock.
    >
    > Is there some standard NDIS OIDs or characheristics, registry settings?
    > Do I need to write some plugin? Mistery, mistery...
    > --PA
    >
    >
    >
     
    Pavel A., Dec 3, 2004
    #7
  8. Pavel A.

    Ganaka Guest

    Pavel,
    My questions is more on the basics side. In order to support QoS, I
    need to get the priority information per packet (using
    NDIS_PER_PACKET_INFO_FROM_PACKET). However, in most of the cases the
    packet priority is 'best effort'. This is while running WiFi tests
    (using Chariot and all). I don't understand what could be wrong...

    According to DDK documentation, the miniport driver must support
    OID_GEN_MAC_OPTIONS and return NDIS_MAC_OPTION_8021P_PRIORITY &
    NDIS_MAC_OPTION_8021Q_VLAN flags in response. This I am doing, yet the
    packet priorities are not being passed down properly.

    I am running out of ideas. Does anyone know what could be the cause?

    Thanks,
    -Ganaka

    "Pavel A." <> wrote in message news:<#>...
    > "Ganaka" <> wrote in message news:...
    > > Pavel,
    > > Did you have a chance to implement WMM in your miniport? I am doing
    > > the same, but for some reason I don't get the 802.1p priority codes
    > > all the time (it depends on the AP used). Any ideas?
    > >
    > > Thanks,
    > > -Ganaka

    >
    > Of course we will support WMM. But it is media specific.
    > I'm looking for media independent QoS support, that will cover
    > also DSL/ATM and docsis.
    >
    > Winsock 2 API already defines interfaces for detecting and specifying
    > QoS for applications - but it seems that nobody knows how exactly
    > the MAC driver should expose it's QoS caps to be seen by OS and winsock.
    >
    > Is there some standard NDIS OIDs or characheristics, registry settings?
    > Do I need to write some plugin? Mistery, mistery...
    > --PA
     
    Ganaka, Dec 4, 2004
    #8
  9. We are currently investigating this.
    Seems like at some layer, we need to persuade tcpip to add the 802.1p/q tag
    to packets, but we don't know how to talk to this layer.

    --PA

    "Ganaka" wrote:
    > Pavel,
    > My questions is more on the basics side. In order to support QoS, I
    > need to get the priority information per packet (using
    > NDIS_PER_PACKET_INFO_FROM_PACKET). However, in most of the cases the
    > packet priority is 'best effort'. This is while running WiFi tests
    > (using Chariot and all). I don't understand what could be wrong...
    >
    > According to DDK documentation, the miniport driver must support
    > OID_GEN_MAC_OPTIONS and return NDIS_MAC_OPTION_8021P_PRIORITY &
    > NDIS_MAC_OPTION_8021Q_VLAN flags in response. This I am doing, yet the
    > packet priorities are not being passed down properly.
    >
    > I am running out of ideas. Does anyone know what could be the cause?
    >
    > Thanks,
    > -Ganaka
     
    =?Utf-8?B?UGF2ZWwgQS4=?=, Dec 6, 2004
    #9
  10. Ganaka,
    U are right. Probably make sure, 'Packet' is refreshed everytime before
    making the call.
    It works well, and consistent.

    Which is the vendor card and AP u are using with.

    Arul V raj.
    Atheros Communications

    "Ganaka" wrote:

    > Pavel,
    > My questions is more on the basics side. In order to support QoS, I
    > need to get the priority information per packet (using
    > NDIS_PER_PACKET_INFO_FROM_PACKET). However, in most of the cases the
    > packet priority is 'best effort'. This is while running WiFi tests
    > (using Chariot and all). I don't understand what could be wrong...
    >
    > According to DDK documentation, the miniport driver must support
    > OID_GEN_MAC_OPTIONS and return NDIS_MAC_OPTION_8021P_PRIORITY &
    > NDIS_MAC_OPTION_8021Q_VLAN flags in response. This I am doing, yet the
    > packet priorities are not being passed down properly.
    >
    > I am running out of ideas. Does anyone know what could be the cause?
    >
    > Thanks,
    > -Ganaka
    >
    > "Pavel A." <> wrote in message news:<#>...
    > > "Ganaka" <> wrote in message news:...
    > > > Pavel,
    > > > Did you have a chance to implement WMM in your miniport? I am doing
    > > > the same, but for some reason I don't get the 802.1p priority codes
    > > > all the time (it depends on the AP used). Any ideas?
    > > >
    > > > Thanks,
    > > > -Ganaka

    > >
    > > Of course we will support WMM. But it is media specific.
    > > I'm looking for media independent QoS support, that will cover
    > > also DSL/ATM and docsis.
    > >
    > > Winsock 2 API already defines interfaces for detecting and specifying
    > > QoS for applications - but it seems that nobody knows how exactly
    > > the MAC driver should expose it's QoS caps to be seen by OS and winsock.
    > >
    > > Is there some standard NDIS OIDs or characheristics, registry settings?
    > > Do I need to write some plugin? Mistery, mistery...
    > > --PA

    >
     
    =?Utf-8?B?QXJ1bCBWIFJhag==?=, Dec 9, 2004
    #10
  11. Pavel A.

    Guest

    Arul,
    What do you mean 'Packet' is refreshed everytime? I am looking at the
    packet priority in the miniport driver.

    When I use Cisco AP, I get packet priority properly. However anyother
    AP (including Atheros) and I get the same priority for all the packets.

    I still don't understand how using a different AP affects the packet
    priority...Any ideas?
     
    , Dec 9, 2004
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Guest

    Error--Winsock & Server Errors

    Guest, Jul 9, 2004, in forum: Wireless Networking
    Replies:
    0
    Views:
    1,462
    Guest
    Jul 9, 2004
  2. Andrew Albert

    QOS for VOIP using 768k of FR / Auto QOS

    Andrew Albert, Feb 6, 2005, in forum: Cisco
    Replies:
    7
    Views:
    1,577
  3. Sean

    what is Winsock

    Sean, Sep 29, 2003, in forum: MCSE
    Replies:
    5
    Views:
    3,171
    winsoc
    Oct 4, 2003
  4. dominix
    Replies:
    2
    Views:
    506
    dominix
    Feb 6, 2007
  5. spears list

    Winsock & Winsock 2

    spears list, Oct 16, 2007, in forum: Computer Support
    Replies:
    3
    Views:
    751
    Jim Byrd
    Oct 16, 2007
Loading...

Share This Page