| package net.onrc.onos.apps.segmentrouting; |
| |
| import java.util.List; |
| |
| import net.floodlightcontroller.core.module.IFloodlightService; |
| import net.floodlightcontroller.util.MACAddress; |
| import net.onrc.onos.core.util.Dpid; |
| import net.onrc.onos.core.util.IPv4Net; |
| |
| /** |
| * The API exported by the main SDN-IP class. This is the interface between the |
| * REST handlers and the SDN-IP module. |
| */ |
| public interface ISegmentRoutingService extends IFloodlightService { |
| |
| /** |
| * Create a tunnel for policy routing. |
| * |
| * @param tunnelId ID for the tunnel |
| * @param Ids Node IDs for the tunnel |
| * |
| * @return "true/false" depending tunnel creation status |
| */ |
| public boolean createTunnel(String tunnelId, List<Dpid> Ids); |
| |
| /** |
| * Remove a Segment Routing tunnel given a tunnel Id. |
| * |
| * @param tunnelId ID for the tunnel |
| * |
| * @return "true/false" depending tunnel deletion status |
| */ |
| public boolean removeTunnel(String tunnelId); |
| |
| /** |
| * Create a policy for policy based segment routing |
| * |
| * @param pid Unique Policy Identifier |
| * @param srcIP Source IP address in CIDR format |
| * @param dstIP Destination IP address in CIDR format |
| * @param ipProto IP protocol type |
| * @param srcPort Source L4 port |
| * @param dstPort Destination L4 port |
| * @param priority Priority of the policy |
| * @param tid SR Tunnel Id to be associated with this policy |
| * |
| * @return "true/false" depending tunnel creation status |
| */ |
| public boolean createPolicy(String pid, MACAddress srcMac, MACAddress dstMac, |
| Short etherType, IPv4Net srcIp, IPv4Net dstIp, Byte ipProto, |
| Short srcPort, Short dstPort, int priority, String tid); |
| |
| /** |
| * Remove a policy given policy Id |
| * |
| * @param pid Unique Policy Identifier |
| * |
| * @return "true/false" depending tunnel deletion status |
| */ |
| public boolean removePolicy(String pid); |
| } |