From c494f9903d97d45a21032979ff808e36c55b311c Mon Sep 17 00:00:00 2001 From: alshabib Date: Fri, 15 May 2015 09:51:54 -0700 Subject: [PATCH] adding rules for radius forwarding. Change-Id: Ic3aee107a1802766c5c80adaf0c58dda7fab632c --- .../cordfabric/CordFabricManager.java | 45 +++++++++++++++++-- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/apps/cordfabric/src/main/java/org/onosproject/cordfabric/CordFabricManager.java b/apps/cordfabric/src/main/java/org/onosproject/cordfabric/CordFabricManager.java index d45ae61325..79885c3c67 100644 --- a/apps/cordfabric/src/main/java/org/onosproject/cordfabric/CordFabricManager.java +++ b/apps/cordfabric/src/main/java/org/onosproject/cordfabric/CordFabricManager.java @@ -74,6 +74,8 @@ public class CordFabricManager implements FabricService { private short openflowPort = 6633; + private short radiusPort = 1812; + private DeviceId fabricDeviceId = DeviceId.deviceId("of:5e3e486e73000187"); private ConnectPoint oltConnectPoint = @@ -98,18 +100,33 @@ public class CordFabricManager implements FabricService { } private void setupDefaultFlows() { - TrafficSelector toControllerS = DefaultTrafficSelector.builder() + TrafficSelector toControllerOF = DefaultTrafficSelector.builder() .matchEthType(Ethernet.TYPE_IPV4) .matchIPProtocol(IPv4.PROTOCOL_TCP) .matchTcpDst(openflowPort) .build(); - TrafficSelector fromControllerS = DefaultTrafficSelector.builder() + TrafficSelector fromControllerOF = DefaultTrafficSelector.builder() .matchEthType(Ethernet.TYPE_IPV4) .matchIPProtocol(IPv4.PROTOCOL_TCP) .matchTcpSrc(openflowPort) .build(); + TrafficSelector toControllerRadius = DefaultTrafficSelector.builder() + .matchEthType(Ethernet.TYPE_IPV4) + .matchInPort(oltConnectPoint.port()) + .matchIPProtocol(IPv4.PROTOCOL_UDP) + .matchUdpDst(radiusPort) + .build(); + + TrafficSelector fromControllerRadius = DefaultTrafficSelector.builder() + .matchEthType(Ethernet.TYPE_IPV4) + .matchInPort(oltControllerConnectPoint.port()) + .matchIPProtocol(IPv4.PROTOCOL_UDP) + .matchUdpDst(radiusPort) + .build(); + + TrafficTreatment forwardToController = DefaultTrafficTreatment.builder() .setOutput(oltControllerConnectPoint.port()) .build(); @@ -123,7 +140,7 @@ public class CordFabricManager implements FabricService { .makePermanent() .withFlag(ForwardingObjective.Flag.VERSATILE) .withPriority(PRIORITY) - .withSelector(toControllerS) + .withSelector(toControllerOF) .withTreatment(forwardToController) .add(); @@ -132,12 +149,32 @@ public class CordFabricManager implements FabricService { .makePermanent() .withFlag(ForwardingObjective.Flag.VERSATILE) .withPriority(PRIORITY) - .withSelector(fromControllerS) + .withSelector(fromControllerOF) + .withTreatment(forwardFromController) + .add(); + + ForwardingObjective radiusToController = DefaultForwardingObjective.builder() + .fromApp(appId) + .makePermanent() + .withFlag(ForwardingObjective.Flag.VERSATILE) + .withPriority(PRIORITY) + .withSelector(toControllerRadius) + .withTreatment(forwardToController) + .add(); + + ForwardingObjective radiusFromController = DefaultForwardingObjective.builder() + .fromApp(appId) + .makePermanent() + .withFlag(ForwardingObjective.Flag.VERSATILE) + .withPriority(PRIORITY) + .withSelector(fromControllerRadius) .withTreatment(forwardFromController) .add(); flowObjectiveService.forward(fabricDeviceId, ofToController); flowObjectiveService.forward(fabricDeviceId, ofFromController); + flowObjectiveService.forward(fabricDeviceId, radiusToController); + flowObjectiveService.forward(fabricDeviceId, radiusFromController); } @Override