Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-39454

[synce4l]synce4l attach wrong QL code to port after failover to CVL-SDP22

    • synce4l-1.1.0-1.el10
    • Normal
    • sst_cs_infra_services
    • ssg_core_services
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • x86_64
    • None

      What were you trying to do that didn't work?

      In following synce4l configuration, there are two external source, CVL-SDP22 and GNSS.

      After synce4l starting, DPLL can lock to GNSS, this is correct.

      After GNSS lost gps signal, synce4l can failover to CVL-SDP22.

      But it will attach GNSS input_QL 0x1 to physical port enp94s0f0np0.

      This is wrong, it should attach CVL-SDP22 input_QL 0xA to enp94s0f0np0.

      ```

      [global]

      logging_level              7

      use_syslog                 0

      verbose                    1

      message_tag                [synce4l]

       

      [<synce1>]

      network_option             2

      extended_tlv               1

      recover_time               60

      clock_id 5799633565437511660

      module_name                ice

       

      [enp94s0f0np0]

      tx_heartbeat_msec          1000

      rx_heartbeat_msec          500

      allowed_qls                0x4

      allowed_ext_qls            0x21

       

      [

      {CVL-SDP22}

      ]

      board_label                CVL-SDP22

      input_QL                   0xA

      input_ext_QL               0xFF

       

      [

      {GNSS}

      ]

      board_label                GNSS-1PPS

      input_QL                   0x1

      input_ext_QL               0x20

      ```

      Please provide the package NVR for which bug is seen:

      [root@dell-per740-91 topo]# rpm -q synce4l

      synce4l-1.0.0-2.el10.x86_64

      [root@dell-per740-91 topo]# ethtool -i enp94s0f0np0

      driver: ice

      version: 6.9.0-6.el10.x86_64

      firmware-version: 4.01 0x800135e7 1.3256.0

      expansion-rom-version:

      bus-info: 0000:5e:00.0

      supports-statistics: yes

      supports-test: yes

      supports-eeprom-access: yes

      supports-register-dump: yes

      supports-priv-flags: yes

      How reproducible:

      always

      Steps to reproduce

      1. start ptp4l on systemA as grandmaster
      2. start ptp4l on systemB as client
      3. start synce4l on systemB using my configuration file
      4. simulate {{gnss remove antenna to trigger synce4l failover to CVL-SDP22 (see gnss_remove_antenna() }} in https://gitlab.cee.redhat.com/kernel-qe/kernel/-/blob/master/networking/dpll/common/include.sh?ref_type=heads )
      5. check synce4l log, found it attach GNSS input_QL 0x1 to physical port enp94s0f0np0 wrongly.

      synce4l[2736.125]: [synce4l] EEC_LOCKED/EEC_LOCKED_HO_ACQ on CVL-SDP22 of synce1

      synce4l[2736.125]: [synce4l] act on EEC_LOCKED/EEC_LOCKED_HO_ACQ for enp94s0f0np0

      synce4l[2736.761]: [synce4l] tx_rebuild_tlv: attached new TLV, QL=0x1 on enp94s0f0np0

      synce4l[2736.761]: [synce4l] tx_rebuild_tlv: attached new extended TLV, EXT_QL=0x20 on enp94s0f0np0

      Expected results

      attach QL 0xA to enp94s0f0np0 after failover

      Actual results

      attach QL 0x1 to enp94s0f0np0 after failover

            rhn-support-mlichvar Miroslav Lichvar
            rhn-support-liali Liang Li
            Miroslav Lichvar Miroslav Lichvar
            Liang Li Liang Li
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: