- Jan 21, 2016
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I also change the prototype of the socket creation so the compile can warn me where the locally-allocated socket must be changed. The size saving is not huge, but this allows later creation of further sockets with a smaller overhead (e.g.: the syslog socket that sends only has no queue, and the snmp socket needs a very small buffer). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This has no effect, but greatly simplifies the later vlan-based operation. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The misbehavior can be reproduced with ping -s 422 192.168.16.200 now, the first frame is fully stored to the queue: copy_out: head 368 avail 512 len 2 copy_out: head 370 avail 510 len 14 copy_out: head 384 avail 496 len 24 copy_out: head 408 avail 472 len 450 but it is retrieved only partially: copy_in: tail 368 avail 22 len 2 copy_in: tail 370 avail 24 len 14 copy_in: tail 384 avail 38 len 24 copy_in: tail 408 avail 62 len 400 The tail of the frame remains in the queue, and is not correctly removed. So we have: update_rx_queues: queue for socket full; [avail 462 required 490] (because 50 bytes are lost there). And the next rx frame, the tail of the previous one is considered size, then truncated to the payload buffer size (here 400 for icmp), so we never realign: copy_out: head 346 avail 462 len 2 copy_out: head 348 avail 460 len 14 copy_out: head 362 avail 446 len 24 copy_out: head 386 avail 422 len 84 Q: Size 84 head 470 Smac 0:4:25:12:34:56 update_rx_queues: saved packet to queue [avail 338 n 1 size 124] copy_in: tail 296 avail 338 len 2 copy_in: tail 298 avail 340 len 14 copy_in: tail 312 avail 354 len 24 copy_in: tail 336 avail 378 len 400 So the available space in the 512-big queue explodes (and ping gets no replies): copy_in: tail 120 avail 1326 len 400 In the caller I got one reply and nothing more, not even the short pings: 68 bytes from 192.168.16.200: icmp_req=1 ttl=63 (truncated) 5 packets transmitted, 1 received, 80% packet loss, time 4009ms With this commit everything flows 68 bytes from 192.168.16.200: icmp_req=1 ttl=63 (truncated) 68 bytes from 192.168.16.200: icmp_req=2 ttl=63 (truncated) 68 bytes from 192.168.16.200: icmp_req=3 ttl=63 (truncated) 64 bytes from 192.168.16.200: icmp_req=1 ttl=63 time=2.02 ms 64 bytes from 192.168.16.200: icmp_req=2 ttl=63 time=1.61 ms Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Several advantages: - normal practice: you send a buffer pointer and its own len - rx values is already fixed, earlier the wrong result was wrongly used - this detaches us from the header length. Transparent vlan ahead... Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jan 20, 2016
-
-
Alessandro Rubini authored
We removed the pool of sockets, to only keep a list of pointers. The caller provides the socket (and the buffer). This saves from 440 to 1570 bytes in the binary (more in the ones with no CONFIG_IP, beause sockets are not used. Now we can move to a caller-defined queue size, when I find the time and willingness. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This removes TRACE_DEV(), turning it into pll_verbose() and wrc_verbose(). The functions are enabled and disabled by kconfig, with defaults matching the previous behaviour. So nothing changes, but the binary is smaller because the previous wrc_debug_printf() was silent because of a run-time conditional (though hardwired false at build time). The condional is now at build time. We save around 2k, between strings and calling code, in all wrc builds (nothing is saved in wrs, which is verbose by default, nor in devel_build_test_defconfig where all verbose options are on)). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> devel_build_test_defconfig: enable all verbose options Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
* library files can be built even if not used (this gets us more build-time testing, as for example I usually build with no IP support). * Some ifdefs are not needed, use HAS_IP instead. This adds a few bytes to some configurations (not all, can't tell why), but I find it acceptable. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Actually, Etherbone is in gateware, and this option only enables Internet Protocol in the software. This fixes a long-standing misunderstanding. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 30, 2015
-
-
Alessandro Rubini authored
This commit fixes all copyright notes, using "git blame" as a reference. For simple files I just added a 2-lines boilerplate about being WR and GPL. Some parts I left untouched: trivial-init and related files (unclear to me what this is, and pf-microcode.h is magic binary pfilter values). tools/lm32-etheruart: I don't know what this is and who the author is libsdbfs: this comes from another repo and I'd better not change it sfp_lib.h and hal_shmem.h: I lost track about the origin of this, among the several packages. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 27, 2015
-
-
Alessandro Rubini authored
We have not been using mprintf for ages now, and it's better for the code to explicitly call pp_printf, so people is aware of it. We might "#define printf pp_printf", but currently we'd better not. Maybe when we turn this into a real operating system, next millennium... Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 13, 2015
-
-
- Sep 07, 2015
-
-
Grzegorz Daniluk authored
Based on Peter's work for km2net CLB board.
-
- Sep 01, 2015
-
-
Alessandro Rubini authored
The function ptpd_netif_create_socket() still receives two arguments, because it is being called by ppsi, and I'd better not change the API in small steps in there. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> y
-
- Jul 26, 2015
-
-
Alessandro Rubini authored
The function wrpc_get_port_state() still receives two arguments, because it is being called by ppsi, and I'd better not change the API in small steps in there. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The function are not there: * ptpd_netif_poll() it never existed * ptpd_netif_select() nobody called it, and it only returned 0 * ptpd_netif_locking_enable() * ptpd_netif_locking_disable() * ptpd_netif_locking_poll() * ptpd_netif_adjust_counters() * ptpd_netif_adjust_phase() * ptpd_netif_adjust_in_progress() * ptpd_netif_enable_timing_output() * ptpd_netif_enable_phase_tracking() * ptpd_netif_read_calibration_data() they were part of ptp-noposix-wrappers.c, removed in January 2015. The features are now part of the wr_ops in ppsi. * ptpd_netif_get_ifName() same (ptp-noposix-wrappers.c), it returned a constant name, and ppsi does it differently because based on arch-wrs/arch-wrpc * ptpd_netif_calibrating_enable() * ptpd_netif_calibrating_disable() * ptpd_netif_extsrc_detection() same, but in addition they were already doing nothing when removed * ptpd_netif_calibrating_poll() * ptpd_netif_calibration_pattern_enable() * ptpd_netif_calibration_pattern_disable() same, but they wer not actually used since calibration was gone Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I added -Wstrict-prototypes, that used to be included in -Wall settings but is not. Actually, I think it should be an error to not specify an argument list by now. If any, -traditional is there for old timers. Fortunately no bug was exposed by the missing prototypes. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jul 24, 2015
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jun 30, 2015
-
-
ppsi for wrs requres locks in shmem when shmem is changing. Since servo is shared between wrs and wrpc fixes had to be implemented. Since there is no shmem in wrpc, dummy function for locking had to be added. As a side effect include/libwr/shmem.h was added. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Done as a part of work to move hal to shm in wrs. Done in this commit: --use wrpc_get_port_state instead of halexp_get_port_state --make wrpc_get_port_state fill hal_port_state structure in the way how HAL fills shmem. --update lib/net.c to use struct hal_port_state instead of hexp_port_state_t --update monitor/monitor_ppsi.c to use struct hal_port_state instead of hexp_port_state_t --update ppsi to get needed changes Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
It is not used anymore. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Feb 12, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Feb 11, 2014
-
-
Alessandro Rubini authored
This fixes the makefile to build either wrc.bin or rt_cpu.bin, using the obj-y convention. At this point Kconfig can't select rt_cpu.bin, and nothing changes in the ouput binary, in all configurations. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Dec 16, 2013
-
-
[t24-fix]: rewritten RX timestamp linearization (phase + counter merging) algorithm to be easier to understand. For more info, check the note in the Documents section of the wrpc-sw project on ohwr.org.
-
- Nov 07, 2013
-
-
Grzegorz Daniluk authored
-
After subtraction of transition value from linearized phase, the phase value was renormalized to 0...clock_period-1, but not the other counters. This resulted in very rare 8ns jumps.
-