adding rules for radius forwarding.
Change-Id: Ic3aee107a1802766c5c80adaf0c58dda7fab632c
Showing
1 changed file
with
41 additions
and
4 deletions
... | @@ -74,6 +74,8 @@ public class CordFabricManager implements FabricService { | ... | @@ -74,6 +74,8 @@ public class CordFabricManager implements FabricService { |
74 | 74 | ||
75 | private short openflowPort = 6633; | 75 | private short openflowPort = 6633; |
76 | 76 | ||
77 | + private short radiusPort = 1812; | ||
78 | + | ||
77 | private DeviceId fabricDeviceId = DeviceId.deviceId("of:5e3e486e73000187"); | 79 | private DeviceId fabricDeviceId = DeviceId.deviceId("of:5e3e486e73000187"); |
78 | 80 | ||
79 | private ConnectPoint oltConnectPoint = | 81 | private ConnectPoint oltConnectPoint = |
... | @@ -98,18 +100,33 @@ public class CordFabricManager implements FabricService { | ... | @@ -98,18 +100,33 @@ public class CordFabricManager implements FabricService { |
98 | } | 100 | } |
99 | 101 | ||
100 | private void setupDefaultFlows() { | 102 | private void setupDefaultFlows() { |
101 | - TrafficSelector toControllerS = DefaultTrafficSelector.builder() | 103 | + TrafficSelector toControllerOF = DefaultTrafficSelector.builder() |
102 | .matchEthType(Ethernet.TYPE_IPV4) | 104 | .matchEthType(Ethernet.TYPE_IPV4) |
103 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 105 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
104 | .matchTcpDst(openflowPort) | 106 | .matchTcpDst(openflowPort) |
105 | .build(); | 107 | .build(); |
106 | 108 | ||
107 | - TrafficSelector fromControllerS = DefaultTrafficSelector.builder() | 109 | + TrafficSelector fromControllerOF = DefaultTrafficSelector.builder() |
108 | .matchEthType(Ethernet.TYPE_IPV4) | 110 | .matchEthType(Ethernet.TYPE_IPV4) |
109 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 111 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
110 | .matchTcpSrc(openflowPort) | 112 | .matchTcpSrc(openflowPort) |
111 | .build(); | 113 | .build(); |
112 | 114 | ||
115 | + TrafficSelector toControllerRadius = DefaultTrafficSelector.builder() | ||
116 | + .matchEthType(Ethernet.TYPE_IPV4) | ||
117 | + .matchInPort(oltConnectPoint.port()) | ||
118 | + .matchIPProtocol(IPv4.PROTOCOL_UDP) | ||
119 | + .matchUdpDst(radiusPort) | ||
120 | + .build(); | ||
121 | + | ||
122 | + TrafficSelector fromControllerRadius = DefaultTrafficSelector.builder() | ||
123 | + .matchEthType(Ethernet.TYPE_IPV4) | ||
124 | + .matchInPort(oltControllerConnectPoint.port()) | ||
125 | + .matchIPProtocol(IPv4.PROTOCOL_UDP) | ||
126 | + .matchUdpDst(radiusPort) | ||
127 | + .build(); | ||
128 | + | ||
129 | + | ||
113 | TrafficTreatment forwardToController = DefaultTrafficTreatment.builder() | 130 | TrafficTreatment forwardToController = DefaultTrafficTreatment.builder() |
114 | .setOutput(oltControllerConnectPoint.port()) | 131 | .setOutput(oltControllerConnectPoint.port()) |
115 | .build(); | 132 | .build(); |
... | @@ -123,7 +140,7 @@ public class CordFabricManager implements FabricService { | ... | @@ -123,7 +140,7 @@ public class CordFabricManager implements FabricService { |
123 | .makePermanent() | 140 | .makePermanent() |
124 | .withFlag(ForwardingObjective.Flag.VERSATILE) | 141 | .withFlag(ForwardingObjective.Flag.VERSATILE) |
125 | .withPriority(PRIORITY) | 142 | .withPriority(PRIORITY) |
126 | - .withSelector(toControllerS) | 143 | + .withSelector(toControllerOF) |
127 | .withTreatment(forwardToController) | 144 | .withTreatment(forwardToController) |
128 | .add(); | 145 | .add(); |
129 | 146 | ||
... | @@ -132,12 +149,32 @@ public class CordFabricManager implements FabricService { | ... | @@ -132,12 +149,32 @@ public class CordFabricManager implements FabricService { |
132 | .makePermanent() | 149 | .makePermanent() |
133 | .withFlag(ForwardingObjective.Flag.VERSATILE) | 150 | .withFlag(ForwardingObjective.Flag.VERSATILE) |
134 | .withPriority(PRIORITY) | 151 | .withPriority(PRIORITY) |
135 | - .withSelector(fromControllerS) | 152 | + .withSelector(fromControllerOF) |
153 | + .withTreatment(forwardFromController) | ||
154 | + .add(); | ||
155 | + | ||
156 | + ForwardingObjective radiusToController = DefaultForwardingObjective.builder() | ||
157 | + .fromApp(appId) | ||
158 | + .makePermanent() | ||
159 | + .withFlag(ForwardingObjective.Flag.VERSATILE) | ||
160 | + .withPriority(PRIORITY) | ||
161 | + .withSelector(toControllerRadius) | ||
162 | + .withTreatment(forwardToController) | ||
163 | + .add(); | ||
164 | + | ||
165 | + ForwardingObjective radiusFromController = DefaultForwardingObjective.builder() | ||
166 | + .fromApp(appId) | ||
167 | + .makePermanent() | ||
168 | + .withFlag(ForwardingObjective.Flag.VERSATILE) | ||
169 | + .withPriority(PRIORITY) | ||
170 | + .withSelector(fromControllerRadius) | ||
136 | .withTreatment(forwardFromController) | 171 | .withTreatment(forwardFromController) |
137 | .add(); | 172 | .add(); |
138 | 173 | ||
139 | flowObjectiveService.forward(fabricDeviceId, ofToController); | 174 | flowObjectiveService.forward(fabricDeviceId, ofToController); |
140 | flowObjectiveService.forward(fabricDeviceId, ofFromController); | 175 | flowObjectiveService.forward(fabricDeviceId, ofFromController); |
176 | + flowObjectiveService.forward(fabricDeviceId, radiusToController); | ||
177 | + flowObjectiveService.forward(fabricDeviceId, radiusFromController); | ||
141 | } | 178 | } |
142 | 179 | ||
143 | @Override | 180 | @Override | ... | ... |
-
Please register or login to post a comment