-
Notifications
You must be signed in to change notification settings - Fork 10
REST API List of OFMStateManager
API: /wm/core/controller/switches/json
Result:
[
{
dpid: "00:00:00:00:00:00:00:02",
inetAddress: "/129.254.72.127:36176",
connectedSince: 1395125577218
},
{
dpid: "00:00:00:00:00:00:00:01",
inetAddress: "/129.254.72.127:36175",
connectedSince: 1395125577159
},
{
dpid: "00:00:00:00:00:00:00:15",
inetAddress: "/129.254.72.127:36179",
connectedSince: 1395125577463
},
{
dpid: "00:00:00:00:00:00:00:03",
inetAddress: "/129.254.72.127:36177",
connectedSince: 1395125577280
},
{
dpid: "00:00:00:00:00:00:00:0b",
inetAddress: "/129.254.72.127:36178",
connectedSince: 1395125577369
}
]
API: /wm/core/switch/{switchid}/aggregate/json
Result:
{
00:00:00:00:00:00:00:15: [
{
xid: 12689,
flags: [ ],
packetCount: 693,
byteCount: 67914,
flowCount: 2,
type: "STATS_REPLY",
version: "OF_10",
statsType: "AGGREGATE"
}
]
}
API: /wm/core/switch/{switchid}/desc/json
Result:
{
00:00:00:00:00:00:00:15: [
{
datapathDescription: "None",
hardwareDescription: "Open vSwitch",
manufacturerDescription: "Nicira Networks, Inc.",
serialNumber: "None",
softwareDescription: "1.4.0+build0"
}
]
}
API: /wm/core/switch/{switchid}/port/json
Result:
{
00:00:00:00:00:00:00:15: [
{
portNumber: 3,
transmitBytes: 80719,
receiveBytes: 95675,
transmitPackets: 1025,
receivePackets: 1164,
transmitDropped: 0,
receiveDropped: 2,
transmitErrors: 0,
receiveErrors: 0,
receiveFrameErrors: 0,
receiveOverErrors: 0,
receiveCrcErros: 0,
collisions: 0
},
...
{
portNumber: 2,
transmitBytes: 188239,
receiveBytes: 185020,
transmitPackets: 2202,
receivePackets: 2127,
transmitDropped: 0,
receiveDropped: 2,
transmitErrors: 0,
receiveErrors: 0,
receiveFrameErrors: 0,
receiveOverErrors: 0,
receiveCrcErros: 0,
collisions: 0
}
]
}
API: /wm/core/switch/{switchid}/features/json
NOTE: all is possible for switchid. In that case, a list that contains all features of all switches is returned.
Result:
{
00:00:00:00:00:00:00:15: {
datapathId: "00:00:00:00:00:00:00:15",
actions: "[OUTPUT, SET_VLAN_VID, SET_VLAN_PCP, STRIP_VLAN, SET_DL_SRC, SET_DL_DST, SET_NW_SRC, SET_NW_DST,
SET_NW_TOS, SET_TP_SRC, SET_TP_DST, ENQUEUE]",
buffers: 256,
capabilities: "[FLOW_STATS, TABLE_STATS, PORT_STATS, QUEUE_STATS, ARP_MATCH_IP]",
tables: 255,
type: "FEATURES_REPLY",
version: 0,
xid: 15374,
ports: [
{
portNumber: 3,
hardwareAddress: "a6:07:e7:4d:3f:06",
name: "hp2-eth3",
config: "[]",
state: "[STP_LISTEN]",
currentFeatures: "[PF_10GB_FD, PF_COPPER]",
advertisedFeatures: "[]",
supportedFeatures: "[]",
peerFeatures: "[]"
},
...
{
portNumber: -2,
hardwareAddress: "5a:cf:af:ff:3d:40",
name: "hp2",
config: "[]",
state: "[PORT_DOWN]",
currentFeatures: "[LINK_DOWN, STP_LISTEN]",
advertisedFeatures: "[]",
supportedFeatures: "[]",
peerFeatures: "[]"
}
]
}
}
API: /wm/core/switch/{switchid}/flow/json
NOTE: This basically returns all flows of input switch. If you want to get matched flows only, use a curl data option.
Example: curl -d '{"eth_type":"806","arp_spa":"10.0.0.1","srp_tpa","10.0.0.2"}' http://{controller}:8080/wm/core/switch/{switchid}/flow/json
Result:
{
00:00:00:00:00:00:00:15: [
{
tableId: 0,
match: {
in_port: "2",
eth_src: "16:ab:82:62:a4:71",
eth_dst: "82:79:61:6f:5c:ad",
eth_type: "800",
ip_proto: "1",
ipv4_src: "10.0.0.1",
ipv4_dst: "10.0.0.2",
ip_dscp: "0"
},
durationSeconds: 1016,
durationNanoSeconds: 853000000,
priority: 10,
idleTimeout: 5,
hardTimeout: 0,
cookie: 9007199254740992,
packetCount: 1017,
byteCount: 99666,
actions: [
{
port: 1,
maxLen: 65535,
type: "OUTPUT",
version: "OF_10"
}
]
},
{
tableId: 0,
match: {
in_port: "1",
eth_src: "82:79:61:6f:5c:ad",
eth_dst: "16:ab:82:62:a4:71",
eth_type: "800",
ip_proto: "1",
ipv4_src: "10.0.0.2",
ipv4_dst: "10.0.0.1",
ip_dscp: "0"
},
durationSeconds: 1016,
durationNanoSeconds: 852000000,
priority: 10,
idleTimeout: 5,
hardTimeout: 0,
cookie: 9007199254740992,
packetCount: 1016,
byteCount: 99568,
actions: [
{
port: 2,
maxLen: 65535,
type: "OUTPUT",
version: "OF_10"
}
]
}
]
}
API: /wm/core/health/json
Result:
{
host: "localhost",
ofport: 6633,
uptime: "System is up for 0 days 0 hours 22 minutes 21 seconds",
free: "195M",
total: "244M",
healthy: true,
modules: [
"etri.sdn.controller.module.devicemanager.OFMDefaultEntityClassifier",
"etri.sdn.controller.module.firewall.OFMFirewall",
"etri.sdn.controller.module.storagemanager.OFMStorageManager",
"etri.sdn.controller.module.ui.OFMUserInterface",
"etri.sdn.controller.module.linkdiscovery.OFMLinkDiscovery",
"etri.sdn.controller.module.forwarding.Forwarding",
"etri.sdn.controller.module.netfailover.OFMNetFailover",
"etri.sdn.controller.module.statemanager.OFMStateManager",
"etri.sdn.controller.module.devicemanager.OFMDeviceManager",
"etri.sdn.controller.module.topologymanager.OFMTopologyManager"
],
moduleText: "etri.sdn.controller.module.devicemanager.OFMDefaultEntityClassifier,
etri.sdn.controller.module.firewall.OFMFirewall,
etri.sdn.controller.module.storagemanager.OFMStorageManager,
etri.sdn.controller.module.ui.OFMUserInterface,
etri.sdn.controller.module.linkdiscovery.OFMLinkDiscovery,
etri.sdn.controller.module.forwarding.Forwarding,
etri.sdn.controller.module.netfailover.OFMNetFailover,
etri.sdn.controller.module.statemanager.OFMStateManager,
etri.sdn.controller.module.devicemanager.OFMDeviceManager, etri.sdn.controller.module.topologymanager.OFMTopologyManager"
}
API: /wm/core/module/loaded/json
Result:
{
etri.sdn.controller.module.devicemanager.OFMDefaultEntityClassifier: {
loaded: true,
provides: {
etri.sdn.controller.module.devicemanager.IEntityClassifierService:
"etri.sdn.controller.module.devicemanager.OFMDefaultEntityClassifier"
},
depends: { }
},
etri.sdn.controller.module.firewall.OFMFirewall: {
loaded: true,
provides: {
etri.sdn.controller.module.firewall.IFirewallService: "etri.sdn.controller.module.firewall.OFMFirewall"
},
depends: { }
},
...
API: /wm/core/memory/json
Result:
{
total: "244M",
free: "179M"
}
OpenIRIS Development Team: contact bjlee@etri.re.kr