- 17 May, 2016 1 commit
-
-
Davide Ciminaghi authored
Before this commit, ANNOUNCE messages were sent with grandmaster-related fields equal to 0. Values for such fields were taken from the parentDS data set, which did not look properly initialized. Paragraphs 8.2.3.2 to 8.2.3.9 of the ieee1588 standard specify initialization values for the parentDS data set. Many such values come from the defaultDS, so care must be taken to initialize the parent data set __after__ the default data set. We do this in pp-initializing(). Signed-off-by: Davide Ciminaghi <ciminaghi@gnudd.com>
-
- 16 May, 2016 39 commits
-
-
Alessandro Rubini authored
-
Alessandro Rubini authored
This kills the ambiguously-named pp_ms_to_timeout(), and adds pp_next_delay_{1,2,3}. This commit meanwhile fixes the timeouts in the pdelay master (who didn't consider the request timeout), and in the pdelay listener (because LISTEN mode must send pdelay requests). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We don't zero timer any more (see preceding commit), no need to special case anything. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This was only used by timeout_z() (check if expired and disable it) that is not useful nor used since last commits. Timeouts are always running (time is always running...), it's just a matter of whether we check them or not. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
It was not a good idea: there is no need to clear a timeout if it is being re-initialized in the same function anyways. If, OTOH, we change state, it won't be referenced any more so there's no need to disable it. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We now have the simpler pp_timeout(). Moreover, most uses were needless, because now we reset all timeouts when we change state. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This, btw, made me note that we have a problem with pdelay and multiple vlans. Multiple vlan is a hack anyways.... Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
To help me knowning what is audited and what is not, I will rename the "common functions" to fsm-lib. Let's now open this pp_lib_* name space with some more timeout cleanup. 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
Several changes to the timeout API, simplifying the code and allowing more simplification later. * TO_ANN_INTERVAL renamed to TO_ANN_SEND (as opposed to TO_ANN_RECEIPT) * TO_SYNC renamed to TO_SYNC_SEND for symmetry with above * added timeout_init() to take not of the waiting values * timeout_set now receives only the index, not the value (see above) * __timeout_set added for those that want a specific value * timeout_rand is gone, as timeout_set knows which to randomize * all users fixed Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This moves all functions to timeout.c, so the header is more readable. As a side effect, the binary is smaller (a few hunded bytes for all archs, almost 1k for wrpc). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
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
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Currently, only the slave sends pdelay_request, so only the master is handling them. However, only the slave called pp_hooks.handle_preq() -- thus it was never called. Waiting for a test session about this assignment to correctionfield done by wr_handle_preq(), this removes a little duplication and ensures the hook is always called. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
state-slave now does the same as state-pclock, according to the delay mechanism being configured in the globals (still, it replies to pdelay_request irrespective of the delay mechanism being configured, which may not be standard but is good in itself). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
(the previous commit picked two similar tivial changes) Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We use the same timeout for delay_req and pdelay_req, so let's call it "request" alone. 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
The timeout for sending a requeste can be shareby by delay/pdelay; same for logMinDelayReqInterval. Moreover, I took the chance to remove the third extension-specific timeout slot (WR only uses 1, keep two of them...). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit ensures all architectures do the proper things to work with either end-to-end and peer-to-peer, and all frames use the proper addresses * we avoid ifdef by using HAS_PTP and HAS_E2E * no need to -D config items in Makefile * wrpc now correctly sets ppg->delay_mech at startup * the simulator now correctly sets ppg->delay_mech at startup * bare archs correctly set ppg->delay_mech at startup * bare archs properly use one or the other multicast address * pp_instance_cfg->delay_mech is removed as not yet used Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Cesar Prados authored
Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
also the wr master digest directly from the master fms the peer req messages. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
the calculation of the link delay and offset to master is moved from the fat wr_servo_update to tree functions which will be called according to the delay mech. In the case of pdelay, the link delay calculated and then the offset. Signed-off-by: C.Prados <c.prados@gsi.de> Conflicts: include/ppsi/pp-instance.h include/ppsi/ppsi.h proto-ext-whiterabbit/wr-api.h proto-ext-whiterabbit/wr-servo.c
-
Cesar Prados authored
when the slave pclock receives sync and follow up calculates offset to master, and after pdelay follow up, the path delay. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Cesar Prados authored
Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
uninx sockets admit to join more than one multicast group, using this feature the sockets in wrs and unix arch, the same socket is able to get E2E and P2P msg. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
Add the pdelay mac address to the same socket, it means that one socket has two multicast addr, E2E and P2P. During recv the wrpc function check both mac addresses. Send function uses the E2E or P2P mac addr depending on the msg to be sent. [changed by Alessandro: create one socket only, according to Kconfig settings] Signed-off-by: C.Prados <c.prados@gsi.de>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-