diff --git a/nqptp-shm-structures.h b/nqptp-shm-structures.h index 82837778..0791197d 100644 --- a/nqptp-shm-structures.h +++ b/nqptp-shm-structures.h @@ -1,6 +1,6 @@ /* * This file is part of the nqptp distribution (https://github.com/mikebrady/nqptp). - * Copyright (c) 2021 Mike Brady. + * Copyright (c) 2021--2022 Mike Brady. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,11 +23,24 @@ #define NQPTP_SHM_STRUCTURES_VERSION 7 #define NQPTP_CONTROL_PORT 9000 -// The control port will accept a UDP packet with the first letter being: -// "T", followed by the name of the shared memory interface, followed by -// a space and then a space-delimited list of ip numbers, either IPv4 or IPv6 -// the whole not to exceed 4096 characters in total -// The IPs will become the new list of timing peers, replacing any previous +// The control port expects a UDP packet with the first space-delimited string +// being the name of the shared memory interface (SMI) to be used. +// This allows client applications to have a dedicated named SMI interface with +// a timing peer list independent of other clients. +// The name given must be a valid SMI name and must contain no spaces. +// If the named SMI interface doesn't exist it will be created by NQPTP. +// The SMI name should be delimited by a space and followed by a command letter. +// At present, the only command is "T", which must followed by nothing or by +// a space and a space-delimited list of IPv4 or IPv6 numbers, +// the whole not to exceed 4096 characters in total. +// The IPs, if provided, will become the new list of timing peers, replacing any +// previous list. If the master clock of the new list is the same as that of the old list, +// the master clock is retained without resynchronisation; this means that non-master +// devices can be added and removed without disturbing the SMI's existing master clock. +// If no timing list is provided, the existing timing list is deleted. +// (In future version of NQPTP the SMI interface may also be deleted at this point.) +// SMI interfaces are not currently deleted or garbage collected. + #include #include