package net.onrc.onos.api.flow;

package net.onrc.onos.api.Description;

/**
 * Information about a flow rule.
 */
public interface FlowDescription extends Description {

    // Match and action, possibly reason for flow rule, unless reason is too OF-specific.

}
