NVIDIA
NVIDIA
DOCA Firefly
Container
NVIDIA
NVIDIA
DOCA Firefly

The DOCA Firefly service provides time synchronization services leveraging the hardware acceleration of the NVIDIA DPUs.

  • Introduction

    The DOCA Firefly service enables time syncing services based on PTP4L. It can also enable PPS if the used DPU supports this capability.

    PTP

    The Precision Time Protocol (PTP) is a protocol used to synchronize clocks in a network. When used in conjunction with hardware support, PTP is capable of sub-microsecond accuracy, which is far better than is normally obtainable with NTP (Network Time Protocol). PTP support is divided between the kernel and user space. The ptp4l program implements the PTP boundary clock and ordinary clock. With hardware time stamping, it is used to synchronize the PTP hardware clock to the master clock.

    Installation and Getting Started

    All preparation steps are listed under DOCA's Container Deployment User Guide.

    Note: The DOCA Service container is configured for K8S-based deployment, hence the use of the docker pull command is discouraged.

    Preparation steps for the DOCA Service

    As explained in the service's documentation there are some resource allocation steps needed before the service can be executed. It is recommended to go over the service's user guide and follow the instructions that match the DPU on which the service will be deployed.

    Adjusting the .yaml configuration

    The .yaml configuration for our container is doca_firefly.yaml.

    Note: The file is stored with the rest of the .yaml configurations as were pulled from NGC in the previous steps (See "Installation and Getting Started") or it is found in the resources page under configs.

    The main environment variables that should be adjusted according to the setup are the following:

    • PROFILE - Preferred profile according to use case, options are default and media. See table in next section for details on each profile.
    • PTP_INTERFACE - The NIC netdev interface used for ptp4l. Make sure that the provided interface provided is "up" and that it has a configured ip address.
    • PTP_CONFIG_FILE - Each profile has a default config file that can be used. However, the user can set a custom config file by providing it in the /etc/firefly directory.

    Firefly profiles

    DefaultMediaTelco (L2)Custom
    PurposeAny user that requires PTPMedia productionsTelco networksCustom configuration
    PTPEnabledEnabledEnabledNo default
    PTP profilePTP default profileSMPTE 2059-2G.8275.1Set by the user
    PTP Client / Server**BothClient OnlyBothSet by the user
    PHC2SYSEnabledEnabledEnabledNo default
    PPS (In/Out)EnabledEnabledEnabledNo default
    PTP MonitorDisabledDisabledEnabledNo default
    SyncEDisabledDisabledEnabledNo default
    ServoDisabledDisabledDisabledNo default

    Note: "client only" is relevant to one PTP interface only. If more than one PTP interface is provided in the YAML file, both modes are enabled.

    Spawning the container

    Simply copy the doca_firefly.yaml file to the /etc/kubelet.d directory. Kubelet will automatically pull the container image from NGC, and spawn a pod executing the container. The DOCA Firefly service will start executing right away.

    # View currently active pods, and their IDs (it might take up to 20 seconds for the pod to start)
    crictl pods
    
    # View currently active containers, and their IDs
    crictl ps
    
    # Examine logs of a given container
    crictl logs 
    
    # Examine kubelet logs, in case something didn't work as expected
    journalctl -u kubelet
    

    Please refer to the documentation for more information.

    Documentation

    The DOCA Firefly Service Guide is available here.

    License & EULA

    This DOCA Microservice is licensed under the NVIDIA Networking Product Agreement. By pulling and using this product, you accept the terms and conditions of this license.

    Technical Support

    Use the NVIDIA Developers forum for questions regarding this Software.

    Enterprise Support

    Get access to knowledge base articles and support cases or submit a ticket.

    Publisher
    NVIDIA
    NVIDIA
    Latest Tag1.7.6-doca3.4.0
    UpdatedJune 16, 2026 UTC
    Compressed Size254.53 MB
    Multinode SupportNo
    Multi-Arch SupportYes