- 06 Jul, 2015 17 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
When we support multiple vlans, we must issue announce to all supported vlans. Same applies to sync/follow-up. This changes state-master.c to do the sending several times. Initially I changed msg.c (for the announce message only), this saved the repeated call to msg_pack_announce() but by doing it at state-master level I have simpler code and layer consistency (doing sync/fup at msg.c level would be a mess). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
With UDP we have two channels but we talk with the same peers. Moreover, we reply with a general message to an event message, so having two peers was plain wrong. I'm well aware this commit should happen before vlans are introduced, but I don't want to deal with all the conflicts in moving it back. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The changes to the two socket files are very similar, and rely on the linux way of doing things: on receive we must listen to every protocol and use the auxiliary information to tell vlans apart. On transmit we must build the hardware header with vlan information. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
While looking for an alignment bug I had bad frames: being able to look at the binary content of all ptp-ethtype frames (or ip/udp/ptp) is very useful in that situation. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This requires some change to the include files, to be able to build for all architectures. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The vlanhdr is not something I can find in standard include files, so here is a custom definition, called pp_vlanhdr. Adding peer_vid is needed so a master can reply to its own slave, while listening to several vlans. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This step is in preparation for vlan support, where the tx and rx headers have a different length. This commit doesn't build for arch-wrpc, fixed in the next commit 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 "netpath" is a pain, completely needless. The NP(ppi) is overhead in the code and must be removed. It is now turned to an identity function, so external patches won't conflict. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is partly undoing the previous commit, but there is really no common code between udp and raw in the init path. Besides, initializing for vlan means creating a raw socket, and we'd break the whole "switch" idea. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We can't have VLAN support with UDP, since this VLAN is a hack (needed for GSI operational setup). The error check about udp+vlan is only in time-unix, because arch-wrs uses unix socket initialization, and other architectures can't run UDP. 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>
-
- 01 Jul, 2015 1 commit
-
-
Alessandro Rubini authored
This was a trial of mine, but it really has never been working (at least on wrs -- I think nobody ever tried a non-wr code base on wrpc). Too much of the timetamping, servo, pll, is dependent on WR being available, this academic idea doesn't make much sense, so let's remove a number of conditionals (and associated potential bugs). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 30 Jun, 2015 2 commits
-
-
Adam Wujek authored
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 29 Jun, 2015 1 commit
-
-
Adam Wujek authored
--update hal_shmem to version 7 --add tx and rx packet counters --add error counters for SNMP --increase ppsi shmem version to 6 Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 26 Jun, 2015 3 commits
-
-
Adam Wujek authored
Add counters used by SNMP: --n_err_state (state different than WR_TRACK_PHASE) --n_err_offset (offset exceeded SNMP_MAX_OFFSET) --n_err_delta_rtt (delta rtt exceeded SNMP_MAX_DELTA_RTT) --n_err_rxtx_deltas (any delta_*x_* bigger than SNMP_MAX_RXTX_DELTAS) All these counters are increased on servo update if error condition is met Due to above, increase WRS_PPSI_SHMEM_VERSION to 6 Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Add counting of tx and rx PTP packets. __recv_and_count and __send_and_log are arch independent functions. Increase WRS_PPSI_SHMEM_VERSION due to add of tx_count and tx_count firlds in pp_instance. Update WRS_PPSI_SHMEM_VERSION to 5 Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Remove fields used to keep thresholds of temperature sensors (not used by ppsi) Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 18 Jun, 2015 16 commits
-
-
Alessandro Rubini authored
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This temporary wr-servo state, with the hack of next_state is not really clean. I took a while to understand it, and this tries to make it clearer for my fellow developer. When we change state by commanding hardware, we must wait for hw to be done with the change, and this is better a flag than another state. While making this clean, the commit stresses the fact that we loose one wr-servo iteration every two of them. Unfortunately, the trivial fix I tried some time ago doesn't actually work (the slave won't sync), so the behaviour remains unchanged by this commit, but the problem is not clearly visible in code and comments, so we may fix it "the real way" later on. 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
We were already following big jump, in theory, but we were missing a break statement. Now tracking jumps in the master is working. The commit also fixes another details, zeroing an error counter when restarting sync because of that very error counter. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
After changing the nsec counter, the next state should be SYNC_PHASE, not SYNC_NSEC. This was a mistake when making order in the wr-servo file, initially, but has no effect as we move to a later step anyways if offset_hw.nanoseconds is already 0. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Adam Wujek authored
Add information to section "Diagnostic Macros" that diagnostics can be enabled by specifying proper string after -d switch in command line or by "diagnostics" option in configuration file. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Maciej Lipinski authored
Port configured to PPSI_ROLE_MASTER must do m1() update of data set only if it is a port of a GM. We need the dataSet comparision to know this (thus we calculate the compres value) even on the ports forced to be masters by default
-
Alessandro Rubini authored
This is the result of an audit of all send functions. Most are not affected, because they send on the "general" channel. But when event messages are sent, an error of SEND_NO_STAMP must not be fatal. In WR, for example, after a sync the stamping engine reports invalid stamps for a second. I chose not to change the return type of the sending function and have the compiler help me, because my mates are working on peer-delay and I'd better not make the merge more difficult for us. Unfortunately, my wrs is still not syncing with this patch, as it remains stuck in SYNC_NSEC (in the state machine within the WR servo). See next commit.... Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the first step to fix a problem introduced by commit 79ffd673 (a fix to release 4.1.2 forward ported to master). When we get a bad timestamp in sending sync, we should not return "error" but a special value for "no timestamp". Otherwise the caller goes to "faulty" state and can't sync any more (this situation loops over). Also, check for timestamp errors only for event message, or we break out of the messaging loop during wr synchronization (when we get bad timestamps for frames whose timestamp we don't care about). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-