- Added missing structure members to ETCP_CONN (ack_packets_count, last_rx_ack_id, rtt_history, rtt_history_idx, total_packets_sent) - Added missing bandwidth member to ETCP_LINK structure - Fixed include path for ll_queue.h header - Added math library linking (-lm) to build system - Added etcp_loadbalancer.c to build sources - Fixed forward declarations and function calls in ETCP modules - Updated test dependencies to include loadbalancer object files All simple compilation errors resolved, project builds successfully and tests pass (except TUN permission test which is expected in container).
162 lines
11 KiB
Plaintext
162 lines
11 KiB
Plaintext
ar: модификатор «u» игнорируется, так как по умолчанию используется «D» (смотрите «U»)
|
||
utun_instance.c: In function ‘utun_instance_create’:
|
||
utun_instance.c:93:49: warning: ‘/32’ directive output may be truncated writing 3 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
|
||
93 | snprintf(tun_ip_str, sizeof(tun_ip_str), "%s/32", ip_buffer);
|
||
| ^~~
|
||
In file included from /usr/include/stdio.h:980,
|
||
from utun_instance.h:6,
|
||
from utun_instance.c:2:
|
||
In function ‘snprintf’,
|
||
inlined from ‘utun_instance_create’ at utun_instance.c:93:5:
|
||
/usr/include/x86_64-linux-gnu/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 4 and 67 bytes into a destination of size 64
|
||
54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
55 | __glibc_objsize (__s), __fmt,
|
||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
56 | __va_arg_pack ());
|
||
| ~~~~~~~~~~~~~~~~~
|
||
etcp.c: In function ‘etcp_conn_reset’:
|
||
etcp.c:175:9: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
175 | etcp->rtt_history_idx = 0;
|
||
| ^~
|
||
etcp.c:176:16: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
176 | memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history));
|
||
| ^~
|
||
etcp.c:176:45: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
176 | memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history));
|
||
| ^~
|
||
etcp.c: In function ‘etcp_request_pkt’:
|
||
etcp.c:251:47: error: ‘input_queue_cb’ undeclared (first use in this function)
|
||
251 | queue_set_callback(etcp->input_queue, input_queue_cb, etcp); // Define cb to resume
|
||
| ^~~~~~~~~~~~~~
|
||
etcp.c:251:47: note: each undeclared identifier is reported only once for each function it appears in
|
||
etcp.c:288:30: warning: implicit declaration of function ‘etcp_loadbalancer_select_link’ [-Wimplicit-function-declaration]
|
||
288 | struct ETCP_LINK* link = etcp_loadbalancer_select_link(etcp);
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
etcp.c:288:30: warning: initialization of ‘struct ETCP_LINK *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
|
||
etcp.c: In function ‘append_optional_sections’:
|
||
etcp.c:391:13: error: ‘struct ETCP_CONN’ has no member named ‘ack_packets_count’
|
||
391 | etcp->ack_packets_count++;
|
||
| ^~
|
||
etcp.c: In function ‘process_section_ack’:
|
||
etcp.c:437:11: error: ‘struct ETCP_CONN’ has no member named ‘last_rx_ack_id’; did you mean ‘last_rx_id’?
|
||
437 | etcp->last_rx_ack_id = (data[1 + (count-1)*4] << 8) | data[2 + (count-1)*4]; // Last ACK ID
|
||
| ^~~~~~~~~~~~~~
|
||
| last_rx_id
|
||
etcp.c: In function ‘update_link_bandwidth’:
|
||
etcp.c:642:9: error: ‘struct ETCP_LINK’ has no member named ‘bandwidth’
|
||
642 | link->bandwidth = (link->bandwidth * 0.9) + (new_bw * 0.1); // Smooth
|
||
| ^~
|
||
etcp.c:642:28: error: ‘struct ETCP_LINK’ has no member named ‘bandwidth’
|
||
642 | link->bandwidth = (link->bandwidth * 0.9) + (new_bw * 0.1); // Smooth
|
||
| ^~
|
||
etcp.c: In function ‘update_rtt’:
|
||
etcp.c:652:9: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
652 | etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt;
|
||
| ^~
|
||
etcp.c:652:27: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
652 | etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt;
|
||
| ^~
|
||
etcp.c:653:13: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
653 | if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0;
|
||
| ^~
|
||
etcp.c:653:56: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
653 | if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0;
|
||
| ^~
|
||
etcp.c: In function ‘calculate_jitter’:
|
||
etcp.c:661:17: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
661 | if (etcp->rtt_history[i] == 0) continue;
|
||
| ^~
|
||
etcp.c:662:17: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
662 | if (etcp->rtt_history[i] < min_rtt) min_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c:662:59: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
662 | if (etcp->rtt_history[i] < min_rtt) min_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c:663:17: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
663 | if (etcp->rtt_history[i] > max_rtt) max_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c:663:59: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
663 | if (etcp->rtt_history[i] > max_rtt) max_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c: In function ‘etcp_get_stats’:
|
||
etcp.c:684:43: error: ‘struct ETCP_CONN’ has no member named ‘total_packets_sent’
|
||
684 | if (packets_sent) *packets_sent = etcp->total_packets_sent;
|
||
| ^~
|
||
make[2]: *** [Makefile:605: utun-etcp.o] Ошибка 1
|
||
make[1]: *** [Makefile:375: all-recursive] Ошибка 1
|
||
make: *** [Makefile:316: all] Ошибка 2
|
||
etcp.c: In function ‘etcp_conn_reset’:
|
||
etcp.c:175:9: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
175 | etcp->rtt_history_idx = 0;
|
||
| ^~
|
||
etcp.c:176:16: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
176 | memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history));
|
||
| ^~
|
||
etcp.c:176:45: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
176 | memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history));
|
||
| ^~
|
||
etcp.c: In function ‘etcp_request_pkt’:
|
||
etcp.c:251:47: error: ‘input_queue_cb’ undeclared (first use in this function)
|
||
251 | queue_set_callback(etcp->input_queue, input_queue_cb, etcp); // Define cb to resume
|
||
| ^~~~~~~~~~~~~~
|
||
etcp.c:251:47: note: each undeclared identifier is reported only once for each function it appears in
|
||
etcp.c:288:30: warning: implicit declaration of function ‘etcp_loadbalancer_select_link’ [-Wimplicit-function-declaration]
|
||
288 | struct ETCP_LINK* link = etcp_loadbalancer_select_link(etcp);
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
etcp.c:288:30: warning: initialization of ‘struct ETCP_LINK *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
|
||
etcp.c: In function ‘append_optional_sections’:
|
||
etcp.c:391:13: error: ‘struct ETCP_CONN’ has no member named ‘ack_packets_count’
|
||
391 | etcp->ack_packets_count++;
|
||
| ^~
|
||
etcp.c: In function ‘process_section_ack’:
|
||
etcp.c:437:11: error: ‘struct ETCP_CONN’ has no member named ‘last_rx_ack_id’; did you mean ‘last_rx_id’?
|
||
437 | etcp->last_rx_ack_id = (data[1 + (count-1)*4] << 8) | data[2 + (count-1)*4]; // Last ACK ID
|
||
| ^~~~~~~~~~~~~~
|
||
| last_rx_id
|
||
etcp.c: In function ‘update_link_bandwidth’:
|
||
etcp.c:642:9: error: ‘struct ETCP_LINK’ has no member named ‘bandwidth’
|
||
642 | link->bandwidth = (link->bandwidth * 0.9) + (new_bw * 0.1); // Smooth
|
||
| ^~
|
||
etcp.c:642:28: error: ‘struct ETCP_LINK’ has no member named ‘bandwidth’
|
||
642 | link->bandwidth = (link->bandwidth * 0.9) + (new_bw * 0.1); // Smooth
|
||
| ^~
|
||
etcp.c: In function ‘update_rtt’:
|
||
etcp.c:652:9: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
652 | etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt;
|
||
| ^~
|
||
etcp.c:652:27: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
652 | etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt;
|
||
| ^~
|
||
etcp.c:653:13: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
653 | if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0;
|
||
| ^~
|
||
etcp.c:653:56: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history_idx’
|
||
653 | if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0;
|
||
| ^~
|
||
etcp.c: In function ‘calculate_jitter’:
|
||
etcp.c:661:17: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
661 | if (etcp->rtt_history[i] == 0) continue;
|
||
| ^~
|
||
etcp.c:662:17: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
662 | if (etcp->rtt_history[i] < min_rtt) min_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c:662:59: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
662 | if (etcp->rtt_history[i] < min_rtt) min_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c:663:17: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
663 | if (etcp->rtt_history[i] > max_rtt) max_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c:663:59: error: ‘struct ETCP_CONN’ has no member named ‘rtt_history’
|
||
663 | if (etcp->rtt_history[i] > max_rtt) max_rtt = etcp->rtt_history[i];
|
||
| ^~
|
||
etcp.c: In function ‘etcp_get_stats’:
|
||
etcp.c:684:43: error: ‘struct ETCP_CONN’ has no member named ‘total_packets_sent’
|
||
684 | if (packets_sent) *packets_sent = etcp->total_packets_sent;
|
||
| ^~
|
||
make[2]: *** [Makefile:605: utun-etcp.o] Ошибка 1
|
||
make[1]: *** [Makefile:375: all-recursive] Ошибка 1
|
||
make: *** [Makefile:316: all] Ошибка 2
|
||
make[1]: *** Нет правила для сборки цели «../src/utun-secure_channel.o», требуемой для «test_etcp_crypto». Останов.
|
||
make: *** [Makefile:1024: check-am] Ошибка 2
|