<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#C0C0C0">
<p>Hi<br>
I am sorry I forget to report my debug info on RHEL7.5Beta
about this question.<br>
I write a testcase on RHEL7.5Beta. the test case is below.<br>
<br>
#include <netinet/in.h><br>
#include <sys/socket.h><br>
#include <stdio.h><br>
<br>
int main (int argc, const char * argv[])<br>
{<br>
//create a dccp socket <br>
int server_socket = socket(AF_INET6, SOCK_DCCP, IPPROTO_DCCP);<br>
if (server_socket == -1) {<br>
perror("socket error");<br>
return 1;<br>
}<br>
printf("test is ok \n");<br>
}<br>
<br>
And the RHEL7.5Beta will report "Socket type not supported" when
run my testcase on RHEL7.5Beta .<br>
and the RHEL7.4GA will report "Permission denied " when run my
testcase on RHEL7.4GA<br>
it's ok when run my testcase on RHEL7.3GA.<br>
<br>
That's all.<br>
<br>
Thanks<br>
Lianwen Sun<br>
<br>
</p>
<div class="moz-cite-prefix">On 03/13/2018 11:01 PM, Petr Vorel
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:20180313150111.16501-2-pvorel@suse.cz">
<pre wrap="">*NOSUPPORT errnos likely mean there is configuration issue rather than
test failure.
e.g. missing dccp module in netstress.c which was so far set as TBROK:
safe_net.c:117: BROK: netstress.c:654: socket(10, 6, 33) failed: ESOCKTNOSUPPORT
Signed-off-by: Petr Vorel <a class="moz-txt-link-rfc2396E" href="mailto:pvorel@suse.cz"><pvorel@suse.cz></a>
Acked-by: Alexey Kodanev <a class="moz-txt-link-rfc2396E" href="mailto:alexey.kodanev@oracle.com"><alexey.kodanev@oracle.com></a>
---
lib/safe_net.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/lib/safe_net.c b/lib/safe_net.c
index 9ea9d2b42..9ed52dcd1 100644
--- a/lib/safe_net.c
+++ b/lib/safe_net.c
@@ -107,12 +107,24 @@ int tst_getsockport(const char *file, const int lineno, int sockfd)
int safe_socket(const char *file, const int lineno, void (cleanup_fn)(void),
int domain, int type, int protocol)
{
- int rval;
+ int rval, ttype;
rval = socket(domain, type, protocol);
if (rval < 0) {
- tst_brkm(TBROK | TERRNO, cleanup_fn,
+ switch (errno) {
+ case EPROTONOSUPPORT:
+ case ESOCKTNOSUPPORT:
+ case EOPNOTSUPP:
+ case EPFNOSUPPORT:
+ case EAFNOSUPPORT:
+ ttype = TCONF;
+ break;
+ default:
+ ttype = TBROK;
+ }
+
+ tst_brkm(ttype | TERRNO, cleanup_fn,
"%s:%d: socket(%d, %d, %d) failed", file, lineno,
domain, type, protocol);
}
</pre>
</blockquote>
<br>
</body>
</html>