{
cat >$TMPDIR/setnstest.c <<EOF
#include <sched.h>
-int main(int argc, char **argv)
+int main(int argc, char **argv)
{
(void)setns(0,0);
return 0;
rm -f $TMPDIR/setnstest.c $TMPDIR/setnstest
}
+check_netnsid()
+{
+ cat >$TMPDIR/netnsid.c <<EOF
+#include <linux/rtnetlink.h>
+int test_def = RTM_GETNSID;
+EOF
+ $CC -c $TMPDIR/netnsid.c >/dev/null 2>&1
+ if [ $? -eq 0 ]
+ then
+ echo "IP_CONFIG_NETNSID:=y" >> Config
+ echo "yes"
+ else
+ echo "no"
+ fi
+ rm -f $TMPDIR/netnsid.c $TMPDIR/netnsid.o
+}
+
check_ipset()
{
cat >$TMPDIR/ipsettest.c <<EOF
echo -n "libc has setns: "
check_setns
+echo -n "netns has peer id suport: "
+check_netnsid
echo -n "SELinux support: "
check_selinux
CFLAGS += -DHAVE_SETNS
endif
+ifeq ($(IP_CONFIG_NETNSID),y)
+ CFLAGS += -DHAVE_NETNSID
+endif
+
ALLOBJ=$(IPOBJ) $(RTMONOBJ)
SCRIPTS=ifcfg rtpr routel routef
TARGETS=ip rtmon
exit(-1);
}
+#ifdef HAVE_NETNSID
static int get_netnsid_from_name(const char *name)
{
struct {
return -1;
}
+#else
+static int get_netnsid_from_name(const char *name)
+{
+ return -1;
+}
+#endif /* HAVE_NETNSID */
static int netns_list(int argc, char **argv)
{