Signed-off-by: Richard Cochran <richardcoch...@gmail.com>
---
 clock.c        | 21 +++++++++++----------
 config.c       | 12 +++++++-----
 makefile       | 10 +++++-----
 nsm.c          |  9 +++++----
 pmc_common.c   |  2 +-
 port.c         | 19 +++++++++++--------
 port_private.h |  2 +-
 udp.c          |  2 +-
 udp6.c         |  2 +-
 uds.c          |  8 ++++----
 10 files changed, 47 insertions(+), 40 deletions(-)

diff --git a/clock.c b/clock.c
index 9f4207d..7d13b3b 100644
--- a/clock.c
+++ b/clock.c
@@ -849,7 +849,7 @@ int clock_required_modes(struct clock *c)
 static void ensure_ts_label(struct interface *iface)
 {
        if (iface->ts_label[0] == '\0')
-               strncpy(iface->ts_label, iface->name, MAX_IFNAME_SIZE);
+               strncpy(iface->ts_label, interface_name(iface), 
MAX_IFNAME_SIZE);
 }
 
 struct clock *clock_create(enum clock_type type, struct config *config,
@@ -960,13 +960,13 @@ struct clock *clock_create(enum clock_type type, struct 
config *config,
        c->timestamping = timestamping;
        required_modes = clock_required_modes(c);
        STAILQ_FOREACH(iface, &config->interfaces, list) {
-               rtnl_get_ts_device(iface->name, iface->ts_label);
+               rtnl_get_ts_device(interface_name(iface), iface->ts_label);
                ensure_ts_label(iface);
                sk_get_ts_info(iface->ts_label, &iface->ts_info);
                if (iface->ts_info.valid &&
                    ((iface->ts_info.so_timestamping & required_modes) != 
required_modes)) {
-                       pr_err("interface '%s' does not support "
-                              "requested timestamping mode", iface->name);
+                       pr_err("interface '%s' does not support requested 
timestamping mode",
+                              interface_name(iface));
                        return NULL;
                }
        }
@@ -996,7 +996,7 @@ struct clock *clock_create(enum clock_type type, struct 
config *config,
        if (strcmp(config_get_string(config, NULL, "clockIdentity"),
                   "000000.0000.000000") == 0) {
                if (generate_clock_identity(&c->dds.clockIdentity,
-                                           iface->name)) {
+                                           interface_name(iface))) {
                        pr_err("failed to generate a clock identity");
                        return NULL;
                }
@@ -1011,19 +1011,20 @@ struct clock *clock_create(enum clock_type type, struct 
config *config,
        /* Configure the UDS. */
        snprintf(udsif->name, sizeof(udsif->name), "%s",
                 config_get_string(config, NULL, "uds_address"));
-       if (config_set_section_int(config, udsif->name,
+       if (config_set_section_int(config, interface_name(udsif),
                                   "announceReceiptTimeout", 0)) {
                return NULL;
        }
-       if (config_set_section_int(config, udsif->name,
+       if (config_set_section_int(config, interface_name(udsif),
                                    "delay_mechanism", DM_AUTO)) {
                return NULL;
        }
-       if (config_set_section_int(config, udsif->name,
+       if (config_set_section_int(config, interface_name(udsif),
                                    "network_transport", TRANS_UDS)) {
                return NULL;
        }
-       if (config_set_section_int(config, udsif->name, "delay_filter_length", 
1)) {
+       if (config_set_section_int(config, interface_name(udsif),
+                                  "delay_filter_length", 1)) {
                return NULL;
        }
 
@@ -1147,7 +1148,7 @@ struct clock *clock_create(enum clock_type type, struct 
config *config,
        /* Create the ports. */
        STAILQ_FOREACH(iface, &config->interfaces, list) {
                if (clock_add_port(c, phc_device, phc_index, timestamping, 
iface)) {
-                       pr_err("failed to open port %s", iface->name);
+                       pr_err("failed to open port %s", interface_name(iface));
                        return NULL;
                }
        }
diff --git a/config.c b/config.c
index 65afa70..c30f6bc 100644
--- a/config.c
+++ b/config.c
@@ -775,15 +775,15 @@ int config_read(const char *name, struct config *cfg)
                if (parse_setting_line(line, &option, &value)) {
                        fprintf(stderr, "could not parse line %d in %s 
section\n",
                                line_num, current_section == GLOBAL_SECTION ?
-                               "global" : current_port->name);
+                               "global" : interface_name(current_port));
                        goto parse_error;
                }
 
                check_deprecated_options(&option);
 
                parser_res = parse_item(cfg, 0, current_section == 
GLOBAL_SECTION ?
-                                       NULL : current_port->name, option, 
value);
-
+                                       NULL : interface_name(current_port),
+                                       option, value);
                switch (parser_res) {
                case PARSED_OK:
                        break;
@@ -791,7 +791,7 @@ int config_read(const char *name, struct config *cfg)
                        fprintf(stderr, "unknown option %s at line %d in %s 
section\n",
                                option, line_num,
                                current_section == GLOBAL_SECTION ? "global" :
-                               current_port->name);
+                               interface_name(current_port));
                        goto parse_error;
                case BAD_VALUE:
                        fprintf(stderr, "%s is a bad value for option %s at 
line %d\n",
@@ -820,10 +820,12 @@ parse_error:
 struct interface *config_create_interface(const char *name, struct config *cfg)
 {
        struct interface *iface;
+       const char *ifname;
 
        /* only create each interface once (by name) */
        STAILQ_FOREACH(iface, &cfg->interfaces, list) {
-               if (0 == strncmp(name, iface->name, MAX_IFNAME_SIZE))
+               ifname = interface_name(iface);
+               if (0 == strncmp(name, ifname, MAX_IFNAME_SIZE))
                        return iface;
        }
 
diff --git a/makefile b/makefile
index e1e0e99..e1dd3fa 100644
--- a/makefile
+++ b/makefile
@@ -57,13 +57,13 @@ all: $(PRG)
 
 ptp4l: $(OBJ)
 
-nsm: config.o $(FILTERS) hash.o msg.o nsm.o phc.o print.o \
+nsm: config.o $(FILTERS) hash.o interface.o msg.o nsm.o phc.o print.o \
  rtnl.o sk.o $(TRANSP) tlv.o tsproc.o util.o version.o
 
-pmc: config.o hash.o msg.o phc.o pmc.o pmc_common.o print.o sk.o tlv.o \
- $(TRANSP) util.o version.o
+pmc: config.o hash.o interface.o msg.o phc.o pmc.o pmc_common.o print.o sk.o \
+ tlv.o $(TRANSP) util.o version.o
 
-phc2sys: clockadj.o clockcheck.o config.o hash.o msg.o \
+phc2sys: clockadj.o clockcheck.o config.o hash.o interface.o msg.o \
  phc.o phc2sys.o pmc_common.o print.o $(SERVOS) sk.o stats.o \
  sysoff.o tlv.o $(TRANSP) util.o version.o
 
@@ -71,7 +71,7 @@ hwstamp_ctl: hwstamp_ctl.o version.o
 
 phc_ctl: phc_ctl.o phc.o sk.o util.o clockadj.o sysoff.o print.o version.o
 
-snmp4lptp: config.o hash.o msg.o phc.o pmc_common.o print.o sk.o \
+snmp4lptp: config.o hash.o interface.o msg.o phc.o pmc_common.o print.o sk.o \
  snmp4lptp.o tlv.o $(TRANSP) util.o
        $(CC) $^ $(LDFLAGS) $(LOADLIBES) $(LDLIBS) $(snmplib) -o $@
 
diff --git a/nsm.c b/nsm.c
index 43daf59..269c3c8 100644
--- a/nsm.c
+++ b/nsm.c
@@ -262,14 +262,15 @@ static void nsm_help(FILE *fp)
 static int nsm_open(struct nsm *nsm, struct config *cfg)
 {
        enum transport_type transport;
+       const char *ifname, *name;
        struct interface *iface;
-       const char *name;
        int count = 0;
 
        STAILQ_FOREACH(iface, &cfg->interfaces, list) {
-               rtnl_get_ts_device(iface->name, iface->ts_label);
+               ifname = interface_name(iface);
+               rtnl_get_ts_device(ifname, iface->ts_label);
                if (iface->ts_label[0] == '\0') {
-                       strncpy(iface->ts_label, iface->name, MAX_IFNAME_SIZE);
+                       strncpy(iface->ts_label, ifname, MAX_IFNAME_SIZE);
                }
                count++;
        }
@@ -278,7 +279,7 @@ static int nsm_open(struct nsm *nsm, struct config *cfg)
                return -1;
        }
        iface = STAILQ_FIRST(&cfg->interfaces);
-       nsm->name = name = iface->name;
+       nsm->name = name = interface_name(iface);
        nsm->cfg = cfg;
 
        transport = config_get_int(cfg, name, "network_transport");
diff --git a/pmc_common.c b/pmc_common.c
index 46aac30..d5c8b61 100644
--- a/pmc_common.c
+++ b/pmc_common.c
@@ -352,7 +352,7 @@ struct pmc *pmc_create(struct config *cfg, enum 
transport_type transport_type,
 
        strncpy(iface.name, iface_name, MAX_IFNAME_SIZE);
        if (iface.ts_label[0] == '\0') {
-               strncpy(iface.ts_label, iface.name, MAX_IFNAME_SIZE);
+               strncpy(iface.ts_label, interface_name(&iface), 
MAX_IFNAME_SIZE);
        }
 
        if (transport_open(pmc->transport, &iface,
diff --git a/port.c b/port.c
index 27d9885..6423568 100644
--- a/port.c
+++ b/port.c
@@ -1717,10 +1717,13 @@ int port_initialize(struct port *p)
                if (p->bmca == BMCA_NOOP) {
                        port_set_delay_tmo(p);
                }
-               if (p->fda.fd[FD_RTNL] == -1)
+               if (p->fda.fd[FD_RTNL] == -1) {
                        p->fda.fd[FD_RTNL] = rtnl_open();
-               if (p->fda.fd[FD_RTNL] >= 0)
-                       rtnl_link_query(p->fda.fd[FD_RTNL], p->iface->name);
+               }
+               if (p->fda.fd[FD_RTNL] >= 0) {
+                       const char *ifname = interface_name(p->iface);
+                       rtnl_link_query(p->fda.fd[FD_RTNL], ifname);
+               }
        }
 
        port_nrate_initialize(p);
@@ -2974,10 +2977,10 @@ struct port *port_open(const char *phc_device,
        }
 
        p->phc_index = phc_index;
-       p->jbod = config_get_int(cfg, interface->name, "boundary_clock_jbod");
-       transport = config_get_int(cfg, interface->name, "network_transport");
-       p->master_only = config_get_int(cfg, interface->name, "masterOnly");
-       p->bmca = config_get_int(cfg, interface->name, "BMCA");
+       p->jbod = config_get_int(cfg, interface_name(interface), 
"boundary_clock_jbod");
+       transport = config_get_int(cfg, interface_name(interface), 
"network_transport");
+       p->master_only = config_get_int(cfg, interface_name(interface), 
"masterOnly");
+       p->bmca = config_get_int(cfg, interface_name(interface), "BMCA");
 
        if (p->bmca == BMCA_NOOP && transport != TRANS_UDS) {
                if (p->master_only) {
@@ -3013,7 +3016,7 @@ struct port *port_open(const char *phc_device,
                }
        }
 
-       p->name = interface->name;
+       p->name = interface_name(interface);
        p->iface = interface;
        p->asymmetry = config_get_int(cfg, p->name, "delayAsymmetry");
        p->asymmetry <<= 16;
diff --git a/port_private.h b/port_private.h
index 5789fbb..bc16d95 100644
--- a/port_private.h
+++ b/port_private.h
@@ -60,7 +60,7 @@ struct tc_txd {
 
 struct port {
        LIST_ENTRY(port) list;
-       char *name;
+       const char *name;
        struct interface *iface;
        struct clock *clock;
        struct transport *trp;
diff --git a/udp.c b/udp.c
index 48af482..143f714 100644
--- a/udp.c
+++ b/udp.c
@@ -154,9 +154,9 @@ static int udp_open(struct transport *t, struct interface 
*iface,
                    struct fdarray *fda, enum timestamp_type ts_type)
 {
        struct udp *udp = container_of(t, struct udp, t);
+       const char *name = interface_name(iface);
        uint8_t event_dscp, general_dscp;
        int efd, gfd, ttl;
-       char *name = iface->name;
 
        ttl = config_get_int(t->cfg, name, "udp_ttl");
        udp->mac.len = 0;
diff --git a/udp6.c b/udp6.c
index 74ebc7f..6e5f86f 100644
--- a/udp6.c
+++ b/udp6.c
@@ -164,9 +164,9 @@ static int udp6_open(struct transport *t, struct interface 
*iface,
                     struct fdarray *fda, enum timestamp_type ts_type)
 {
        struct udp6 *udp6 = container_of(t, struct udp6, t);
+       const char *name = interface_name(iface);
        uint8_t event_dscp, general_dscp;
        int efd, gfd, hop_limit;
-       char *name = iface->name;
 
        hop_limit = config_get_int(t->cfg, name, "udp_ttl");
        udp6->mac.len = 0;
diff --git a/uds.c b/uds.c
index 44d135f..a4c856b 100644
--- a/uds.c
+++ b/uds.c
@@ -55,11 +55,11 @@ static int uds_close(struct transport *t, struct fdarray 
*fda)
 static int uds_open(struct transport *t, struct interface *iface, struct 
fdarray *fda,
                    enum timestamp_type tt)
 {
-       int fd, err;
-       struct sockaddr_un sa;
-       struct uds *uds = container_of(t, struct uds, t);
        char *uds_path = config_get_string(t->cfg, NULL, "uds_address");
-       char *name = iface->name;
+       struct uds *uds = container_of(t, struct uds, t);
+       const char *name = interface_name(iface);
+       struct sockaddr_un sa;
+       int fd, err;
 
        fd = socket(AF_LOCAL, SOCK_DGRAM, 0);
        if (fd < 0) {
-- 
2.20.1



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

Reply via email to