Pause control frames handling in Ethernet

Hello all,

I have written an Ethernet driver for Nucleus OS.
In this driver ,i am trying to manage the flow control between target board
and host PC running windows 2K using “pause control frames” as is supported
by my ethernet PHY.But , the host PC does not stops sending data.
I have also verified that the generated pause frames are perfectly OK and are
being received by the network sniffer running on the host m/c.
Still, the Host PC keeps on pumping data.

How can i check whether the Ethernet driver of the host PC supports "pause
flow control " mechanism or is there any other point i am missing.

Thanks in advance…
Rakesh Shrivastava

This is usually controlled at the hardware level by registry settings.

Check the registry settings
to see if there is a pause control setting. Pause was not perfect for a while,
so the default setting for a vast majority of client interfaces was
“pause disabled”, or “asymmetric pause”

What type of controller are you using on the w2k host?

Cheers
Vince Bridgers

-----Original Message-----
From: Rakesh Shrivastava [mailto:xxxxx@dcmtech.co.in]
Sent: Tuesday, December 17, 2002 7:24 AM
To: NT Developers Interest List
Subject: [ntdev] Pause control frames handling in Ethernet

Hello all,

I have written an Ethernet driver for Nucleus OS.
In this driver ,i am trying to manage the flow control between target board
and host PC running windows 2K using “pause control frames” as is supported
by my ethernet PHY.But , the host PC does not stops sending data.
I have also verified that the generated pause frames are perfectly OK and are
being received by the network sniffer running on the host m/c.
Still, the Host PC keeps on pumping data.

How can i check whether the Ethernet driver of the host PC supports "pause
flow control " mechanism or is there any other point i am missing.

Thanks in advance…
Rakesh Shrivastava


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks for the response Vince.
I am using D-LINK DFE 538 TX 10/100 Adaptor at the host PC.
As suggested, i checked in the registry and there is no pause related entry
there. I also checked for the “advanced settings” for the same driver. There
also, no entry related to “flow control” or pause etc is present.
Does, this means that Flow control using Pause frames is an “optional
feature”…

Regards
Rakesh Shrivastava

On Tuesday 17 December 2002 07:15 pm, you wrote:

This is usually controlled at the hardware level by registry settings.

Check the registry settings
to see if there is a pause control setting. Pause was not perfect for a
while, so the default setting for a vast majority of client interfaces was
“pause disabled”, or “asymmetric pause”

What type of controller are you using on the w2k host?

Cheers
Vince Bridgers

-----Original Message-----
From: Rakesh Shrivastava [mailto:xxxxx@dcmtech.co.in]
Sent: Tuesday, December 17, 2002 7:24 AM
To: NT Developers Interest List
Subject: [ntdev] Pause control frames handling in Ethernet

Hello all,

I have written an Ethernet driver for Nucleus OS.
In this driver ,i am trying to manage the flow control between target board
and host PC running windows 2K using “pause control frames” as is supported
by my ethernet PHY.But , the host PC does not stops sending data.
I have also verified that the generated pause frames are perfectly OK and
are being received by the network sniffer running on the host m/c.
Still, the Host PC keeps on pumping data.

How can i check whether the Ethernet driver of the host PC supports "pause
flow control " mechanism or is there any other point i am missing.

Thanks in advance…
Rakesh Shrivastava


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to %%email.unsub%%
آ�˫�+.n���ڑ������t�.n�zwZnV隊[h����3b��

Yes, it is usually indicated during the auto-negotiation process at the
signaling level. So if a link partner says he cannot do pause during
auto-neg, or is otherwise in some sort of “legacy mode”, and the other
link partner is paying attention to that, pause will probably be disabled.

One of the limitations is that it’s only used on a full-duplex
point-point connection. So if your links auto-neg’d to half-duplex,
then pause will be automatically disabled. Check to make sure your
link is full-duplex.

You need to determine if the DLINK controller/software you are using
supports pause (802.3x) if you think all of the conditions we talked about
are being satisfied.

If all else fails, you could create an “incestuous test” :slight_smile:

Cheers
Vince Bridgers

-----Original Message-----
From: Rakesh Shrivastava [mailto:xxxxx@dcmtech.co.in]
Sent: Tuesday, December 17, 2002 8:16 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Pause control frames handling in Ethernet

Thanks for the response Vince.
I am using D-LINK DFE 538 TX 10/100 Adaptor at the host PC.
As suggested, i checked in the registry and there is no pause related entry
there. I also checked for the “advanced settings” for the same driver. There
also, no entry related to “flow control” or pause etc is present.
Does, this means that Flow control using Pause frames is an “optional
feature”…

Regards
Rakesh Shrivastava

On Tuesday 17 December 2002 07:15 pm, you wrote:

This is usually controlled at the hardware level by registry settings.

Check the registry settings
to see if there is a pause control setting. Pause was not perfect for a
while, so the default setting for a vast majority of client interfaces was
“pause disabled”, or “asymmetric pause”

What type of controller are you using on the w2k host?

Cheers
Vince Bridgers

-----Original Message-----
From: Rakesh Shrivastava [mailto:xxxxx@dcmtech.co.in]
Sent: Tuesday, December 17, 2002 7:24 AM
To: NT Developers Interest List
Subject: [ntdev] Pause control frames handling in Ethernet

Hello all,

I have written an Ethernet driver for Nucleus OS.
In this driver ,i am trying to manage the flow control between target board
and host PC running windows 2K using “pause control frames” as is supported
by my ethernet PHY.But , the host PC does not stops sending data.
I have also verified that the generated pause frames are perfectly OK and
are being received by the network sniffer running on the host m/c.
Still, the Host PC keeps on pumping data.

How can i check whether the Ethernet driver of the host PC supports "pause
flow control " mechanism or is there any other point i am missing.

Thanks in advance…
Rakesh Shrivastava


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to %%email.unsub%%
آ�˫�+.n���ڑ������t�.n�zwZnV隊[h����3b��


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Yes, it is usually indicated during the auto-negotiation process at the
signaling level. So if a link partner says he cannot do pause during
auto-neg, or is otherwise in some sort of “legacy mode”, and the other
link partner is paying attention to that, pause will probably be disabled.

One of the limitations is that it’s only used on a full-duplex
point-point connection. So if your links auto-neg’d to half-duplex,
then pause will be automatically disabled. Check to make sure your
link is full-duplex.

You need to determine if the DLINK controller/software you are using
supports pause (802.3x) if you think all of the conditions we talked about
are being satisfied.

If all else fails, you could create an “incestuous test” :slight_smile:

Cheers
Vince Bridgers

-----Original Message-----
From: Rakesh Shrivastava [mailto:xxxxx@dcmtech.co.in]
Sent: Tuesday, December 17, 2002 8:16 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Pause control frames handling in Ethernet

Thanks for the response Vince.
I am using D-LINK DFE 538 TX 10/100 Adaptor at the host PC.
As suggested, i checked in the registry and there is no pause related entry
there. I also checked for the “advanced settings” for the same driver. There
also, no entry related to “flow control” or pause etc is present.
Does, this means that Flow control using Pause frames is an “optional
feature”…

Regards
Rakesh Shrivastava

Sorry, but flow control belongs to a much higher level - to TCP
namely.
Flow control on network level seems a bit strange.

Max

----- Original Message -----
From: “Rakesh Shrivastava”
To: “NT Developers Interest List”
Sent: Tuesday, December 17, 2002 4:24 PM
Subject: [ntdev] Pause control frames handling in Ethernet

> Hello all,
>
> I have written an Ethernet driver for Nucleus OS.
> In this driver ,i am trying to manage the flow control between
target board
> and host PC running windows 2K using “pause control frames” as is
supported
> by my ethernet PHY.But , the host PC does not stops sending data.
> I have also verified that the generated pause frames are perfectly
OK and are
> being received by the network sniffer running on the host m/c.
> Still, the Host PC keeps on pumping data.
>
> How can i check whether the Ethernet driver of the host PC supports
"pause
> flow control " mechanism or is there any other point i am missing.
>
> Thanks in advance…
> Rakesh Shrivastava
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>

>Does, this means that Flow control using Pause frames is an "optional

feature"…

Looks like very much like so, and a very strange feature I would add.

Max

Look at IEEE 802.3x - that’s what Rakesh was speaking of in
the context of “pause control frames”. IEEE 802.3x is a simple
stop-start form of flow control.

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, December 18, 2002 12:12 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Pause control frames handling in Ethernet

Sorry, but flow control belongs to a much higher level - to TCP
namely.
Flow control on network level seems a bit strange.

Max

----- Original Message -----
From: “Rakesh Shrivastava”
To: “NT Developers Interest List”
Sent: Tuesday, December 17, 2002 4:24 PM
Subject: [ntdev] Pause control frames handling in Ethernet

> Hello all,
>
> I have written an Ethernet driver for Nucleus OS.
> In this driver ,i am trying to manage the flow control between
target board
> and host PC running windows 2K using “pause control frames” as is
supported
> by my ethernet PHY.But , the host PC does not stops sending data.
> I have also verified that the generated pause frames are perfectly
OK and are
> being received by the network sniffer running on the host m/c.
> Still, the Host PC keeps on pumping data.
>
> How can i check whether the Ethernet driver of the host PC supports
"pause
> flow control " mechanism or is there any other point i am missing.
>
> Thanks in advance…
> Rakesh Shrivastava
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Pause is mandatory feature for GE MACs but not for 10/100. During link negotiation it can be disabled. Typically the PHY connected to your MAC has a register set that controls its auto negotiation parameters (i.e. via the MII interface). If you are talking with a 10/100 MAC I would expect Pause support to be disabled.

It is not practical to implement the flow control at higher levels (e.g. TCP) since the amount of buffering would be extremely large (in order to prevent lost packets at this speed).

Duane J. McCrory
InfiniCon Systems

-----Original Message-----
From: Vince Bridgers [mailto:xxxxx@interactivesi.com]
Sent: Wednesday, December 18, 2002 2:41 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Pause control frames handling in Ethernet

Look at IEEE 802.3x - that’s what Rakesh was speaking of in
the context of “pause control frames”. IEEE 802.3x is a simple
stop-start form of flow control.

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, December 18, 2002 12:12 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Pause control frames handling in Ethernet

Sorry, but flow control belongs to a much higher level - to TCP
namely.
Flow control on network level seems a bit strange.

Max

----- Original Message -----
From: “Rakesh Shrivastava”
To: “NT Developers Interest List”
Sent: Tuesday, December 17, 2002 4:24 PM
Subject: [ntdev] Pause control frames handling in Ethernet

> Hello all,
>
> I have written an Ethernet driver for Nucleus OS.
> In this driver ,i am trying to manage the flow control between
target board
> and host PC running windows 2K using “pause control frames” as is
supported
> by my ethernet PHY.But , the host PC does not stops sending data.
> I have also verified that the generated pause frames are perfectly
OK and are
> being received by the network sniffer running on the host m/c.
> Still, the Host PC keeps on pumping data.
>
> How can i check whether the Ethernet driver of the host PC supports
"pause
> flow control " mechanism or is there any other point i am missing.
>
> Thanks in advance…
> Rakesh Shrivastava
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
b箷&vڵj敫qʯ(~)r
:˱m湧֕zfy含׿]Qí®ŠË¢

It could have been his link negotiated to half instead of full-duplex. Pause is only defined to work on a full-duplex link. Some modern 10/100 MACs do support 802.3x, as well as the 10/100/1000 MACs which negotiate to 10/100.

TCP has built-in flow control (a windowing mechanism), which is two levels above L2 Ethernet Pause and is different than Ethernet Pause - Pause is simple stop-start, while TCP’s flow control is more than simple stop-start.

-----Original Message-----
From: McCrory, Duane [mailto:xxxxx@infiniconsys.com]
Sent: Wednesday, December 18, 2002 5:05 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Pause control frames handling in Ethernet

Pause is mandatory feature for GE MACs but not for 10/100. During link negotiation it can be disabled. Typically the PHY connected to your MAC has a register set that controls its auto negotiation parameters (i.e. via the MII interface). If you are talking with a 10/100 MAC I would expect Pause support to be disabled.

It is not practical to implement the flow control at higher levels (e.g. TCP) since the amount of buffering would be extremely large (in order to prevent lost packets at this speed).

Duane J. McCrory
InfiniCon Systems

-----Original Message-----
From: Vince Bridgers [mailto:xxxxx@interactivesi.com]
Sent: Wednesday, December 18, 2002 2:41 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Pause control frames handling in Ethernet

Look at IEEE 802.3x - that’s what Rakesh was speaking of in
the context of “pause control frames”. IEEE 802.3x is a simple
stop-start form of flow control.

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Wednesday, December 18, 2002 12:12 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Pause control frames handling in Ethernet

Sorry, but flow control belongs to a much higher level - to TCP
namely.
Flow control on network level seems a bit strange.

Max

----- Original Message -----
From: “Rakesh Shrivastava”
To: “NT Developers Interest List”
Sent: Tuesday, December 17, 2002 4:24 PM
Subject: [ntdev] Pause control frames handling in Ethernet

> Hello all,
>
> I have written an Ethernet driver for Nucleus OS.
> In this driver ,i am trying to manage the flow control between
target board
> and host PC running windows 2K using “pause control frames” as is
supported
> by my ethernet PHY.But , the host PC does not stops sending data.
> I have also verified that the generated pause frames are perfectly
OK and are
> being received by the network sniffer running on the host m/c.
> Still, the Host PC keeps on pumping data.
>
> How can i check whether the Ethernet driver of the host PC supports
"pause
> flow control " mechanism or is there any other point i am missing.
>
> Thanks in advance…
> Rakesh Shrivastava
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>


You are currently subscribed to ntdev as: xxxxx@interactivesi.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
b箷&vڵj敫qʯ(~)r
:˱m湧֕zfy含׿]Qí®ŠË¢
bvjziriju