- Jun 10, 2016
-
-
Adam Wujek authored
By making struct wr_minic non static it is possible for mini SNMP to get RX/TX counters' values directly from the memory instead of writing a separate function that will call minic_get_stats. Avoiding extra function saves about 100 bytes. Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- Jun 06, 2016
-
-
Adam Wujek authored
For other parties using the stats interface with the softpll we need the minimal file that can be easily used in other projects (like SNMP on the wr-switch). Move to the softpll_export.h: --struct spll_stats --defines of seq_state from softpll_ng.c (SEQ_* and AUX_*) --defines of align_state from spll_external.c (ALIGN_*) --defines of mode from softpll_ng.h (SPLL_MODE_*) Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
- May 20, 2016
-
-
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
"-I." is there, so instead of "../lib/ipv4.h" prefer <lib/ipv4.h>. I thought moving ipv4.h to include, but then the name is possibly ambiguous with other files in the -I search path. Thus I wanted to move it from lib/ipv4.h to include/wrc-ipv4.h but that would require several files to be changed. 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
(one is just a comment update: most of that stanza was not true any more) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
A WR socket registers using a specific mac address and the receiving code uses the mac address to match the frame. This is going to be a problem with the new PTP code, as pdelay frames use a different mcast mac address. Moreover, if we go to UDP, stuff gets worse. Packet filter rules are already in place for the new mac addresses, and we now need to relax the checking in the software stack. As a side effect, we avoid a number of broadcast frames, because wrpc-sw now replies to unicast ARP requests. What happened before: 16:27:07 00:0b:ab:7c:8e:4a > 00:26:7b:00:04:18 who-has ...107 tell ...200 16:27:08 00:0b:ab:7c:8e:4a > 00:26:7b:00:04:18 who-has ...107 tell ...200 16:27:09 00:0b:ab:7c:8e:4a > 00:26:7b:00:04:18 who-has ...107 tell ...200 16:27:12 00:0b:ab:7c:8e:4a > ff:ff:ff:ff:ff:ff who-has ...107 tell ...200 16:27:12 00:26:7b:00:04:18 > 00:0b:ab:7c:8e:4a ...107 is-at 00:26:7b:00:04:18 what happens now: 16:42:27 00:0b:ab:7c:8e:4a > 00:26:7b:00:04:18 who-has ...107 tell ...200 16:42:27 00:26:7b:00:04:18 > 00:0b:ab:7c:8e:4a ...107 is-at 00:26:7b:00:04:18 Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit removes the requirement for ARP frames to be broadcast in the no-vlan case. The simplified rule-set of a vlan setup already accepts ARP unicast, and no harm is done. Although we do not make ARP requests so we won't receive unicast replies, hosts do send unicast requests, to refresh an ARP entry that is going to expire. The next commit enacts this feature in software, as a side effect of supporting pdelay PTP. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
-
Alessandro Rubini authored
This is incompatible with the previous implementation - sequence number is 32 bits - frames are 1,2,3 not 0,1,2 (so to be *more* incompatible) - no fake latency values are printed if frames are lost - the message is one line instead of two, and cleaner too - the sender reminds it's sending every 10s. The receiver's messages now include the sequence number, so we can match different receivers on a network. Also, The sender's message report both TAI and sequence, so we can related frames to the time of day. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 18, 2016
-
-
Alessandro Rubini authored
This adds a tool to check the latency in the network. It is selected at build time (config) time. If you select CONFIG_LATENCY_PROBE you are then asked for a CONFIG_LATENCY_ETHTYPE. The sender node sends three frames, as broadcast in that ethertype within the current vlan (or no vlan). The first frame is at priority 7, the second at priority 6, and the third includes the egress timestamps for the former ones. Each group has a sequence number and group identifier. If the tool is built in wrc.bin, every node acts as a receiver. To enable a sender issuing the set of frames every 5 seconds, use "ltest 5". To disable use "ltest 0". The receiver prints the measured latency, and warns if it receives frames that are not in the proper order, using the sequence and frame type fields. This is a successful run crossing two wr switches: latency prio7: 5142.775 latency prio6: 4998.775 latency prio7: 4822.773 latency prio6: 5142.773 latency prio7: 5142.771 latency prio6: 5286.771 Later on, we'll make the thing less verbose, and we'll have threshold to signal a problem if the network went slow. Currently we just print all collected data. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit adds the Kconfig mechanism and the pfilter rules. The latency test socket transmists frames of a specific ether type; the receiver must receive all such frames. To minimize the load on the packet filter, this adds a single rule: we already accept all PTPv2 frames, so we now "OR" to this the new ethernet type. If the feature is configured off, the rule uses the same PTPv2 ethertye, thus turning in practice into a NOP. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is used by the latency measurement, to send high-priority frames Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
One rule only! Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This shortens the rule-set by one rule, making space for pdelay. IP is acceptable whether unicast or broadcast. Thus, remove the IP_UNI intermediate calculation and use only IP_OK. Most of the lines in this commit are a renaming of FRAME_OUR_MAC to FRAME_MAC_OK, with no real effect, because we'll coalesce all valid macs in a single bit (I planned to use it in this commit, but I did not, still I don't want to split the patch). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This shortens the rule-set by one rule, making space for pdelay. There is no need to use a temporary register once FOR_CPU is done. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
-
Alessandro Rubini authored
This is a safe measure before adding UDP support, which adds a socket. And we have other ongoing net-related activities too, so I'd better spend 16 bytes now and feel safer. 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 is needed to build ppsi on the host with arch-wrpc, that I'm using to developer udp on ppsi::wrpc-sw 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>
-
Trigger start/stop of PTP from wrc_check_link job instead of PTP's job. This picks ppsi's new master that matches the change. We need to remove prototype for an unused function, now that the one in ppsi changed arguments and we'd otherwise get error: conflicting types for 'wr_servo_reset' Signed-off-by:
Adam Wujek <adam.wujek@cern.ch> Signed-off-by:
Alessandro Rubini <a.rubini@gsi.de>
-
- Apr 04, 2016
-
-
Alessandro Rubini authored
Although we love to build-test stuff and discard at link time, as soon as we move tasks to be sections, we need to avoid building the file of the task if not configured in. This means lib/arp.c and lib/ipv4.c. But, for consistency, avoid building icmp.c and bootp.c as well. The alternative, which is ifconfig'ing the task itself results in warnings like "'ipv4_init' defined but not used". Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This allows several functions to be static in the files where they are defined. See temperature.c for an example. But mainly, the idea is allowing ease addition of features (likely Kconfig'd ones) for specific WR users, without any modification to the main function and other generic code. This will happen soon for snmp, for example. We may push this a little further, by moving all shell stuff into shell.c, the ptp task within ppsi itself, and so on. But now my time is over. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Socket matching depended on the order or sockets. With the new ELF section (next commit) we get the ICMP socket before some UDP ones, so the code matched IPV4 and the UDP service did not get the data. Now we give priority to UDP sockets. So this commit fixes the problem beforehand. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The threshold and the repeat interval is set by Kconfig. The temperatures are read using the temperature framework. Tested in host environment: wrc# faketemp 90 80 10 wrc# faketemp 90 40 20 wrc# faketemp 20 30 40 Jan 1 10:32:09 192.168.16.7 Temperature high: \ roof:90.0000 core:80.0000 case:10.0000 Jan 1 10:33:09 192.168.16.7 Temperature high: \ roof:90.0000 core:40.0000 case:20.0000 Jan 1 10:33:18 192.168.16.7 Temperature ok: \ roof:20.0000 core:30.0000 case:40.0000 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>
-