ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis...
Transcript of ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis...
![Page 1: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/1.jpg)
ONOSMessageHandlingMechanismImprovement
Inango Proposal
![Page 2: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/2.jpg)
AGENDA
› AboutInango
› ONOSpacketlossissuedescription
› Proposedsolution
› Effortestimation
![Page 3: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/3.jpg)
ABOUTINANGO
› Inango passionisindevelopinginnovativesoftwareforadvancedcommunicationssystems
› WeofferbothproductsandservicesspanningabroadrangeoftechnologiesincludingLinuxandopen-source,optimizations,Yocto,RDK-Bandvirtualization
![Page 4: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/4.jpg)
PACKETLOSSISSUEREPRODUCTIONSETUP
› Mininet networkwith“linear,2”topology
› ONOSserverwith“openflow”and“fwd”applications,“ipv6Forwarding”enabled
› AtrafficgeneratorisusedtogenerateICMPv6fromamininet host:• 100,000IPv6echorequestspersecond• Source:hostsIP• Destination:randomIPv6address
![Page 5: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/5.jpg)
REPRODUCTIONCASEBeforetest Duringtest
FC00::1 FC00::2 FC00::1 FC00::2Traffic
generator
![Page 6: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/6.jpg)
REPRODUCTIONTRAFFICFLOW
NDP
LLDP
![Page 7: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/7.jpg)
ISSUEROOTCAUSEANALYSIS
› WhenthepacketcomestoacontrolleritisaddedtothedispatchQueuequeue
› IfthedispatchQueue isfullthenthepacketgoestothedispatchBacklogdeque
› InthiscasedispatchMessage disablesreadingfromachannel
› WecanlooseinformationifthedispatchQueue isfull
![Page 8: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/8.jpg)
CURRENTPACKETHANDLINGSEQUENCE
![Page 9: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/9.jpg)
PROPOSEDSOLUTION
› Reading amessageandmovingittothedispatchQueue isaquick operation
› ProcessingmessagesfromthedispatchQueue isaslow aoperation
›Weshouldaddseveraldispatchqueuesforthedifferentmessagetypes!
![Page 10: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/10.jpg)
SOLUTIONDETAILS
› MajorPoints• Messagesshouldbeclassifiedbeforeweaddthemintoqueues• Weshouldnotstopreadingincomingpacketsfromasocketifoneofqueuesisfull• Ifwegotanewmessagetoafullqueueweshoulddropit:wehavenoabilitytostoreit
› Stabilitytweaks• WeshouldtrytokeepallcontrolmessageswiththehelpofthedispatchBacklogqueue
• SizeofthedispatchBacklog queueshouldbelimited
![Page 11: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/11.jpg)
PERFORMANCERESULTSFORPOCIMPLEMENTATION
› WealreadyimplementedtheproposedalgorithmonONOS1.12
› ThefixisrelevantforONOS2.0aswell
› WithoriginalONOScode,thelinkgoesdownafter40-60secondsof20KPPStraffic
› Withtheproposedalgorithmwedidnotobserveissueswithlinkstabilityunderloadsofupto50KPPSforseveralminutesunderthesameconditions
![Page 12: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/12.jpg)
PROPOSEDSOLUTION—READING
› Whenthepacketcomes,moveallthemanagementpacketsfromthedispatchBacklog tothedefaultQueue
› Trytoclassifyanincomingpacket.Ifthepacketisclassifiedsuccessfully,addittoaspecifictargetqueue.Ifthetargetqueueisfull,dropthepacket.
› IfthepacketwasnotclassifiedthentrytoaddittothedefaultQueue.IfthedefaultQueue isfullthenthe“PACKET_IN”packetsshouldbedropped.Thenon“PACKET_IN”packetsshouldbeeitheraddedtothedispatchBacklog ordropped.
![Page 13: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/13.jpg)
NEWREADING SEQUENCE
![Page 14: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/14.jpg)
PROPOSEDSOLUTION—PROCESSING
› Oneofpossiblesolutionsisaround-robinalgorithm:• TakeanumberofOFmessagesfrom1-stqueue• Processthem• Dothesamefortherestofthequeues,onebyone• Gobacktothefirstqueueandrepeatthestepsuntilqueuesareempty
![Page 15: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/15.jpg)
NEWPROCESSING SEQUENCE
![Page 16: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/16.jpg)
PROPOSEDCONFIGURATION
› 7priorityqueues,onedefaultQueue andonedispatchBacklog
› Sizeandchunksizecanbeconfiguredseparatelyforeachqueue
› ClassifierscanbeconfiguredforeachOFAgent
› LLDPandBDDPpacketsaremappedtothefirstqueue
› Firstqueuehavesize1000,thedefaultQueue – 5000,otherqueues– 1
› Sizeofchunkofmessagesforeachqueueis100
![Page 17: ONOS OpenFlow Message Handling - Inango · ›Readinga message and moving it to the dispatchQueueis a quickoperation › Processing messages from the dispatchQueue is a slow a operation](https://reader036.fdocuments.us/reader036/viewer/2022081522/5fb40ced961f2d44d84fa5d2/html5/thumbnails/17.jpg)
SUBMITTINGCODE
› ForONOS1.12wemodified11sourcefiles,created19additionalsourcefiles,andchanged12filesthatdescribesbuildsanddependencies
› WeexpectsimilarchangesforONOS2.0