integ/centos_pkg_dirs
Cole Walker 1f4538df28 Add collection of linuxptp patches
This commit applies several patches to the linuxptp srpm in order to
address an issue syncing multiple interfaces on a ptp node. The srpm
used is linuxptp-2.0-2.el7.src.rpm.

Patch descriptions:
base/linuxptp/centos/meta_patches:
0001 updates the srpm spec file to apply the patches during build
0002 updates the package versioning to comply with the STX format

base/linuxptp/centos/patches:
Patches 0001-0005 combine to correct a fault present when a ptp node is
configured with multiple clocks in jbod mode which results in the client
port getting stuck in the UNCALIBRATED state and unable to lock to the
Grandmaster clock. The root of the issue lies in the sanity check where
checking timestamps recieved on multiple ports will result in the
sanity_freq_limit threshold constantly being reached and the servo for
that port is repeatedly reset, preventing it from ever syncing.

The changes in patches 0001-0005 have been written by Miroslav Lichvar
on the linuxptp-devel mailing list. They are currently under review and
testing by the upstream linuxptp maintainers prior to merging. I was
able to apply them as-is to linuxptp v2.0. I have chosen to keep them as
individual patches, as that is how they will appear upstream.

Patch 0006 is my work and serves to address an issue in phc2sys
where the local ptp clocks are not synced together properly if the local
time is far behind the reference time. This issue ocurrs when phc2sys
starts and there is no client port currently synced to a grandmaster. In
the original behaviour, phc2sys selects the first configured port and
proceeds to sync all of the other clocks to it by performing the
first_step operation.

Then ptp4l will evenually lock to the Grandmaster clock, and that
single port will have its time updated to the correct value, but
phc2sys has already performed the first_step operation and will not
step the other clocks again.

My solution is to provide an option to disable the selection of a
default port by phc2sys. When no default port is selected, phc2sys waits
for ptp4l to sync to the Grandmaster before bringing the other clocks
into sync with the first_step operation.

This option is configured via the default_sync
parameter or the -D flag. The default_sync parameter is set to on by
default to in order to keep the behaviour the same as upstream linuxptp
but can be configured by users via
system service-parameter-add ptp global default_sync=0

Closes-Bug: 1930607

Signed-off-by: Cole Walker <cole.walker@windriver.com>
Change-Id: I2f660787c6753dcd4fc4c51da7b08ab9e6f197f4
2021-06-28 14:15:22 -04:00

91 lines
2.2 KiB
Plaintext

base/initscripts
base/setup
base/dhcp
base/linuxptp
base/openssh
config/facter
virt/qemu
python/python-setuptools
virt/libvirt
virt/libvirt-python
base/lighttpd
networking/python-ryu
python/python-voluptuous
networking/lldpd
logging/logrotate
security/shim-unsigned
security/shim-signed
base/sudo
virt/cloud-init
base/watchdog
ldap/openldap
networking/openvswitch
base/libevent
security/tss2
security/tpm2-tools
security/libtpms
security/spectre-meltdown-checker
config/puppet-4.8.2
config/puppet-modules/puppet-boolean-1.0.2
config/puppet-modules/puppet-create_resources
config/puppet-modules/puppet-dnsmasq
config/puppet-modules/puppet-drbd-0.3.1
config/puppet-modules/puppet-filemapper
config/puppet-modules/puppet-haproxy-1.5.0
config/puppet-modules/puppet-ldap
config/puppet-modules/puppet-lvm
config/puppet-modules/puppet-network
config/puppet-modules/puppet-nslcd
config/puppet-modules/puppet-postgresql-4.8.0
config/puppet-modules/puppet-puppi
config/puppet-modules/puppet-rabbitmq-5.5.0
config/puppet-modules/puppet-staging
config/puppet-modules/puppet-stdlib-4.12.0
config/puppet-modules/openstack/puppet-ceph-2.2.0
config/puppet-modules/openstack/puppet-horizon-9.5.0
config/puppet-modules/openstack/puppet-keystone-11.3.0
config/puppet-modules/openstack/puppet-openstacklib-11.3.0
config/puppet-modules/openstack/puppet-oslo-11.3.0
base/systemd
storage-drivers/python-3parclient
storage-drivers/python-lefthandclient
storage-drivers/trident-installer
security/tboot
docker/python-docker
kubernetes/containerd
kubernetes/kubernetes
kubernetes/docker-distribution
kubernetes/etcd
kubernetes/helm
kubernetes/chartmuseum
kubernetes/armada-helm-toolkit
kubernetes/armada
kubernetes/k8s-pod-recovery
kubernetes/plugins/isolcpus-device-plugin
grub/grubby
base/dpkg
base/cluster-resource-agents
base/libfdt
base/haproxy
base/ntp
ldap/ldapscripts
networking/net-tools
filesystem/drbd/drbd-tools
database/mariadb
database/python-psycopg2
base/dnsmasq
filesystem/parted
security/python-keyring
grub/grub2
ceph/ceph
bmc/Redfishtool
virt/kvm-timer-advance
requests-toolbelt
python/python-mechanize
python/python-html5lib
python/python-webencodings
python/python-daemon
base/inih
base/pf-bb-config
gpu/gpu-operator