Class AbstractP4RuntimePipelineProgrammable

  • All Implemented Interfaces:
    org.onosproject.net.behaviour.PiPipelineProgrammable, org.onosproject.net.driver.Behaviour, org.onosproject.net.driver.HandlerBehaviour

    public abstract class AbstractP4RuntimePipelineProgrammable
    extends AbstractP4RuntimeHandlerBehaviour
    implements org.onosproject.net.behaviour.PiPipelineProgrammable
    Abstract implementation of the PiPipelineProgrammable behaviours for a P4Runtime device.
    • Field Detail

      • log

        protected final org.slf4j.Logger log
    • Constructor Detail

      • AbstractP4RuntimePipelineProgrammable

        public AbstractP4RuntimePipelineProgrammable()
    • Method Detail

      • createDeviceDataBuffer

        public abstract ByteBuffer createDeviceDataBuffer​(org.onosproject.net.pi.model.PiPipeconf pipeconf)
        Returns a byte buffer representing the target-specific device data to be used in the SetPipelineConfig message.
        Parameters:
        pipeconf - pipeconf
        Returns:
        byte buffer
      • setPipeconf

        public CompletableFuture<Boolean> setPipeconf​(org.onosproject.net.pi.model.PiPipeconf pipeconf)
        Specified by:
        setPipeconf in interface org.onosproject.net.behaviour.PiPipelineProgrammable
      • isPipeconfSet

        public CompletableFuture<Boolean> isPipeconfSet​(org.onosproject.net.pi.model.PiPipeconf pipeconf)
        Specified by:
        isPipeconfSet in interface org.onosproject.net.behaviour.PiPipelineProgrammable
      • getDefaultPipeconf

        public abstract Optional<org.onosproject.net.pi.model.PiPipeconf> getDefaultPipeconf()
        Specified by:
        getDefaultPipeconf in interface org.onosproject.net.behaviour.PiPipelineProgrammable