mirror of
https://github.com/opennetworkinglab/onos.git
synced 2026-05-05 04:06:49 +02:00
Adding get flow by table REST api, fixing exceptions in dhcp
Change-Id: Idc07992a91c79f594c998b2d78b980036077c0ad
This commit is contained in:
parent
04f9ffe7bd
commit
2c2c6cc3e0
@ -109,7 +109,7 @@ public class DhcpRelayCommand extends AbstractShellCommand {
|
||||
boolean toResetFlag;
|
||||
|
||||
if (counter != null) {
|
||||
if (counter.equals("counter") || reset.equals("[counter]")) {
|
||||
if (counter.equals("counter") || counter.equals("[counter]")) {
|
||||
print(CONUTER_HEADER);
|
||||
} else {
|
||||
print("first parameter is [counter]");
|
||||
|
||||
@ -76,10 +76,18 @@ public class DhcpServerConfig {
|
||||
if (node.isTextual()) {
|
||||
IpAddress ip = IpAddress.valueOf(node.asText());
|
||||
if (ip.isIp4() && serverIp4Addr == null) {
|
||||
serverIp4Addr = ip.getIp4Address();
|
||||
try {
|
||||
serverIp4Addr = ip.getIp4Address();
|
||||
} catch (IllegalArgumentException iae) {
|
||||
log.warn("Invalid IPv4 address {} found in DHCP server config. Ignored.", ip.toString());
|
||||
}
|
||||
}
|
||||
if (ip.isIp6() && serverIp6Addr == null) {
|
||||
try {
|
||||
serverIp6Addr = ip.getIp6Address();
|
||||
} catch (IllegalArgumentException iae) {
|
||||
log.warn("Invalid IPv6 address {} found in DHCP server config. Ignored.", ip.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -90,10 +98,18 @@ public class DhcpServerConfig {
|
||||
if (node.isTextual()) {
|
||||
IpAddress ip = IpAddress.valueOf(node.asText());
|
||||
if (ip.isIp4() && gatewayIp4Addr == null) {
|
||||
gatewayIp4Addr = ip.getIp4Address();
|
||||
try {
|
||||
gatewayIp4Addr = ip.getIp4Address();
|
||||
} catch (IllegalArgumentException iae) {
|
||||
log.warn("Invalid IPv4 address {} found in DHCP gateway config. Ignored.", ip.toString());
|
||||
}
|
||||
}
|
||||
if (ip.isIp6() && gatewayIp6Addr == null) {
|
||||
gatewayIp6Addr = ip.getIp6Address();
|
||||
try {
|
||||
gatewayIp6Addr = ip.getIp6Address();
|
||||
} catch (IllegalArgumentException iae) {
|
||||
log.warn("Invalid IPv6 address {} found in DHCP gateway config. Ignored.", ip.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@ -29,6 +29,7 @@ import org.onosproject.net.device.DeviceService;
|
||||
import org.onosproject.net.flow.FlowEntry;
|
||||
import org.onosproject.net.flow.FlowRule;
|
||||
import org.onosproject.net.flow.FlowRuleService;
|
||||
import org.onosproject.net.flow.IndexTableId;
|
||||
import org.onosproject.rest.AbstractWebResource;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
@ -124,6 +125,31 @@ public class FlowsWebResource extends AbstractWebResource {
|
||||
return ok(root).build();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all flow entries for a table. Returns array of all flow rules for a table.
|
||||
* @param tableId table identifier
|
||||
* @return 200 OK with a collection of flows
|
||||
* @onos.rsModel FlowEntries
|
||||
*/
|
||||
@GET
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Path("table/{tableId}")
|
||||
public Response getTableFlows(@PathParam("tableId") int tableId) {
|
||||
final Iterable<Device> devices = get(DeviceService.class).getDevices();
|
||||
for (final Device device : devices) {
|
||||
final Iterable<FlowEntry> flowEntries = service.getFlowEntries(device.id());
|
||||
if (flowEntries != null) {
|
||||
for (final FlowEntry entry : flowEntries) {
|
||||
if (((IndexTableId) entry.table()).id() == tableId) {
|
||||
flowsNode.add(codec(FlowEntry.class).encode(entry, this));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ok(root).build();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates new flow rules. Creates and installs a new flow rules.<br>
|
||||
* Flow rule criteria and instruction description:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user