- 16 May, 2016 40 commits
-
-
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>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Cesar Prados authored
add/modify the defconfig for adding the delay mech Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
the calculation of the offset to the master clock is also moved to a function. The pid controller is moved to a function as well. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
Depending the link delay mechanism the slave executes pp_slave or pp_pclock. This is achieve making use of #ifdef during compilation, which I don't like but for the time being it's going to be like this. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
the function can be broken down into common functions that pdelay will use as well. First step, the filtering of the mean path delay. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
pclock handles/issues the PDelay messages. 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
The value of logMinPdelayReqInterval is a compromise between the fluctuation in link delay and startup time and the communication and computation load imposed by transmission of these messages. Although, I have set it to 0 so far... Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
pclock is a clock involved in the calculation of the link delay using Peer Delay Mechanism. This calculation is independent of whether a clock is a master/slave. There is delay requester, pclock_req, and, and delay responder, pclock_resp. The Grandmaster clock is the only one in charge of sending Sync messages and complete the synchronization. In case of BC, one port e.g. port 1 is a pclock connected to the upstream Grandmaster Clock, and the rest of ports, downstream, Grandmaster Clocks. In a TC, all the ports are just pclocks, who calculate the link delay and forward the sync and follow up msg till the slaves. Signed-off-by: C.Prados <c.prados@gsi.de>
-
Cesar Prados authored
Signed-off-by: C.Prados <c.prados@gsi.de>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-