FLOW
The below API's are used to configure flows with rules. It creates a traffic stream between the network and tool port, the traffic can be managed by configuring rule(s) to permit/deny matching traffic
Configure Flow
Request URL
/api/config/flows
Description
Use this API to configure flow parameters for the open packet broker
Method
POST
Request Body
{
"alias" : "flow1",
"status" : "enable | disable",
"comment" : "test string",
"from" : ["Ethernet45_1"],
"to" : ["Ethernet46_1"],
"push-vlan" : "vlan-id",
"pop-vlan" : "enable | disable"
}
Response Body
NA
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request is processed successfully
Get Flow Information
Request URL
/api/info/flows
Description
Use this API to get the configured flow parameters
Method
GET
Request Body
NA
Response Body
{
"flow1": {
"name": "flow1",
"status": "enable",
"config_mgr": "Rest-API",
"to": [ "Ethernet46_1" ],
"comment": "vlan traffic test",
"from": [ "Ethernet45_1" ]
}
}
Status code
SERVER_ERROR(500) if there is any error with the server
Response status in the pretty output format shown above
Configure Flow Rule
Request URL
/api/config/flow/<flow-name>/rules
Description
Use this API to configure the OPB rule specific parameters
Method
POST
Request Body
{
"rule_id" : "10",
"action" : "permit",
"comment" : "test",
"vlan" : "100",
"ethertype" : "0x8100",
"src_ip" : "1.1.1.1",
"src_mask" : "255.255.255.0",
"dst_ip" : "2.2.2.2",
"dst_mask" : "255.255.255.0",
"dscp" : "5",
"ttl" : "4",
"protocol" : "6",
"src_l4port" : "56",
"dst_l4port" : "78",
"tcpctl" : "0x5",
"tcpctl_mask" : "0xff",
"tosval" : "3",
"match_all" : "disable",
"counters" : "enable"
}
Response Body
NA
Status code
SERVER_ERROR(500) if there is any error with the server
Response status in the pretty output format shown above
Get Flow Rule Information
Request URL
/api/info/flows/<flow-name>/rules
Or
/api/info/flows/<flow-name>/rules/<rule-id>
Description
Use this API to get the configured rules from the system
Method
GET
Request Body
NA
Response Body
{
"flow1|355": {
"ipdst": "2.2.2.2",
"src_mask": "255.255.255.0",
"match_all": "disable",
"comment": "Example-rule-created",
"ipsrc": "1.1.1.1",
"dst_mask": "255.255.255.0",
"map_name": "flow1",
"rule_id": "355",
"action": "permit",
"counters": "enable"
}
}
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully
Get Flow rule status
Request URL
/api/info/flows/<flow-name>/rules/<rule-id>/status
Description
Use this API to get the configured rules hardware status and packets from the system
Method
GET
Request Body
NA
Response Body
{
"map_name": "flow1",
"rule_id": "2",
"status": "Active",
"Total-packets": "0"
}
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully
Configure Flow Rule Override action
Request URL
/api/config/flows/<flow-name>/rules/<rule-id>/override
Description
Use this API to configure the OPB rule override actions
Method
POST
Request Body
{
"override-to": ["Ethernet12", "Ethernet4", "Ethernet8"],
"override-push-vlan-tag": "100",
"override-pop-vlan": "disable"
}
Response Body
NA
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully
Get Flow Rule Override action Information
Request URL
/api/info/flows/<flow-name>/rules/<rule-id>/override
Description
Use this API to get the configured rules override actions from the system
Method
GET
Request Body
NA
Response Body
{
"override-to": ["Ethernet12", "Ethernet4", "Ethernet8"],
"override-push-vlan-tag": "100",
"override-pop-vlan": "disable"
}
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully
Delete Flow Rule
Request URL
/api/config/flows/<flow-name>/rules/<rule-id>
Description
Use this API to delete the configured rule with id <rule-id> inside <flow-name>
Method
DELETE
Request Body
NA
Response Body
NA
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully
Delete Flow Rule Override action
Request URL
/api/config/flows/<flow-name>/rules/<rule-id>/override
Description
Use this API to delete the overrides configured on the map rule
Method
DELETE
Request Body
NA
Response Body
NA
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully
Delete Flow
Request URL
/api/config/flows/<flow-name>
Description
Use this API to delete the configured <flow-name> in the system
Method
DELETE
Request Body
NA
Response Body
NA
Status code
SERVER_ERROR(500) if there is any error with the server
OK(200) if the request completes successfully