1. 05 Mar, 2019 1 commit
    • baujc's avatar
      Suppress timer PP_TO_FAULT · 765c661b
      baujc authored
      After reviewing the code with Maciej, this time-out does not seem to be
      used in a very coherent way. We decided then to remove it.
  2. 01 Mar, 2019 1 commit
    • baujc's avatar
      Code optimization · 25692a35
      baujc authored
      - Make externalPortConfiguration compliant with the PTP specifications
      - Optimize code for externalPortConfiguration
      - Optimize code for slaveOnly
      - Replace "CONFIG_HAS_P2P && ppi->delayMechanism==P2P" by an inline
  3. 25 Feb, 2019 1 commit
    • baujc's avatar
      Big update 2 · 515af578
      baujc authored
      . Better integrate of code optimization with PPSi Kconfig
      . PPSi Kconfig changes to simplify the code in PPSi and avoid #ifdef ..
      . Improve code optimization
      . Move some declaration in ppsi.h in other files to ligthen ppsi.h
      . Improvement of timers: global or instance dependent, dyn. allocation,
      renaming for better diagnostics, disabling allowed, ...
      . New behaviour for the PPS output generation (configurable,...)
      . Move control of the timing mode from HAL to PPSi
      . Optimization of code when a Protocol extension is not available
      . BMCA: Calculate the ebest,... only one time and then trigger all
      instances to execute the bmca state descision
      . Fix bug in the calculation of the clockIdentity to bring it into
      compliance with PTP spec 2008 document
      . Fix a bug related to Announce message received in SLAVE/UNCALIB
      . WR ext: use dynamic timer and adapt to new PPS generation
      . HA ext: Fix bug in fault injection mechanism
  4. 21 Nov, 2018 2 commits
    • Jean-Claude BAU's avatar
      Fix issue on Erbest computation (follow-up) · 6e033a57
      Jean-Claude BAU authored
          According to the clause, the qualification is now not
      evaluated for the ErBest foreign master.
          On ANN_RECEIPT timout, the ErBest is removed from the list of
      foreign master to avoid to jump immediately to SLAVE state
    • Jean-Claude BAU's avatar
      HA updates, bug fixes and optimization · fbe6df4e
      Jean-Claude BAU authored
      - Move initialization of configurable parameters in L1SYNC init hook
      - Set the L1SYNC state to DISABLE in the startup otherwise the state is
      not set if the port is not connected
      - Remove time printing in diag messages
      - restrict call to servo only when the state is UP
      - Adjust properly the delay returned by each l1sync state functions
      - Set REQUEST timeout value dependent of the delay mechanism (E2E/P2P)
      - Bug fix: PP_P2P_MECH used instead of P2P
      - Optimize the REQUEST timeout to generate asap a DelayReq message after
      the first SYNC message received
  5. 20 Nov, 2018 1 commit
    • Jean-Claude BAU's avatar
      Arch. changes for HA integration + bring into compliance with the · 41bedca5
      Jean-Claude BAU authored
      standard IEEE1588-2018
      We bring here a lot of changes to :
      - make the implementation more complaiant with the standard
        We introduce new structures for the time (TimeInterval, Relative
        Named used in structures are aligned to the standard, ...
        It is just a first step. More work is needed
      - be able to use more than one protocol extension at the same time
        (configurations, structures, ...)
      - add the concept of profile
      - increase diagnostics by displaying also standard PTP servo
  6. 15 Aug, 2017 1 commit
  7. 12 Jul, 2017 7 commits
    • Sven Meier's avatar
      audit porting: ported the patches of the audit chapter 3.3 · 8e3dfe52
      Sven Meier authored
      Most of them were already ported, added a check before returning next delay if
      a timeout for a (p)delay request has to be taken into account
    • Sven Meier's avatar
      audit porting: ported the patches of the audit chapter 2.4.5 · a8683138
      Sven Meier authored
      Now everywhere the packet buffer is a void *buf and the lenght is int len
    • Sven Meier's avatar
      audit porting: ported the patches of the audit chapter 2.4.1 · b5cdb8a3
      Sven Meier authored
      The patches from the audit chapter 2.4.1 were ported, some of the
      changes were not ported due to previous changes or different
      foreign master handling, eg.g announce unpacking is still done since
      this seems more streamline with other message handling and is actually
      still used for field extraction for the foreign master data set
    • Sven Meier's avatar
      bmc: fixed announce timeout dataset update and initializing dataset update · ab3d3253
      Sven Meier authored
      For the announce receipt timeout the datasets shall be updated depending on the other ports states, only if no other in slave update parent dataset.
      when a link was connected it runs through initializing which was wrongly updating the parent dataset which caused a short masterchange condition an resyncing.
    • Sven Meier's avatar
      p2p: only answer peer delay messages when in p2p mode · 78f90b18
      Sven Meier authored
      changed peer delay handling so p2p messages are only answered when in this mode
      added p2p messages to some states where it was missing
    • Sven Meier's avatar
      bmc: timeouts fixe and announce handling changed · 53cb49ff
      Sven Meier authored
      Message handling for the case of received back frames changed and timeouts for announces reset according to standard
    • Sven Meier's avatar
      bmc: more changes · 280580e7
      Sven Meier authored
      Merged uncalibrated and slave state, added event handling to the individual states,
      changed in all states the frame handling to table driven handling,
      moved common handling from common to slave since it is actually not common,
      fixed state passive to be according to standard,
      added uncalibrated handling,
      fixed listening and master frame handling,
  8. 27 Feb, 2017 1 commit
  9. 01 Dec, 2016 2 commits
  10. 25 Oct, 2016 1 commit
  11. 20 Sep, 2016 3 commits
  12. 16 May, 2016 4 commits
  13. 07 Nov, 2014 2 commits
  14. 31 Jul, 2013 1 commit
    • Alessandro Rubini's avatar
      general: rephrase copyright notices (no tech effect) · 23033d8a
      Alessandro Rubini authored
      This changes all "Name Surname for CERN" to "Copyright CERN, author
      Name Surname".  This is trivial and makes no change, with a few
      - all trivial Makefiles that had "for CERN" lines have now no
      attributions, as they are trivial anyways.
      - a few unrepresented files have not the copyright notice (especially
      ptpdump, that I wrote in 2012).
      - a few "for CERN" remain in subprojects, where I didn't touch anyrhing
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  15. 08 Mar, 2013 2 commits
    • Alessandro Rubini's avatar
      kill ppi->record_update · fd2b09a0
      Alessandro Rubini authored
      The code, when receiving announce, was setting a flag in order to run
      bmc at the next iteration, when that happened, the frame just received
      was discarded in favour for the programmed state update.
      This commits remove some fields and one helper function, so the new
      announce is immediately processed and no frame is lost.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    • Alessandro Rubini's avatar
      kill portState: nobody is using it · 692af7f3
      Alessandro Rubini authored
      the portState field is probably a relic of ptpd, then the state
      machine was a single switch() statement.  Many places were still
      setting it, but nobody was ever reading the field.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  16. 05 Mar, 2013 1 commit
  17. 04 Mar, 2013 1 commit
    • Alessandro Rubini's avatar
      general: net: rename some fields, fix alignment · 06ef4b9b
      Alessandro Rubini authored
      This changes some things to make code more readable (I really didn't
      know what the tmp_header was: now it is the "received_ptp_header".
      The commit simplifies allocation, because the tx and rx buffers are
      now part of ppi itself.
      We now have tx_ptp and tx_frame, both pointing within tx_buffer (and
      the same for rx). The pointers are the protocol side (aligned) and the
      argument passed to send/recv (which may be not be 4-aligned).
      At this point nothing changes, i.e. both gnu-linux flavours work and
      bare-i386 is not able to received.
  18. 02 Mar, 2013 2 commits
    • Alessandro Rubini's avatar
      timeout: move restart_annrec() to ppsi.h · 415e530e
      Alessandro Rubini authored
      The function st_com_restart_annrec_timer is now just a one-liner, and
      it really is just a timeout operation.
      So call it pp_timeout_restart_annrec instead, and have it inline in
      ppsi.h, removing it from common-fun.c
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    • Alessandro Rubini's avatar
      kill timer: implement timeout · 4b07d444
      Alessandro Rubini authored
      The timer implementatin was incredibly complex.  Now there is no such
      thing as a timer in ptp. We only have timeouts.
      A timeout is a point in time. We calculate; we can be earlier; we
      can be later. The only thing which is arch-specific is calculating.
      This replaces every "timer" operation with the equivalent "timeout"
      one. All stuff is renamed to avoid confusion between "time" and
      Unfortunately, the resulting program as of this commit is not working.
      the pdelay_request timeout happens continuously, I'm sure I've exposed
      a latent bug, which I'm now going to fix.
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  19. 28 Feb, 2013 1 commit
    • Alessandro Rubini's avatar
      massive: remove pdelay material. · e90716f7
      Alessandro Rubini authored
      pdelay (peer delay) is a configuration option for a PTP domain. IT is
      a huge mass of code, which we never actually used and is most likely
      This commits remove all related code, and configures our PTP engine as
      end-to-end.  I doubt this commit can be reverted in the future, but at
      least it leaves traces about what was there and is not there any more.
      Something about pdelay is still there: the message names, one field in
      a structure and one configuration variable, to ease recovery in the
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
  20. 06 Jan, 2013 1 commit
  21. 12 Jul, 2012 1 commit
  22. 28 Mar, 2012 1 commit
    • Alessandro Rubini's avatar
      Rename PPTP to PPSi · 600a052f
      Alessandro Rubini authored
      This is a major patch, because header files are renamed, and
      the header directory with them. Still, no functional change is there.
  23. 09 Mar, 2012 1 commit
  24. 22 Jan, 2012 1 commit
    • Aurelio Colosimo's avatar
      no_incoming_msg label introduce to skip switch when plen=0 · 1b3c07b2
      Aurelio Colosimo authored
      This patch is due to the fact that the code did not correctly handle
      the situation of "no incoming message". Since messageType 0 is a SYNC
      message type, in those cases an empty message was tried to be handled as a SYNC
      message, and led to FAULTY state. This patch seemed to me the least
      invasive with respect to the current code.