| package net.onrc.onos.apps.segmentrouting; |
| |
| import net.onrc.onos.core.matchaction.match.PacketMatch; |
| |
| public class SegmentRoutingPolicy { |
| |
| /** |
| * Enums for policy type |
| * |
| */ |
| public enum PolicyType{ |
| TUNNEL_FLOW, |
| LOADBALANCE, |
| AVOID, |
| DENY |
| } |
| |
| protected SegmentRoutingManager srManager; |
| protected String policyId; |
| protected PacketMatch match; |
| protected int priority; |
| protected PolicyType type; |
| |
| /** |
| * Constructor |
| * |
| * @param srm Segment Routing Manager object |
| * @param pid Policy ID |
| * @param type Policy type |
| * @param match PacketMatch for the policy |
| * @param priority Priority |
| */ |
| public SegmentRoutingPolicy(SegmentRoutingManager srm, String pid, |
| PolicyType type, PacketMatch match, int priority) { |
| this.srManager = srm; |
| this.policyId = pid; |
| this.match = match; |
| this.priority = priority; |
| this.type = type; |
| } |
| |
| /** |
| * Get the policy ID |
| * |
| * @return policy ID |
| */ |
| public String getPolicyId(){ |
| return this.policyId; |
| } |
| |
| /** |
| * Get Match |
| * |
| * @return PacketMatch object |
| */ |
| public PacketMatch getMatch(){ |
| return this.match; |
| } |
| |
| /** |
| * Get the priority of the policy |
| * |
| * @return priority |
| */ |
| public int getPriority(){ |
| return this.priority; |
| } |
| |
| /** |
| * Get the policy type |
| * |
| * @return policy type |
| */ |
| public PolicyType getType(){ |
| return this.type; |
| } |
| |
| /** |
| * Create a policy |
| * |
| * @return true if succeeds, false otherwise |
| */ |
| public boolean createPolicy() { |
| return false; |
| } |
| |
| /** |
| * Remove the policy |
| * |
| * @return true if succeeds, false otherwise |
| */ |
| public boolean removePolicy() { |
| return false; |
| } |
| |
| } |