Skip to content

Instantly share code, notes, and snippets.

@williamcaban
Last active February 7, 2022 00:23
OCP 4.6 PTP Configs for FlexRAN
---
# oc edit ptpoperatorconfigs.ptp.openshift.io/default -n openshift-ptp
# spec:
# daemonNodeSelector:
# node-role.kubernetes.io/worker-du: ""
apiVersion: ptp.openshift.io/v1
kind: PtpConfig
metadata:
name: slave
namespace: openshift-ptp
spec:
profile:
- name: "slave"
interface: "<Interface-Name>"
ptp4lOpts: "-2 -s --summary_interval -4"
phc2sysOpts: "-a -r -n 24"
ptp4lConf: |
[global]
twoStepFlag 1
slaveOnly 0
priority1 128
priority2 90
domainNumber 24
#utc_offset 37
clockClass 248
clockAccuracy 0xFE
offsetScaledLogVariance 0xFFFF
free_running 0
freq_est_interval 1
dscp_event 0
dscp_general 0
dataset_comparison ieee1588
G.8275.defaultDS.localPriority 200
#
# Port Data Set
#
logAnnounceInterval -3
logSyncInterval -4
logMinDelayReqInterval -4
logMinPdelayReqInterval -4
announceReceiptTimeout 3
syncReceiptTimeout 0
delayAsymmetry 0
fault_reset_interval 4
neighborPropDelayThresh 20000000
masterOnly 0
G.8275.portDS.localPriority 200
#
# Run time options
#
assume_two_step 0
logging_level 6
path_trace_enabled 0
follow_up_info 0
hybrid_e2e 0
inhibit_multicast_service 0
net_sync_monitor 0
tc_spanning_tree 0
tx_timestamp_timeout 1
unicast_listen 0
unicast_master_table 0
unicast_req_duration 3600
use_syslog 1
verbose 0
summary_interval -4
kernel_leap 1
check_fup_sync 0
#
# Servo Options
#
pi_proportional_const 0.0
pi_integral_const 0.0
pi_proportional_scale 0.0
pi_proportional_exponent -0.3
pi_proportional_norm_max 0.7
pi_integral_scale 0.0
pi_integral_exponent 0.4
pi_integral_norm_max 0.3
step_threshold 0.0
first_step_threshold 0.00002
max_frequency 900000000
clock_servo pi
sanity_freq_limit 200000000
ntpshm_segment 0
#
# Transport options
#
transportSpecific 0x0
ptp_dst_mac 01:1B:19:00:00:00
p2p_dst_mac 01:80:C2:00:00:0E
udp_ttl 1
udp6_scope 0x0E
uds_address /var/run/ptp4l
#
# Default interface options
#
clock_type OC
#network_transport UDPv4
network_transport L2
delay_mechanism E2E
time_stamping hardware
tsproc_mode filter
delay_filter moving_median
delay_filter_length 10
egressLatency 0
ingressLatency 0
boundary_clock_jbod 0
#
# Clock description
#
productDescription ;;
revisionData ;;
manufacturerIdentity 00:00:00
userDescription ;
timeSource 0xA0
recommend:
- profile: "slave"
priority: 1
match:
- nodeLabel: "<Node-Label>"
apiVersion: ptp.openshift.io/v1
kind: PtpConfig
metadata:
name: slave
namespace: openshift-ptp
spec:
profile:
- name: "slave"
interface: "ens1f0"
ptp4lOpts: "-2 -s --summary_interval -4"
phc2sysOpts: "-a -r -n 24"
ptp4lConf: |
[global]
#
# Default Data Set
#
slaveOnly 1
priority1 128
domainNumber 24
boundary_clock_jbod 1
logAnnounceInterval -3
delay_mechanism E2E
network_transport L2
tx_timestamp_timeout 20
dataset_comparison G.8275.x
time_stamping hardware
clockClass 255
logSyncInterval -4
logMinDelayReqInterval -4
summary_interval 6
priority2 128
clock_servo linreg
recommend:
- profile: "slave"
priority: 1
match:
- nodeLabel: "ran.example.com/du"
kind: PtpConfig
metadata:
name: slave
namespace: openshift-ptp
spec:
profile:
- name: "slave-flexran"
interface: "ens2f0"
ptp4lOpts: ""
phc2sysOpts: "-a -r -n 24"
ptp4lConf: |
[global]
#
# Default Data Set
#
slaveOnly 1
priority1 128
domainNumber 24
boundary_clock_jbod 1
logAnnounceInterval -3
delay_mechanism E2E
network_transport L2
tx_timestamp_timeout 20
dataset_comparison G.8275.x
time_stamping hardware
clockClass 255
logSyncInterval -4
logMinDelayReqInterval -4
summary_interval 1
priority2 128
clock_servo linreg
recommend:
- profile: "slave-flexran"
priority: 1
match:
- nodeLabel: "ran.example.com/du"
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
labels:
# Pay attention to the node label, create MCP accordingly
machineconfiguration.openshift.io/role: ran-du
name: ran-du-disable-chronyd
spec:
config:
ignition:
version: 3.1.0
systemd:
units:
- contents: |
[Unit]
Description=NTP client/server
Documentation=man:chronyd(8) man:chrony.conf(5)
After=ntpdate.service sntp.service ntpd.service
Conflicts=ntpd.service systemd-timesyncd.service
ConditionCapability=CAP_SYS_TIME
[Service]
Type=forking
PIDFile=/run/chrony/chronyd.pid
EnvironmentFile=-/etc/sysconfig/chronyd
ExecStart=/usr/sbin/chronyd $OPTIONS
ExecStartPost=/usr/libexec/chrony-helper update-daemon
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full
[Install]
WantedBy=multi-user.target
enabled: false
name: "chronyd.service"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment