Trill Parent node shi/, Mi2ga2on. IETF 98, Chicago. h"ps://datatracker.ie0.org/doc/dra3-rp-trill-parentselec7on-03 R.Parameswaran, BrocadeCommunica7onsInc., [email protected]. 1 Problem Statement/Summary • Theparentselec7onrules,standardizedinTrill’s treeconstruc7onprocess,canleadtoun-necessary shi3sinparent-childrela7onships,insome situa7ons. • Awareofthisimpac7nglatencyrequirementsfor somecustomers. • Thedra3presentedhereproposestwodis7nct solu7onswhichcanbeusedtoaddressthe problem. 2 Problem statement • WhatistheissuewithTrill’sstandardtreeconstruc7on method? • Let’sseehowTrilldefinesparentselec7onduringtree construc7on. [RFC6325]: • "Whenbuildingthetreenumberj,rememberallpossible equalcostparentsfornodeN.A3ercalcula7ngtheen7re 'tree‘(actually,directedgraph),foreachnodeN,ifNhas'p' parents,thenordertheparentsinascendingorder accordingtothe7-octetIS-ISIDconsideredasanunsigned integer,andnumberthemstar7ngatzero.Fortreej,choose N'sparentaschoicejmodp." 3 Problem statement (contd). • Thereisanaddi7onalcorrec7onpostedtothisin [RFC7780]: • [RFC7780],Sec7on3.4: “ThisischangedsothattheselectedparentMUSTbe (j-1)modp.Asaresult,inthecaseabove,tree1will selectparent0,andtree2willselectparent1.This changeisnotbackwardcompa7blewith[RFC6325].If allRBridgesinacampusdonotdeterminedistribu7on treesinthesameway,thenformosttopologies,the RPFCwilldropmanymul7-des7na7onpacketsbefore theyhavebeenproperlydelivered." 4 Problem Statement (Depic2on) A 1 1 3 2 Considertree2,andsay nodeAisthetreeroot. Now,considerwhat happensifNode1 goesdown? B A C B C 2 3 BeforeNode1goesdownthe Orderedlistis: [1(@index0),2(@index1),3] Parentselec7onfornodesB,C, IsmandatedbyTrillasthenodeat index: (Treenum–1)modnum_parents =(2-1)mod3 =1,whichcorrespondstotheindexof Node2. Assumethatnodes1,2,3areinsortedorder,sortedbyascendingorderofISIS7octetID. 5 Problem Statement (contd) A 2 1 3 Considerwhathappensif Node1 goesdown? B A C B C 2 3 OrderedlistofparentsforB,Cnowis [2(@index0),3(@index1)] Parentselec7onfornodesB,C, IsmandatedbyTrillasthenodeat index: (Treenum–1)modnum_parents =(2-1)mod2 =1,whichcorrespondstotheindexof Node3. BandC’sparentshi3edfromnode2tonode3–thisisunnecessary,since2neverwent down.Similarproblemscanhappenwithothertreenumbers,andthiscanhappenateach parent/childrela7onshipinthetree. 6 Solu2on (Approach 1). • Howcanthisbesolved? • Affinitysub-TLV(It’sasub-TLVoftheRoutercapabilityTLV). • Otherdra3s/RFCsnowuseaffinitysub-TLVinotherscenarios. • AffinityTLVbasicallydictatesparent-childmappings. • Ispublishedbytheparent,iden7fyingthelistofchildrenit wantstobindto,andthespecifictreeonwhichthisistobe done. • Powerfulsub-TLVwhichneedstobeusedwithincertainguidelines. • Applicabilitytothiscase,operatorpinss7ckinesstochildren onaspecific(parent)node,usingaCLI.Operatortakes responsibilityofconfiguringCLIononlyoneofasetofpossible parentnodes(shouldnotbeconfiguredonmorethanone sibling,andshouldnotbeconfiguredontherootofthetree). 7 Solu2on (Approach 1) Contd. • Operatorconfiguresparents7ckinessonapar7cularparent(designatedparent), forpar7culartreenumber. • Thedesignatedparentrunsthroughatreecalcula7on,ignoresthedefaultTrill parentselec7onrule,andassertsitsrighttobeaparent,ifduringtree computa7onitfindsitselftobeapoten7alparentofoneormorechildnodes. • Oncethetreecomputa7oncompletes(withanaddi7onalstabiliza7on7mer),the designatedparentnodepublishesanAffinitysub-TLV,iden7fyingthechildnodes andthetreenumber. • Thisisalsorepeatedinanysubsequenttreecomputa7ons. • Othernodesinthenetworkblindlyhonortheaffinitysub-TLVsentbythe designatedparent,ifany. • Notethattreestructurewillchangeaslinksandnodesgodownorcomeupin thenetwork.Thedesignatedparentwilleitherpublishunchanged,orchange,or retractaffinitysub-TLVasnetworkeventschangethetree,dependingon whetherithaschildrenornotinthenewtreeorder(designatedparentmakesa best-efforttotryandpreserveitsexis7ngchildrela7onships,treestructure permiqng,disregardingthedefaultTrilltreeconstruc7onrule,andignoringits ownaffinityTLVinitsowntreecalcula7on). • Intheeventofaretrac7onoftheaffinitysub-TLV,othernodesinthenetwork fallbacktothedefaultTrilltreeconstruc7onrules. 8 Solu2on, Approach 1: A A Affinitysub-TLV,Tree=2, Child=B,C(Originatedby2) a3eroperatorconfig,before Node1goesdown. 1 3 2 1 B C ConsiderwhathappensifNode1 goesdown?Node2publishesanaffinitysub-TLVbeforeNode 1goesdown,preven7ngtheproblemofBandC’sparentshi3. B C 2 3 • Once2publishesanaffinitysub-TLV, allothernodesinthenetworkfactor it,intheirtreeconstruc7on,using Node2astheparentforB,Cintree 2’sconstruc7on. • Node2doesnotblindlyhonorTrill’s defaultparentselec7onrules(and ignoresitsownaffinitysub-TLV)and instead,triestoassert/preserveits parentrela7onshiptoitschildrento theextentpossible,andpublishesor updatestheaffinitysub-TLVa3erits owntreeconstruc7onoftree2. 9 Solu2on (Approach 2). • UseamodifiedversionofSPFwhichinsertsapolicydriven selectorforthechoiceofparentwhenmul7pleparentscan pullachildnodeintotheSPFtreeatthesameop7malcost. • Makethepolicyfunc7onchoosebasedonapreviousstable snap-shotofthesametree. • Henceforagivenchildnode,itwillpickthesameparentthat ithadinthepreviousstablesnap-shotofthetree,beforethe networkchurneventhappened.Theveryfirsttreecalcula7on usesthedefaultTrillparentselec7onrules. • Thisdetermina7onhappensinadistributedfashionateach nodeinthenetwork. • Hence,nodesinthenetworkhadbe"eragreeonwhatthe previousstablesnap-shotofthetreelookedlike. 10 Solu2on (Approach 2) Contd: • Thisisrela7velydifficulttodo,butwecanleveragethe factthatbythe7meroutes/resultofthetree computa7onwasdownloadedtotheRIB,allthenodesin thenetworkagreedonthepreviousstableversionofthe tree,sousethisastriggertocollectthesnapshot. • Mayneedaddi7onaldampening,attheRIBtrigger. • Worksbestinsmalltomid-sizenetworks. • Specialhandlingneededforlinkflaps,otherevents wheretheparentchildrela7onshipinvertsetc.. 11 Solu2on, Approach 2 A A Nodeslatchtotheirprevious stabletreecomputa7onand usethattoguidetree construc7on. Aistreeroot,Node1went down. 1 2 1 B C 2 3 3 Considertree2,andsaynodeAis thetreeroot.Now,considerwhat happensifNode1goesdown? Duringtreecalcula7on,becausethe priortreecalcula7onusedNode2as theparent,thepolicyselec7onstep B C con7nuestoselectNode2asthe parentinnewtreecalcula7ons. Ini7altreecomputa7onusestheTrilldefaultrules.Subsequenttreecomputa7onsusethe previousstablesnap-shottodriveparentselec7on. 12 Other Considera2ons: • Betweenthetwoapproaches,approachAis preferable,sinceaffinitysub-TLVmakesthe networkbehaviormorepredictable,unlessthere areIPRconsidera7ons. • NoIPRoneitheroftheseapproachesatBrocade Communica7ons,Inc. 13 Status/Advancement: • Reques7ngadop7onasWGdocument,awareofcustomerslookingforawayto preventunnecessaryparentshi3s. • AfewlogicalinconsistenciesinapproachB,clarifica7oninApproachA,fixedina privatecopyofthedra3,willuploada3erIETF98. • MightremoveortweakapproachBfromthedra3insubsequentuploads. • ApproachBasproposedheremaynotbefeasibleand/orcanbetweaked,but thepolicydrivenSPFtreecomputa7onproposedinapproachBmighthave somevalueifthereisinterestinpursuingnetworkwidealterna7vedefault parentselec7onrules. • ApproachAcanbeenhancedtoaddnoderedundancyforthes7cky/designated parent. • Planningtochangethedra3toInforma7onal,assumingapproachAremains feasible. 14
© Copyright 2026 Paperzz