From: Garrett C. <yab...@us...> - 2010-02-10 23:13:02
|
Update of /cvsroot/ltp/ltp/testcases/kernel/containers/netns In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv31942/testcases/kernel/containers/netns Modified Files: check_netns_enabled.c Log Message: Not everyone has unshare capability... thanks for the reminder Mitani-san... Signed-off-by: Garrett Cooper <yan...@gm...> Index: check_netns_enabled.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/containers/netns/check_netns_enabled.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** check_netns_enabled.c 19 Sep 2008 12:17:10 -0000 1.1 --- check_netns_enabled.c 10 Feb 2010 23:12:53 -0000 1.2 *************** *** 22,46 **** #include <stdio.h> #include <sched.h> ! #include "../libclone/libclone.h" #include "test.h" ! int main() ! { ! int ret; ! long flags = 0; ! ! flags |= CLONE_NEWNS; ! flags |= CLONE_NEWNET; ! // Checking if the kernel ver is enough to do NET-NS testing. ! if (tst_kvercmp(2,6,24) < 0) ! return 1; ! ret = unshare(flags); ! if ( ret < 0 ) { printf ("Error:Unshare syscall failed for network namespace\n"); ! return 3; } ! return 0; } --- 22,52 ---- #include <stdio.h> #include <sched.h> ! #include "config.h" ! #include "linux_syscall_numbers.h" ! #include "libclone/libclone.h" #include "test.h" ! #ifndef CLONE_NEWNET ! #define CLONE_NEWNET -1 ! #endif + #ifndef CLONE_NEWNS + #define CLONE_NEWNS -1 + #endif ! int ! main() ! { ! int rc; ! /* Checking if the kernel ver is enough to do NET-NS testing. */ ! if (tst_kvercmp(2, 6, 24) < 0) { ! rc = 1; ! } else if (syscall(__NR_unshare, CLONE_NEWNET | CLONE_NEWNS) < 0) { printf ("Error:Unshare syscall failed for network namespace\n"); ! rc = 3; ! } else { ! rc = 0; } ! return rc; } |