OpenKilda is an open-source OpenFlow controller initially designed for use in a global network with high control-plane latency and a heavy emphasis on latency-centric data path optimisation.
Apache License 2.0
78
stars
53
forks
source link
Switch sync with 'remove excess' during reroute may lead to reroute failure+rollback #4214
Create a flow with reroute potential (flow wants to change path)
Reroute the flow and simultaneously call switch sync with removeExcess=true for related switches
Expected: System remains in consistent state, flow is successfully rerouted, no rule discrepancies observed
Actual: Flow history shows rule validation errors. Flow reroute is rolled back to previous path
"action": "Rule validation failed",
"details": "Failed to validate the ingress rule: commandId 8cbbb9a0-a1d9-11eb-a5c5-67aaf0ed9bcc, switch 00:00:00:00:00:00:00:03, cookie 0x200000000000E360. Error FlowErrorResponse(super=SpeakerFlowSegmentResponse(super=AbstractMessage(messageContext=MessageContext(correlationId=8ca6aafc-a1d9-11eb-a5c5-13d030ab82ad : bc14826e-61ec-4fd2-8dff-b9ae9b1f6e16 : fn-tests-b6c31b6a-a36e-474c-9a1e-e3b00de05440, createTime=1618924130464)), metadata=FlowSegmentMetadata(flowId=20Apr160845_647_pasta5595, cookie=0x200000000000E360, multiTable=true), success=false, requestCreateTime=0, executionTime=0), errorCode=MISSING_OF_FLOWS, description=Detect 1 missing OF flows with cookies [0x0080000007B5000A] on 00:00:00:00:00:00:00:03 related to flow 20Apr160845_647_pasta5595 with cookie 0x200000000000E360 (total verified 5 OF messages))"