Issues with bonding interfaces

Latest response

Hi Team,

I am facing a weird issue in which i am getting the below error while booting the server and the due to this (i suspect) the subsequent reliant service (ptp) is unable to start.

Error:

Jun  2 02:52:35 hostname kernel: bnx2x 0000:37:00.0 eno1: using MSI-X  IRQs: sp 79  fp[0] 81 ... fp[7] 88
Jun  2 02:52:35 hostname NetworkManager[5236]: <info>  [1591066355.1821] device (bond0): enslaved bond slave eno1
Jun  2 02:52:35 hostname NetworkManager[5236]: <info>  [1591066355.1821] device (eno1): Activation: connection 'System eno1' enslaved, continuing activation
Jun  2 02:52:35 hostname NetworkManager[5236]: <info>  [1591066355.1824] device (eno1): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Jun  2 02:52:35 hostname kernel: bond0: Enslaving eno1 as a backup interface with a down link
Jun  2 02:52:35 hostname NetworkManager[5236]: <info>  [1591066355.1829] device (eno2): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Jun  2 02:52:36 hostname kernel: bnx2x 0000:37:00.1 eno2: using MSI-X  IRQs: sp 90  fp[0] 92 ... fp[7] 99
Jun  2 02:52:36 hostname kernel: bond0: Enslaving eno2 as a backup interface with a down link
Jun  2 02:52:36 hostname NetworkManager[5236]: <info>  [1591066356.2746] device (bond0): enslaved bond slave eno2
Jun  2 02:52:36 hostname NetworkManager[5236]: <info>  [1591066356.2746] device (eno2): Activation: connection 'System eno2' enslaved, continuing activation

And due to that the ptp service is unable to start:

Jun  2 02:52:36 hostname systemd: Started Precision Time Protocol (PTP) service.
Jun  2 02:52:36 hostname systemd: Started Synchronize system clock or PTP hardware clock (PHC).
Jun  2 02:52:36 hostname systemd: Starting System Logging Service...
Jun  2 02:52:36 hostname ptp4l: [13.250] interface 'bond0' does not support requested timestamping mode
Jun  2 02:52:36 hostname ptp4l: failed to create a clock

Has someone faced this issue earlier?

Below are the configuration details:

DEVICE=bond0
TYPE=Bond
ONBOOT=yes
BOOTPROTO=static
IPADDR=XXXXXX
NETMASK=XXXXXXXX
GATEWAY=XXXXXXXX
USERCTL=no
NM_CONTROLLED=yes
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=active"

[root@ /etc/sysconfig/network-scripts] # cat ifcfg-eno1
DEVICE=eno1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED=yes

[root@/etc/sysconfig/network-scripts] # cat ifcfg-eno2
DEVICE=eno2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED=yes

Responses

PTP on bond is supported from RHEL 7.5 onwards. If you're using an earlier release, you need to configure PTP on the slaves and use fail_over_mac=1 (which you already are). See:

Hi Jamie,

I am running Rhel7.7 on this box.

Note that the bond passes thru support from the slaves. Both slaves have to support the same type of timestamping, and you have to configure PTP to use that supported timestamping.

From the "interface 'bond0' does not support requested timestamping mode" message, it's possible PTP is not configured to use the mode which the slaves support.

If both slaves have different support (i.e. one only supports software, one only supports hardware) then as I understand you should not use PTP on that bond.

Hi Jamie,

The interesting part here is that if i start the ptp services manually after the server is booted then it start perfectly and the ptp works. Its just that during the reboot it is having issues.