Add option -T to specify transport specific field other than 0. Signed-off-by: Petr Kulhavy <br...@jikos.cz> --- phc2sys.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/phc2sys.c b/phc2sys.c index 5c54055..dc5a71a 100644 --- a/phc2sys.c +++ b/phc2sys.c @@ -871,13 +871,13 @@ static void send_subscription(struct node *node) pmc_send_set_action(node->pmc, TLV_SUBSCRIBE_EVENTS_NP, &sen, sizeof(sen)); } -static int init_pmc(struct config *cfg, struct node *node, int domain_number) +static int init_pmc(struct config *cfg, struct node *node, int domain_number, int transport_specific) { char uds_local[MAX_IFNAME_SIZE + 1]; snprintf(uds_local, sizeof(uds_local), "/var/run/phc2sys.%d", getpid()); - node->pmc = pmc_create(cfg, TRANS_UDS, uds_local, 0, domain_number, 0, 1); + node->pmc = pmc_create(cfg, TRANS_UDS, uds_local, 0, domain_number, transport_specific, 1); if (!node->pmc) { pr_err("failed to create pmc"); return -1; @@ -1295,6 +1295,7 @@ static void usage(char *progname) " -N [num] number of master clock readings per update (5)\n" " -L [limit] sanity frequency limit in ppb (200000000)\n" " -M [num] NTP SHM segment number (0)\n" + " -T [hex] transport specific field (default 0x0)\n" " -u [num] number of clock updates in summary stats (0)\n" " -n [num] domain number (0)\n" " -x apply leap seconds by servo instead of kernel\n" @@ -1319,6 +1320,7 @@ int main(int argc, char *argv[]) int c, domain_number = 0, pps_fd = -1; int r = -1, wait_sync = 0; int print_level = LOG_INFO, use_syslog = 1, verbose = 0; + int transport_specific = 0; int ntpshm_segment; double phc_rate, tmp; struct node node = { @@ -1343,7 +1345,7 @@ int main(int argc, char *argv[]) progname = strrchr(argv[0], '/'); progname = progname ? 1+progname : argv[0]; while (EOF != (c = getopt(argc, argv, - "arc:d:s:E:P:I:S:F:R:N:O:L:M:i:u:wn:xz:l:t:mqvh"))) { + "arc:d:s:E:P:I:S:F:R:N:O:L:M:T:i:u:wn:xz:l:t:mqvh"))) { switch (c) { case 'a': autocfg = 1; @@ -1425,6 +1427,10 @@ int main(int argc, char *argv[]) config_set_int(cfg, "ntpshm_segment", ntpshm_segment)) goto end; break; + case 'T': + if (1 == sscanf(optarg, "%x", &c)) + transport_specific = c << 4; + break; case 'u': if (get_arg_val_ui(c, optarg, &node.stats_max_count, 0, UINT_MAX)) @@ -1506,7 +1512,7 @@ int main(int argc, char *argv[]) print_set_level(print_level); if (autocfg) { - if (init_pmc(cfg, &node, domain_number)) + if (init_pmc(cfg, &node, domain_number, transport_specific)) goto end; if (auto_init_ports(&node, rt) < 0) goto end; @@ -1542,7 +1548,7 @@ int main(int argc, char *argv[]) r = -1; if (wait_sync) { - if (init_pmc(cfg, &node, domain_number)) + if (init_pmc(cfg, &node, domain_number, transport_specific)) goto end; while (is_running()) { -- 2.7.4 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel