
package org.onosproject.mapping.instructions;

/**
 * Presentation of a single mapping instruction.
 */
public interface MappingInstruction {

    /**
     * Represents the type of mapping instruction.
     */
    enum Type {

        /**
         * Signifies that the traffic should be uni-casted with TE parameters.
         */
        UNICAST,

        /**
         * Signifies that the traffic should be multi-casted with TE parameters.
         */
        MULTICAST,

        /**
         * Signifies that an extension instruction will be used.
         */
        EXTENSION
    }

    /**
     * Returns the type of mapping instruction.
     *
     * @return type of mapping instruction
     */
    Type type();
}
