<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: When a man page lies</title>
	<atom:link href="http://ocrete.ca/2009/07/24/when-a-man-page-lies/feed/" rel="self" type="application/rss+xml" />
	<link>http://ocrete.ca/2009/07/24/when-a-man-page-lies/</link>
	<description></description>
	<lastBuildDate>Thu, 31 Mar 2011 02:41:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: ariveira</title>
		<link>http://ocrete.ca/2009/07/24/when-a-man-page-lies/#comment-129</link>
		<dc:creator>ariveira</dc:creator>
		<pubDate>Sat, 25 Jul 2009 13:29:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.tester.ca/?p=280#comment-129</guid>
		<description>Send an email with your concerns to netdev@vger.kernel.org CC&#039;ing linux-man@vger.kernel.org (the man pages mailing list). Either your doubt will be cleared or the man page updated. A win-win situation ;)</description>
		<content:encoded><![CDATA[<p>Send an email with your concerns to <a href="mailto:netdev@vger.kernel.org">netdev@vger.kernel.org</a> CC&#8217;ing <a href="mailto:linux-man@vger.kernel.org">linux-man@vger.kernel.org</a> (the man pages mailing list). Either your doubt will be cleared or the man page updated. A win-win situation <img src='https://secure.bluehost.com/~ocreteca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: someone</title>
		<link>http://ocrete.ca/2009/07/24/when-a-man-page-lies/#comment-128</link>
		<dc:creator>someone</dc:creator>
		<pubDate>Fri, 24 Jul 2009 20:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.tester.ca/?p=280#comment-128</guid>
		<description>I can&#039;t answer for sure, but you may want to have a look at Asterisk&#039;s code. It has some options to set the tos flags and they definitely work (I was testing that this week). At least in 1.4.XX they did.

The relevant code from svn-trunk seems to be:

int ast_netsock_set_qos(int netsocket, int tos, int cos, const char *desc)
{
	int res;

	if ((res = setsockopt(netsocket, IPPROTO_IP, IP_TOS, &amp;tos, sizeof(tos))))
		ast_log(LOG_WARNING, &quot;Unable to set %s TOS to %d, may be you have no root privilegesn&quot;, desc, tos);
	else if (tos)
		ast_verb(2, &quot;Using %s TOS bits %dn&quot;, desc, tos);

#if defined(linux)
	if (setsockopt(netsocket, SOL_SOCKET, SO_PRIORITY, &amp;cos, sizeof(cos)))
		ast_log(LOG_WARNING, &quot;Unable to set %s CoS to %dn&quot;, desc, cos);
	else if (cos)
		ast_verb(2, &quot;Using %s CoS mark %dn&quot;, desc, cos);
#endif

	return res;
}</description>
		<content:encoded><![CDATA[<p>I can&#8217;t answer for sure, but you may want to have a look at Asterisk&#8217;s code. It has some options to set the tos flags and they definitely work (I was testing that this week). At least in 1.4.XX they did.</p>
<p>The relevant code from svn-trunk seems to be:</p>
<p>int ast_netsock_set_qos(int netsocket, int tos, int cos, const char *desc)<br />
{<br />
	int res;</p>
<p>	if ((res = setsockopt(netsocket, IPPROTO_IP, IP_TOS, &amp;tos, sizeof(tos))))<br />
		ast_log(LOG_WARNING, &#8220;Unable to set %s TOS to %d, may be you have no root privilegesn&#8221;, desc, tos);<br />
	else if (tos)<br />
		ast_verb(2, &#8220;Using %s TOS bits %dn&#8221;, desc, tos);</p>
<p>#if defined(linux)<br />
	if (setsockopt(netsocket, SOL_SOCKET, SO_PRIORITY, &amp;cos, sizeof(cos)))<br />
		ast_log(LOG_WARNING, &#8220;Unable to set %s CoS to %dn&#8221;, desc, cos);<br />
	else if (cos)<br />
		ast_verb(2, &#8220;Using %s CoS mark %dn&#8221;, desc, cos);<br />
#endif</p>
<p>	return res;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin</title>
		<link>http://ocrete.ca/2009/07/24/when-a-man-page-lies/#comment-127</link>
		<dc:creator>Justin</dc:creator>
		<pubDate>Fri, 24 Jul 2009 20:02:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.tester.ca/?p=280#comment-127</guid>
		<description>The man page would be in the wrong here.  The man page usually reflects the current operating state of the program in question.  If the program does not implement a feature or that feature has been removed the man page should usually be updated.

The man page does not describe some standard, it describes the program.  Now if the kernel is supposed to set the ToS when the application selects the socket priority, that would be a poor implementation of the feature against whatever standard or published process one is comparing to.  However, the man page is not the place for reiterating standards only references to standards that may apply to the given program.

For example, a program may be required to transmit a request via XXX.XXX.XXX.XXX address per a given standard.  The man page may note that the program transmits via the given address per (RFC XXXX).  However, the man page may in turn say:  If transmission fails a second request is sent via YYY.YYY.YYY.YYY.  The standard may not say anything about transmitting on YYY... but the man page reflects what the program will do, not what it is supposed to do.

Of course that&#039;s my two cents.  Have you asked the LKML?  I am not properly introduced to this so I am not sure if the is normal per se, and I would hate to start asking uneducated questions on the LKML, but I would not mind it.</description>
		<content:encoded><![CDATA[<p>The man page would be in the wrong here.  The man page usually reflects the current operating state of the program in question.  If the program does not implement a feature or that feature has been removed the man page should usually be updated.</p>
<p>The man page does not describe some standard, it describes the program.  Now if the kernel is supposed to set the ToS when the application selects the socket priority, that would be a poor implementation of the feature against whatever standard or published process one is comparing to.  However, the man page is not the place for reiterating standards only references to standards that may apply to the given program.</p>
<p>For example, a program may be required to transmit a request via XXX.XXX.XXX.XXX address per a given standard.  The man page may note that the program transmits via the given address per (RFC XXXX).  However, the man page may in turn say:  If transmission fails a second request is sent via YYY.YYY.YYY.YYY.  The standard may not say anything about transmitting on YYY&#8230; but the man page reflects what the program will do, not what it is supposed to do.</p>
<p>Of course that&#8217;s my two cents.  Have you asked the LKML?  I am not properly introduced to this so I am not sure if the is normal per se, and I would hate to start asking uneducated questions on the LKML, but I would not mind it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

