Re: [Linuxptp-devel] [PATCH RFC V5 00/83] New configuration implementation

2015-08-28 Thread Miroslav Lichvar
On Sun, Aug 23, 2015 at 10:05:01PM +0200, Richard Cochran wrote:
 Changes in V5:
 - Add a string type
 - Convert every last option
 - Lightly refactor the pasring code

Awesome!

The new code looks good to me. I did some testing and I see no
problems. ptp4l/phc2sys/pmc work as expected, valgrind reports no
errors.

Thanks,

-- 
Miroslav Lichvar

--
___
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel


Re: [Linuxptp-devel] [PATCH RFC V5 00/83] New configuration implementation

2015-08-28 Thread Richard Cochran
On Fri, Aug 28, 2015 at 03:36:23PM +0200, Miroslav Lichvar wrote:
 The new code looks good to me. I did some testing and I see no
 problems. ptp4l/phc2sys/pmc work as expected, valgrind reports no
 errors.

Ok, I'll go ahead push this series out.

(Then, you can add that UDPv6 option you had wanted :)

Thanks,
Richard



--
___
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel


[Linuxptp-devel] [PATCH RFC V5 00/83] New configuration implementation

2015-08-23 Thread Richard Cochran
Changes in V5:
- Add a string type
- Convert every last option
- Lightly refactor the pasring code

Changes in V4:
- Added missing calls to config_get_double() for:
  pi_integral_exponent
  pi_integral_norm_max
  pi_integral_scale
  pi_proportional_exponent
  pi_proportional_norm_max

Changes in V3:
- Reduced interface to two types, double and int
  (enums are accessed like ints)
- Converted almost everything

Changes in V2:
- API is much simpler to use
- numerous details in the implementation have been improved
- half dozen legacy options converted

This series passes the linuxptp-testsuite.  I pushed the branch to
github in the hopes that people will pull and test it.

  repo:g...@github.com:richardcochran/linuxptp-as.git
  branch:  config-v5

Patches 1-4 and 12 provide changes allowing passing of the configuration.
Patches 5 and 6 add a simple hash table.
Patch 7 adds the bulk of the new implementation.
Patch 8 lets the UDP transport use the new TTL option.
Patch 13 adds a way to lock options from the command line.
Patch 37 cleans up a useless variable.
Patch 54 removes a now empty structure.
Patch 62 adds enumerated types.
Patch 69 tweaks ptp4l's logging configuration.
Patches 71 and 76 add string parsing utilities.
Patches 81 and 82 refactor config.c a bit.
Patch 83 finally changes config_init() into config_create().

All the *other* patches convert individual options.

Review and comments are most welcome.

Thanks,
Richard


Richard Cochran (83):
  clock: store the configuration in the clock data structure.
  clock: add a method to obtain the configuration.
  pmc: require a configuration for creating a PMC instance.
  transport: store the configuration in the transport data structure.
  Introduce a simple hash table implementation.
  config: Add a hash table into the data structure.
  config: introduce a new API for reading configuration settings.
  udp: configure the socket with the TTL option.
  config: convert the 'assume_two_step' option to the new scheme.
  config: convert 'tx_timestamp_timeout' to the new scheme.
  config: convert the 'check_fup_sync' option to the new scheme.
  servo: store the configuration in the servo data structure.
  config: add methods to set values taken from the command line.
  config: convert the 'step_threshold' option to the new scheme.
  config: convert the 'first_step_threshold' option to the new scheme.
  config: convert the 'max_frequency' option to the new scheme.
  config: convert 'logging_level' to the new scheme.
  config: convert 'use_syslog' to the new scheme.
  config: convert 'verbose' to the new scheme.
  config: convert 'pi_proportional_const' to the new scheme.
  config: convert 'pi_integral_const' to the new scheme.
  config: convert 'pi_proportional_scale' to the new scheme.
  config: convert 'pi_proportional_exponent' to the new scheme.
  config: convert 'pi_proportional_norm_max' to the new scheme.
  config: convert 'pi_integral_scale' to the new scheme.
  config: convert 'pi_integral_exponent' to the new scheme.
  config: convert 'pi_integral_norm_max' to the new scheme.
  config: convert 'ntpshm_segment' to the new scheme.
  config: port: convert 'delayAsymmetry' to the new scheme.
  config: port: convert 'logAnnounceInterval' to the new scheme.
  config: port: convert 'logSyncInterval' to the new scheme.
  config: port: convert 'logMinDelayReqInterval' to the new scheme.
  config: port: convert 'logMinPdelayReqInterval' to the new scheme.
  config: port: convert 'announceReceiptTimeout' to the new scheme.
  config: port: convert 'syncReceiptTimeout' to the new scheme.
  config: prot: convert 'transportSpecific' to the new scheme.
  port: change 'announce_span' into a macro.
  config: port: convert 'path_trace_enabled' to the new scheme.
  config: port: convert 'follow_up_info' to the new scheme.
  config: clock, port: convert 'freq_est_interval' to the new scheme.
  config: port: convert 'neighborPropDelayThresh' to new scheme.
  config: port: convert 'min_neighbor_prop_delay' to the new scheme.
  config: port: convert 'egressLatency' to the new scheme.
  config: port: convert 'ingressLatency' to the new scheme.
  config: port: convert 'delay_filter_length' to the new scheme.
  config: clock, port: convert 'boundary_clock_jbod' to the new scheme.
  config: convert 'free_running' to the new scheme.
  config: convert 'gmCapable' to the new scheme.
  config: convert 'summary_interval' to the new scheme.
  config: convert 'kernel_leap' to the new scheme.
  config: convert 'sanity_freq_limit' to the new scheme.
  config: convert 'timeSource' to the new scheme.
  config: convert the fault interval options to the new scheme.
  config: remove the 'port_defaults' structure.
  config: convert 'udp6_scope' to the new scheme.
  config: convert 'slaveOnly' and 'twoStepFlag' to the new scheme.
  config: convert 'priority1' and 'priority2' to the new scheme.
  config: convert 'clockClass' to the new scheme.
  config: convert 'clockAccuracy' to the new