Signed-off-by: Anders Selhammer <anders.selham...@est.tech> --- clock.c | 3 +++ ptp4l.c | 9 ++++++++- transport.c | 7 +++++++ 3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/clock.c b/clock.c index 56bc79b..c494200 100644 --- a/clock.c +++ b/clock.c @@ -959,6 +959,9 @@ 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) { + if (sk_reassociate_namespace(config_get_string(config, iface->name, "network_namespace"))) { + return NULL; + } rtnl_get_ts_device(iface->name, iface->ts_label); ensure_ts_label(iface); sk_get_ts_info(iface->ts_label, &iface->ts_info); diff --git a/ptp4l.c b/ptp4l.c index 3a9f084..598d71d 100644 --- a/ptp4l.c +++ b/ptp4l.c @@ -241,6 +241,10 @@ int main(int argc, char *argv[]) goto out; } + if (sk_init_initial_namespace_fd() < 0) { + goto out; + } + clock = clock_create(type, cfg, req_phc); if (!clock) { fprintf(stderr, "failed to create a clock\n"); @@ -254,8 +258,11 @@ int main(int argc, char *argv[]) break; } out: - if (clock) + if (clock) { clock_destroy(clock); + } + + sk_close_initial_namespace_fd(); config_destroy(cfg); return err; } diff --git a/transport.c b/transport.c index 9366fbf..4ae22f6 100644 --- a/transport.c +++ b/transport.c @@ -21,7 +21,10 @@ #include "transport.h" #include "transport_private.h" +#include "config.h" +#include "print.h" #include "raw.h" +#include "sk.h" #include "udp.h" #include "udp6.h" #include "uds.h" @@ -34,6 +37,10 @@ int transport_close(struct transport *t, struct fdarray *fda) int transport_open(struct transport *t, struct interface *iface, struct fdarray *fda, enum timestamp_type tt) { + if (sk_reassociate_namespace(config_get_string(t->cfg, iface->name, "network_namespace"))) { + pr_err("sk_reassociate_namespace failed"); + return -1; + } return t->open(t, iface, fda, tt); } -- 1.8.3.1 _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel