Attributes are global ones in config file which also is an in argument
Signed-off-by: Anders Selhammer <[email protected]>
---
phc2sys.c | 4 +---
pmc.c | 6 ++----
pmc_common.c | 21 +++++++++++----------
pmc_common.h | 1 -
4 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/phc2sys.c b/phc2sys.c
index 0742393..083eca2 100644
--- a/phc2sys.c
+++ b/phc2sys.c
@@ -904,9 +904,7 @@ static int init_pmc(struct config *cfg, struct node *node)
snprintf(uds_local, sizeof(uds_local), "/var/run/phc2sys.%d",
getpid());
- node->pmc = pmc_create(cfg, TRANS_UDS, uds_local, 0,
- config_get_int(cfg, NULL, "domainNumber"),
- config_get_int(cfg, NULL, "transportSpecific")
<< 4, 1);
+ node->pmc = pmc_create(cfg, TRANS_UDS, uds_local, 0, 1);
if (!node->pmc) {
pr_err("failed to create pmc");
return -1;
diff --git a/pmc.c b/pmc.c
index 6f23167..d7a10e5 100644
--- a/pmc.c
+++ b/pmc.c
@@ -685,7 +685,7 @@ int main(int argc, char *argv[])
int ret = 0;
char line[1024], *command = NULL, uds_local[MAX_IFNAME_SIZE + 1];
enum transport_type transport_type = TRANS_UDP_IPV4;
- UInteger8 boundary_hops = 1, domain_number = 0, transport_specific = 0;
+ UInteger8 boundary_hops = 1;
struct ptp_message *msg;
struct option *opts;
struct config *cfg;
@@ -797,8 +797,6 @@ int main(int argc, char *argv[])
}
transport_type = config_get_int(cfg, NULL, "network_transport");
- transport_specific = config_get_int(cfg, NULL, "transportSpecific") <<
4;
- domain_number = config_get_int(cfg, NULL, "domainNumber");
if (!iface_name) {
if (transport_type == TRANS_UDS) {
@@ -818,7 +816,7 @@ int main(int argc, char *argv[])
print_set_verbose(1);
pmc = pmc_create(cfg, transport_type, iface_name, boundary_hops,
- domain_number, transport_specific, zero_datalen);
+ zero_datalen);
if (!pmc) {
fprintf(stderr, "failed to create pmc\n");
config_destroy(cfg);
diff --git a/pmc_common.c b/pmc_common.c
index fcb9c8e..b19f4fa 100644
--- a/pmc_common.c
+++ b/pmc_common.c
@@ -21,11 +21,11 @@
#include <string.h>
#include <stdlib.h>
+#include "pmc_common.h"
#include "print.h"
#include "tlv.h"
#include "transport.h"
#include "util.h"
-#include "pmc_common.h"
/*
Field Len Type
@@ -49,13 +49,11 @@
#define EMPTY_PTP_TEXT 2
struct pmc {
+ struct config *cfg;
UInteger16 sequence_id;
UInteger8 boundary_hops;
- UInteger8 domain_number;
- UInteger8 transport_specific;
struct PortIdentity port_identity;
struct PortIdentity target;
-
struct transport *transport;
struct fdarray fdarray;
int zero_length_gets;
@@ -63,7 +61,6 @@ struct pmc {
struct pmc *pmc_create(struct config *cfg, enum transport_type transport_type,
const char *iface_name, UInteger8 boundary_hops,
- UInteger8 domain_number, UInteger8 transport_specific,
int zero_datalen)
{
struct interface iface;
@@ -81,12 +78,11 @@ struct pmc *pmc_create(struct config *cfg, enum
transport_type transport_type,
pr_err("failed to generate a clock identity");
goto failed;
}
+ pmc->cfg = cfg;
pmc->port_identity.portNumber = 1;
pmc_target_all(pmc);
pmc->boundary_hops = boundary_hops;
- pmc->domain_number = domain_number;
- pmc->transport_specific = transport_specific;
pmc->transport = transport_create(cfg, transport_type);
if (!pmc->transport) {
@@ -124,20 +120,25 @@ void pmc_destroy(struct pmc *pmc)
static struct ptp_message *pmc_message(struct pmc *pmc, uint8_t action)
{
+ UInteger8 transportSpecific;
struct ptp_message *msg;
int pdulen;
msg = msg_allocate();
- if (!msg)
+ if (!msg) {
return NULL;
+ }
+
+ transportSpecific = config_get_int(pmc->cfg, NULL, "transportSpecific");
+ transportSpecific <<= 4;
pdulen = sizeof(struct management_msg);
msg->hwts.type = TS_SOFTWARE;
- msg->header.tsmt = MANAGEMENT | pmc->transport_specific;
+ msg->header.tsmt = MANAGEMENT | transportSpecific;
msg->header.ver = PTP_VERSION;
msg->header.messageLength = pdulen;
- msg->header.domainNumber = pmc->domain_number;
+ msg->header.domainNumber = config_get_int(pmc->cfg, NULL,
"domainNumber");
msg->header.sourcePortIdentity = pmc->port_identity;
msg->header.sequenceId = pmc->sequence_id++;
msg->header.control = CTL_MANAGEMENT;
diff --git a/pmc_common.h b/pmc_common.h
index bb3a1f1..4fc9428 100644
--- a/pmc_common.h
+++ b/pmc_common.h
@@ -29,7 +29,6 @@ struct pmc;
struct pmc *pmc_create(struct config *cfg, enum transport_type transport_type,
const char *iface_name, UInteger8 boundary_hops,
- UInteger8 domain_number, UInteger8 transport_specific,
int zero_datalen);
void pmc_destroy(struct pmc *pmc);
--
1.8.3.1
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel