Hi,

I compiled 4.1.1 successfully. Thank you for your effort.

I just  want to share some notes with you.

Kernel version 4.9.228

Error
src/mod/common/db/global.c:91:26: error: invalid suffix "b1011" on integer constant


I converted DEFAULT_F_ARGS binary to hex. (Since 4.0.7-my first jool compile)

Are there any problem here?

Patch
cat binary_to_hex.patch
diff -aur a/src/common/constants.h b/src/common/constants.h
--- a/src/common/constants.h    2020-07-08 09:51:44.000000000 +0300
+++ b/src/common/constants.h    2020-07-08 09:52:12.000000000 +0300
@@ -68,7 +68,7 @@
 #define DEFAULT_DROP_EXTERNAL_CONNECTIONS false
 #define DEFAULT_MAX_STORED_PKTS 10
 #define DEFAULT_SRC_ICMP6ERRS_BETTER true
-#define DEFAULT_F_ARGS 0b1011
+#define DEFAULT_F_ARGS 0xb
 #define DEFAULT_HANDLE_FIN_RCV_RST false
 #define DEFAULT_BIB_LOGGING false
 #define DEFAULT_SESSION_LOGGING false


By the way I still see binary output. I think there is no problem here.
#jool global display | grep f-arg
  f-args: 11 (0b1011): SrcAddr:1 SrcPort:0 DstAddr:1 DstPort:1



Error nla_nest_cancel

gcc -Wall -pedantic -std=gnu11 -I../../../src -m32 -I/usr/local/include/kernel-headers-4.9.228/usr/include -m32 -o jool_siit jool_siit-main-siit.o  ../argp/.libs/libjoolargp.a -lnl-genl-3 -lnl-3 -lpthread -lm ../argp/.libs/libjoolargp.a(libjoolnl_la-attribute.o): In function `nla_put_prefix6':
attribute.c:(.text+0xe34): undefined reference to `nla_nest_cancel'
../argp/.libs/libjoolargp.a(libjoolnl_la-attribute.o): In function `nla_put_prefix4':
attribute.c:(.text+0xf0a): undefined reference to `nla_nest_cancel'
../argp/.libs/libjoolargp.a(libjoolnl_la-attribute.o): In function `nla_put_taddr6':
attribute.c:(.text+0xfbb): undefined reference to `nla_nest_cancel'
../argp/.libs/libjoolargp.a(libjoolnl_la-attribute.o): In function `nla_put_taddr4':
attribute.c:(.text+0x106c): undefined reference to `nla_nest_cancel'
../argp/.libs/libjoolargp.a(libjoolnl_la-attribute.o): In function `nla_put_plateaus':
attribute.c:(.text+0x10ee): undefined reference to `nla_nest_cancel'
../argp/.libs/libjoolargp.a(libjoolnl_la-attribute.o):attribute.c:(.text+0x11ca): more undefined references to `nla_nest_cancel' follow
collect2: error: ld returned 1 exit status


Solution
jool tools minimum libnl3 requierment >= 3.2.22
I compiled and fixed.


Do we no longer need these libraries?(I think since 4.0.8)

/usr/lib/jool/libjoolargp.so
/usr/lib/jool/libjoolargp.so.0
/usr/lib/jool/libjoolargp.so.0.0.0
/usr/lib/jool/libjoolnl.so
/usr/lib/jool/libjoolnl.so.0
/usr/lib/jool/libjoolnl.so.0.0.0
/usr/lib/jool/libjoolutil.so
/usr/lib/jool/libjoolutil.so.0
/usr/lib/jool/libjoolutil.so.0.0.0



Kernel compile warnings
src/mod/common/db/pool4/empty.c: In function ‘pool4empty_contains’:
src/mod/common/db/pool4/empty.c:33: warning: comparison is always false due to limited range of data type



Some tools warnings ?
tribute.Tpo -c attribute.c  -fPIC -DPIC -o .libs/libjoolnl_la-attribute.o
In file included from /usr/include/libnl3/netlink/netlink.h:26:0,
                 from /usr/include/libnl3/netlink/attr.h:15,
                 from ../../../src/usr/nl/attribute.h:4,
                 from attribute.c:1:
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:289:15: warning: ISO C restricts enumerator values to range of 'int' [-Wpedantic]
  RT_TABLE_MAX=0xFFFFFFFF
               ^
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:369:9: warning: ISO C forbids zero-size array 'rtvia_addr' [-Wpedantic]
  __u8   rtvia_addr[0];
         ^
attribute.c: In function 'jnla_validate_list':
attribute.c:74:2: warning: passing argument 4 of 'nla_validate' discards 'const' qualifier from pointer target type [enabled by default]
  error = nla_validate(head, len, JNLAL_MAX, policy);
  ^
In file included from ../../../src/usr/nl/attribute.h:4:0,
                 from attribute.c:1:
/usr/include/libnl3/netlink/attr.h:84:13: note: expected 'struct nla_policy *' but argument is of type 'const struct nla_policy *'
 extern int  nla_validate(struct nlattr *, int, int,
             ^
................

In file included from /usr/include/libnl3/netlink/netlink.h:26:0,
                 from /usr/include/libnl3/netlink/attr.h:15,
                 from ../../../src/common/config.h:13,
                 from ../../../src/usr/argp/command.h:5,
                 from wargp/global.c:3:
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:289:15: warning: ISO C restricts enumerator values to range of 'int' [-Wpedantic]
  RT_TABLE_MAX=0xFFFFFFFF
               ^
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:369:9: warning: ISO C forbids zero-size array 'rtvia_addr' [-Wpedantic]
  __u8   rtvia_addr[0];
         ^
wargp/global.c: In function 'handle_global_display':
wargp/global.c:40:9: warning: missing braces around initializer [-Wmissing-braces]
  struct display_args dargs = { 0 };
         ^
wargp/global.c:40:9: warning: (near initialization for 'dargs.no_headers') [-Wmissing-braces]
wargp/global.c: In function 'handle_global_update':
wargp/global.c:87:9: warning: missing braces around initializer [-Wmissing-braces]
  struct update_args uargs = { 0 };
         ^

.............................

In file included from /usr/include/libnl3/netlink/netlink.h:26:0,
                 from /usr/include/libnl3/netlink/attr.h:15,
                 from ../../../src/common/config.h:13,
                 from wargp/instance.c:4:
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:289:15: warning: ISO C restricts enumerator values to range of 'int' [-Wpedantic]
  RT_TABLE_MAX=0xFFFFFFFF
               ^
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:369:9: warning: ISO C forbids zero-size array 'rtvia_addr' [-Wpedantic]
  __u8   rtvia_addr[0];
         ^
wargp/instance.c: In function 'handle_instance_display':
wargp/instance.c:116:9: warning: missing braces around initializer [-Wmissing-braces]
  struct display_args dargs = { 0 };
         ^
wargp/instance.c:116:9: warning: (near initialization for 'dargs.no_headers') [-Wmissing-braces]
wargp/instance.c: In function 'handle_instance_add':
wargp/instance.c:194:9: warning: missing braces around initializer [-Wmissing-braces]
  struct add_args aargs = { 0 };
         ^
wargp/instance.c:194:9: warning: (near initialization for 'aargs.iname') [-Wmissing-braces]
wargp/instance.c: In function 'handle_instance_remove':
wargp/instance.c:252:9: warning: missing braces around initializer [-Wmissing-braces]
  struct rm_args rargs = { 0 };
         ^
.............................


In file included from /usr/include/libnl3/netlink/netlink.h:26:0,
                 from ../../../src/usr/nl/core.h:4,
                 from wargp/pool4.c:4:
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:289:15: warning: ISO C restricts enumerator values to range of 'int' [-Wpedantic]
  RT_TABLE_MAX=0xFFFFFFFF
               ^
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:369:9: warning: ISO C forbids zero-size array 'rtvia_addr' [-Wpedantic]
  __u8   rtvia_addr[0];
         ^
wargp/pool4.c: In function 'handle_pool4_display':
wargp/pool4.c:115:9: warning: missing braces around initializer [-Wmissing-braces]
  struct display_args dargs = { 0 };
         ^
wargp/pool4.c:115:9: warning: (near initialization for 'dargs.proto') [-Wmissing-braces]
wargp/pool4.c: In function 'handle_pool4_add':
wargp/pool4.c:251:9: warning: missing braces around initializer [-Wmissing-braces]
  struct add_args aargs = { 0 };
         ^
wargp/pool4.c:251:9: warning: (near initialization for 'aargs.entry') [-Wmissing-braces]
wargp/pool4.c: In function 'handle_pool4_remove':
wargp/pool4.c:331:9: warning: missing braces around initializer [-Wmissing-braces]
  struct rm_args rargs = { 0 };
         ^
wargp/pool4.c:331:9: warning: (near initialization for 'rargs.entry') [-Wmissing-braces]


.....................

In file included from /usr/include/libnl3/netlink/netlink.h:26:0,
                 from ../../../src/usr/nl/core.h:4,
                 from wargp/stats.c:3:
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:289:15: warning: ISO C restricts enumerator values to range of 'int' [-Wpedantic]
  RT_TABLE_MAX=0xFFFFFFFF
               ^
/usr/local/include/kernel-headers-4.9.228/usr/include/linux/rtnetlink.h:369:9: warning: ISO C forbids zero-size array 'rtvia_addr' [-Wpedantic]
  __u8   rtvia_addr[0];
         ^
wargp/stats.c: In function 'handle_stats_display':
wargp/stats.c:59:9: warning: missing braces around initializer [-Wmissing-braces]
  struct display_args dargs = { 0 };
         ^
wargp/stats.c:59:9: warning: (near initialization for 'dargs.all') [-Wmissing-braces]




--
Fatih USTA

_______________________________________________
Jool-list mailing list
[email protected]
https://mail-lists.nic.mx/listas/listinfo/jool-list

Reply via email to