get_config_unittest.cc 223 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213
  1. // Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
  2. //
  3. // This Source Code Form is subject to the terms of the Mozilla Public
  4. // License, v. 2.0. If a copy of the MPL was not distributed with this
  5. // file, You can obtain one at http://mozilla.org/MPL/2.0/.
  6. #include <config.h>
  7. #include <cc/command_interpreter.h>
  8. #include <cc/data.h>
  9. #include <cc/simple_parser.h>
  10. #include <cc/cfg_to_element.h>
  11. #include <dhcp/tests/iface_mgr_test_config.h>
  12. #include <dhcpsrv/cfgmgr.h>
  13. #include <dhcpsrv/parsers/simple_parser4.h>
  14. #include <dhcp4/tests/dhcp4_test_utils.h>
  15. #include <dhcp4/tests/get_config_unittest.h>
  16. #include <dhcp4/dhcp4_srv.h>
  17. #include <dhcp4/json_config_parser.h>
  18. #include <boost/algorithm/string.hpp>
  19. #include <gtest/gtest.h>
  20. #include <iostream>
  21. #include <string>
  22. #include <sstream>
  23. #include <list>
  24. using namespace isc::config;
  25. using namespace isc::data;
  26. using namespace isc::dhcp;
  27. using namespace isc::dhcp::test;
  28. namespace {
  29. /// @name How to fill configurations
  30. ///
  31. /// Copy get_config_unittest.cc.skel into get_config_unittest.cc
  32. ///
  33. /// For the extracted configurations define the EXTRACT_CONFIG and
  34. /// recompile this file. Run dhcp4_unittests on Dhcp4ParserTest
  35. /// redirecting the standard error to a temporary file, e.g. by
  36. /// @code
  37. /// ./dhcp4_unittests --gtest_filter="Dhcp4Parser*" > /dev/null 2> x
  38. /// @endcode
  39. ///
  40. /// Update EXTRACTED_CONFIGS with the file content
  41. ///
  42. /// When configurations have been extracted the corresponding unparsed
  43. /// configurations must be generated. To do that define GENERATE_ACTION
  44. /// and recompile this file. Run dhcp4_unittests on Dhcp4GetConfigTest
  45. /// redirecting the standard error to a temporary file, e.g. by
  46. /// @code
  47. /// ./dhcp4_unittests --gtest_filter="Dhcp4GetConfig*" > /dev/null 2> u
  48. /// @endcode
  49. ///
  50. /// Update UNPARSED_CONFIGS with the file content, recompile this file
  51. /// without EXTRACT_CONFIG and GENERATE_ACTION.
  52. ///
  53. /// @note Check for failures at each step!
  54. /// @note The tests of this file do not check if configs returned
  55. /// by @ref isc::dhcp::CfgToElement::ToElement() are complete.
  56. /// This has to be done manually.
  57. ///
  58. ///@{
  59. /// @brief extracted configurations
  60. const char* EXTRACTED_CONFIGS[] = {
  61. // CONFIGURATION 0
  62. "{\n"
  63. " \"interfaces-config\": {\n"
  64. " \"interfaces\": [ \"*\" ]\n"
  65. " },\n"
  66. " \"rebind-timer\": 2000,\n"
  67. " \"renew-timer\": 1000,\n"
  68. " \"subnet4\": [ ],\n"
  69. " \"valid-lifetime\": 4000\n"
  70. " }\n",
  71. // CONFIGURATION 1
  72. "{\n"
  73. " \"interfaces-config\": {\n"
  74. " \"interfaces\": [ \"*\" ]\n"
  75. " },\n"
  76. " \"rebind-timer\": 2000,\n"
  77. " \"subnet4\": [\n"
  78. " {\n"
  79. " \"pools\": [\n"
  80. " {\n"
  81. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  82. " }\n"
  83. " ],\n"
  84. " \"subnet\": \"192.0.2.0/24\"\n"
  85. " }\n"
  86. " ],\n"
  87. " \"valid-lifetime\": 4000\n"
  88. " }\n",
  89. // CONFIGURATION 2
  90. "{\n"
  91. " \"interfaces-config\": {\n"
  92. " \"interfaces\": [ \"*\" ]\n"
  93. " },\n"
  94. " \"renew-timer\": 1000,\n"
  95. " \"subnet4\": [\n"
  96. " {\n"
  97. " \"pools\": [\n"
  98. " {\n"
  99. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  100. " }\n"
  101. " ],\n"
  102. " \"subnet\": \"192.0.2.0/24\"\n"
  103. " }\n"
  104. " ],\n"
  105. " \"valid-lifetime\": 4000\n"
  106. " }\n",
  107. // CONFIGURATION 3
  108. "{\n"
  109. " \"interfaces-config\": {\n"
  110. " \"interfaces\": [ \"*\" ]\n"
  111. " },\n"
  112. " \"rebind-timer\": 2000,\n"
  113. " \"renew-timer\": 1000,\n"
  114. " \"subnet4\": [\n"
  115. " {\n"
  116. " \"pools\": [\n"
  117. " {\n"
  118. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  119. " }\n"
  120. " ],\n"
  121. " \"subnet\": \"192.0.2.0/24\"\n"
  122. " }\n"
  123. " ],\n"
  124. " \"valid-lifetime\": 4000\n"
  125. " }\n",
  126. // CONFIGURATION 4
  127. "{\n"
  128. " \"interfaces-config\": {\n"
  129. " \"interfaces\": [ \"*\" ]\n"
  130. " },\n"
  131. " \"rebind-timer\": 2000,\n"
  132. " \"renew-timer\": 1000,\n"
  133. " \"subnet4\": [\n"
  134. " {\n"
  135. " \"pools\": [\n"
  136. " {\n"
  137. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  138. " }\n"
  139. " ],\n"
  140. " \"subnet\": \"192.0.2.0/24\"\n"
  141. " },\n"
  142. " {\n"
  143. " \"id\": 0,\n"
  144. " \"pools\": [\n"
  145. " {\n"
  146. " \"pool\": \"192.0.3.101 - 192.0.3.150\"\n"
  147. " }\n"
  148. " ],\n"
  149. " \"subnet\": \"192.0.3.0/24\"\n"
  150. " },\n"
  151. " {\n"
  152. " \"pools\": [\n"
  153. " {\n"
  154. " \"pool\": \"192.0.4.101 - 192.0.4.150\"\n"
  155. " }\n"
  156. " ],\n"
  157. " \"subnet\": \"192.0.4.0/24\"\n"
  158. " },\n"
  159. " {\n"
  160. " \"pools\": [\n"
  161. " {\n"
  162. " \"pool\": \"192.0.5.101 - 192.0.5.150\"\n"
  163. " }\n"
  164. " ],\n"
  165. " \"subnet\": \"192.0.5.0/24\"\n"
  166. " }\n"
  167. " ],\n"
  168. " \"valid-lifetime\": 4000\n"
  169. " }\n",
  170. // CONFIGURATION 5
  171. "{\n"
  172. " \"interfaces-config\": {\n"
  173. " \"interfaces\": [ \"*\" ]\n"
  174. " },\n"
  175. " \"rebind-timer\": 2000,\n"
  176. " \"renew-timer\": 1000,\n"
  177. " \"subnet4\": [\n"
  178. " {\n"
  179. " \"id\": 1024,\n"
  180. " \"pools\": [\n"
  181. " {\n"
  182. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  183. " }\n"
  184. " ],\n"
  185. " \"subnet\": \"192.0.2.0/24\"\n"
  186. " },\n"
  187. " {\n"
  188. " \"id\": 100,\n"
  189. " \"pools\": [\n"
  190. " {\n"
  191. " \"pool\": \"192.0.3.101 - 192.0.3.150\"\n"
  192. " }\n"
  193. " ],\n"
  194. " \"subnet\": \"192.0.3.0/24\"\n"
  195. " },\n"
  196. " {\n"
  197. " \"id\": 1,\n"
  198. " \"pools\": [\n"
  199. " {\n"
  200. " \"pool\": \"192.0.4.101 - 192.0.4.150\"\n"
  201. " }\n"
  202. " ],\n"
  203. " \"subnet\": \"192.0.4.0/24\"\n"
  204. " },\n"
  205. " {\n"
  206. " \"id\": 34,\n"
  207. " \"pools\": [\n"
  208. " {\n"
  209. " \"pool\": \"192.0.5.101 - 192.0.5.150\"\n"
  210. " }\n"
  211. " ],\n"
  212. " \"subnet\": \"192.0.5.0/24\"\n"
  213. " }\n"
  214. " ],\n"
  215. " \"valid-lifetime\": 4000\n"
  216. " }\n",
  217. // CONFIGURATION 6
  218. "{\n"
  219. " \"interfaces-config\": {\n"
  220. " \"interfaces\": [ \"*\" ]\n"
  221. " },\n"
  222. " \"next-server\": \"1.2.3.4\",\n"
  223. " \"rebind-timer\": 2000,\n"
  224. " \"renew-timer\": 1000,\n"
  225. " \"subnet4\": [\n"
  226. " {\n"
  227. " \"pools\": [\n"
  228. " {\n"
  229. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  230. " }\n"
  231. " ],\n"
  232. " \"subnet\": \"192.0.2.0/24\"\n"
  233. " }\n"
  234. " ],\n"
  235. " \"valid-lifetime\": 4000\n"
  236. " }\n",
  237. // CONFIGURATION 7
  238. "{\n"
  239. " \"interfaces-config\": {\n"
  240. " \"interfaces\": [ \"*\" ]\n"
  241. " },\n"
  242. " \"rebind-timer\": 2000,\n"
  243. " \"renew-timer\": 1000,\n"
  244. " \"subnet4\": [\n"
  245. " {\n"
  246. " \"next-server\": \"1.2.3.4\",\n"
  247. " \"pools\": [\n"
  248. " {\n"
  249. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  250. " }\n"
  251. " ],\n"
  252. " \"subnet\": \"192.0.2.0/24\"\n"
  253. " }\n"
  254. " ],\n"
  255. " \"valid-lifetime\": 4000\n"
  256. " }\n",
  257. // CONFIGURATION 8
  258. "{\n"
  259. " \"interfaces-config\": {\n"
  260. " \"interfaces\": [ \"*\" ]\n"
  261. " },\n"
  262. " \"next-server\": \"192.0.0.1\",\n"
  263. " \"rebind-timer\": 2000,\n"
  264. " \"renew-timer\": 1000,\n"
  265. " \"subnet4\": [\n"
  266. " {\n"
  267. " \"next-server\": \"1.2.3.4\",\n"
  268. " \"pools\": [\n"
  269. " {\n"
  270. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  271. " }\n"
  272. " ],\n"
  273. " \"subnet\": \"192.0.2.0/24\"\n"
  274. " }\n"
  275. " ],\n"
  276. " \"valid-lifetime\": 4000\n"
  277. " }\n",
  278. // CONFIGURATION 9
  279. "{\n"
  280. " \"echo-client-id\": false,\n"
  281. " \"interfaces-config\": {\n"
  282. " \"interfaces\": [ \"*\" ]\n"
  283. " },\n"
  284. " \"rebind-timer\": 2000,\n"
  285. " \"renew-timer\": 1000,\n"
  286. " \"subnet4\": [\n"
  287. " {\n"
  288. " \"pools\": [\n"
  289. " {\n"
  290. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  291. " }\n"
  292. " ],\n"
  293. " \"subnet\": \"192.0.2.0/24\"\n"
  294. " }\n"
  295. " ],\n"
  296. " \"valid-lifetime\": 4000\n"
  297. " }\n",
  298. // CONFIGURATION 10
  299. "{\n"
  300. " \"echo-client-id\": true,\n"
  301. " \"interfaces-config\": {\n"
  302. " \"interfaces\": [ \"*\" ]\n"
  303. " },\n"
  304. " \"rebind-timer\": 2000,\n"
  305. " \"renew-timer\": 1000,\n"
  306. " \"subnet4\": [\n"
  307. " {\n"
  308. " \"pools\": [\n"
  309. " {\n"
  310. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  311. " }\n"
  312. " ],\n"
  313. " \"subnet\": \"192.0.2.0/24\"\n"
  314. " }\n"
  315. " ],\n"
  316. " \"valid-lifetime\": 4000\n"
  317. " }\n",
  318. // CONFIGURATION 11
  319. "{\n"
  320. " \"interfaces-config\": {\n"
  321. " \"interfaces\": [ \"*\" ]\n"
  322. " },\n"
  323. " \"rebind-timer\": 2000,\n"
  324. " \"renew-timer\": 1000,\n"
  325. " \"subnet4\": [\n"
  326. " {\n"
  327. " \"match-client-id\": true,\n"
  328. " \"pools\": [\n"
  329. " {\n"
  330. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  331. " }\n"
  332. " ],\n"
  333. " \"subnet\": \"192.0.2.0/24\"\n"
  334. " },\n"
  335. " {\n"
  336. " \"match-client-id\": false,\n"
  337. " \"pools\": [\n"
  338. " {\n"
  339. " \"pool\": \"192.0.3.1 - 192.0.3.100\"\n"
  340. " }\n"
  341. " ],\n"
  342. " \"subnet\": \"192.0.3.0/24\"\n"
  343. " }\n"
  344. " ],\n"
  345. " \"valid-lifetime\": 4000\n"
  346. " }\n",
  347. // CONFIGURATION 12
  348. "{\n"
  349. " \"interfaces-config\": {\n"
  350. " \"interfaces\": [ \"*\" ]\n"
  351. " },\n"
  352. " \"match-client-id\": true,\n"
  353. " \"rebind-timer\": 2000,\n"
  354. " \"renew-timer\": 1000,\n"
  355. " \"subnet4\": [\n"
  356. " {\n"
  357. " \"match-client-id\": false,\n"
  358. " \"pools\": [\n"
  359. " {\n"
  360. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  361. " }\n"
  362. " ],\n"
  363. " \"subnet\": \"192.0.2.0/24\"\n"
  364. " },\n"
  365. " {\n"
  366. " \"pools\": [\n"
  367. " {\n"
  368. " \"pool\": \"192.0.3.1 - 192.0.3.100\"\n"
  369. " }\n"
  370. " ],\n"
  371. " \"subnet\": \"192.0.3.0/24\"\n"
  372. " }\n"
  373. " ],\n"
  374. " \"valid-lifetime\": 4000\n"
  375. " }\n",
  376. // CONFIGURATION 13
  377. "{\n"
  378. " \"interfaces-config\": {\n"
  379. " \"interfaces\": [ \"*\" ]\n"
  380. " },\n"
  381. " \"rebind-timer\": 2000,\n"
  382. " \"renew-timer\": 1000,\n"
  383. " \"subnet4\": [\n"
  384. " {\n"
  385. " \"pools\": [\n"
  386. " {\n"
  387. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  388. " }\n"
  389. " ],\n"
  390. " \"rebind-timer\": 2,\n"
  391. " \"renew-timer\": 1,\n"
  392. " \"subnet\": \"192.0.2.0/24\",\n"
  393. " \"valid-lifetime\": 4\n"
  394. " }\n"
  395. " ],\n"
  396. " \"valid-lifetime\": 4000\n"
  397. " }\n",
  398. // CONFIGURATION 14
  399. "{\n"
  400. " \"interfaces-config\": {\n"
  401. " \"interfaces\": [ \"*\" ]\n"
  402. " },\n"
  403. " \"rebind-timer\": 2000,\n"
  404. " \"renew-timer\": 1000,\n"
  405. " \"subnet4\": [\n"
  406. " {\n"
  407. " \"pools\": [\n"
  408. " {\n"
  409. " \"pool\": \"192.0.2.0/28\"\n"
  410. " },\n"
  411. " {\n"
  412. " \"pool\": \"192.0.2.200-192.0.2.255\"\n"
  413. " }\n"
  414. " ],\n"
  415. " \"subnet\": \"192.0.2.0/24\"\n"
  416. " },\n"
  417. " {\n"
  418. " \"pools\": [\n"
  419. " {\n"
  420. " \"pool\": \"192.0.3.0/25\"\n"
  421. " },\n"
  422. " {\n"
  423. " \"pool\": \"192.0.3.128/25\"\n"
  424. " }\n"
  425. " ],\n"
  426. " \"subnet\": \"192.0.3.0/24\"\n"
  427. " }\n"
  428. " ],\n"
  429. " \"valid-lifetime\": 4000\n"
  430. " }\n",
  431. // CONFIGURATION 15
  432. "{\n"
  433. " \"interfaces-config\": {\n"
  434. " \"interfaces\": [ \"*\" ]\n"
  435. " },\n"
  436. " \"rebind-timer\": 2000,\n"
  437. " \"renew-timer\": 1000,\n"
  438. " \"subnet4\": [\n"
  439. " {\n"
  440. " \"pools\": [\n"
  441. " {\n"
  442. " \"pool\": \"192.0.2.128/28\"\n"
  443. " }\n"
  444. " ],\n"
  445. " \"subnet\": \"192.0.2.0/24\"\n"
  446. " }\n"
  447. " ],\n"
  448. " \"valid-lifetime\": 4000\n"
  449. " }\n",
  450. // CONFIGURATION 16
  451. "{\n"
  452. " \"option-def\": [\n"
  453. " {\n"
  454. " \"code\": 100,\n"
  455. " \"name\": \"foo\",\n"
  456. " \"space\": \"isc\",\n"
  457. " \"type\": \"ipv4-address\"\n"
  458. " }\n"
  459. " ]\n"
  460. " }\n",
  461. // CONFIGURATION 17
  462. "{\n"
  463. " \"option-def\": [\n"
  464. " {\n"
  465. " \"code\": 100,\n"
  466. " \"name\": \"foo\",\n"
  467. " \"record-types\": \"uint16, ipv4-address, ipv6-address, string\",\n"
  468. " \"space\": \"isc\",\n"
  469. " \"type\": \"record\"\n"
  470. " }\n"
  471. " ]\n"
  472. " }\n",
  473. // CONFIGURATION 18
  474. "{\n"
  475. " \"option-def\": [\n"
  476. " {\n"
  477. " \"code\": 100,\n"
  478. " \"name\": \"foo\",\n"
  479. " \"space\": \"isc\",\n"
  480. " \"type\": \"uint32\"\n"
  481. " },\n"
  482. " {\n"
  483. " \"code\": 101,\n"
  484. " \"name\": \"foo-2\",\n"
  485. " \"space\": \"isc\",\n"
  486. " \"type\": \"ipv4-address\"\n"
  487. " }\n"
  488. " ]\n"
  489. " }\n",
  490. // CONFIGURATION 19
  491. "{\n"
  492. " \"option-def\": [\n"
  493. " {\n"
  494. " \"array\": true,\n"
  495. " \"code\": 100,\n"
  496. " \"name\": \"foo\",\n"
  497. " \"space\": \"isc\",\n"
  498. " \"type\": \"uint32\"\n"
  499. " }\n"
  500. " ]\n"
  501. " }\n",
  502. // CONFIGURATION 20
  503. "{\n"
  504. " \"option-def\": [\n"
  505. " {\n"
  506. " \"code\": 100,\n"
  507. " \"encapsulate\": \"sub-opts-space\",\n"
  508. " \"name\": \"foo\",\n"
  509. " \"space\": \"isc\",\n"
  510. " \"type\": \"uint32\"\n"
  511. " }\n"
  512. " ]\n"
  513. " }\n",
  514. // CONFIGURATION 21
  515. "{\n"
  516. " \"option-def\": [\n"
  517. " {\n"
  518. " \"code\": 109,\n"
  519. " \"name\": \"foo\",\n"
  520. " \"space\": \"dhcp4\",\n"
  521. " \"type\": \"string\"\n"
  522. " }\n"
  523. " ]\n"
  524. " }\n",
  525. // CONFIGURATION 22
  526. "{\n"
  527. " \"option-def\": [\n"
  528. " {\n"
  529. " \"code\": 213,\n"
  530. " \"name\": \"access-network-domain-name\",\n"
  531. " \"space\": \"dhcp4\",\n"
  532. " \"type\": \"string\"\n"
  533. " }\n"
  534. " ]\n"
  535. " }\n",
  536. // CONFIGURATION 23
  537. "{\n"
  538. " \"interfaces-config\": {\n"
  539. " \"interfaces\": [ \"*\" ]\n"
  540. " },\n"
  541. " \"option-data\": [\n"
  542. " {\n"
  543. " \"csv-format\": false,\n"
  544. " \"data\": \"ABCDEF0105\",\n"
  545. " \"name\": \"dhcp-message\"\n"
  546. " },\n"
  547. " {\n"
  548. " \"csv-format\": false,\n"
  549. " \"data\": \"01\",\n"
  550. " \"name\": \"default-ip-ttl\"\n"
  551. " }\n"
  552. " ],\n"
  553. " \"rebind-timer\": 2000,\n"
  554. " \"renew-timer\": 1000,\n"
  555. " \"subnet4\": [\n"
  556. " {\n"
  557. " \"pools\": [\n"
  558. " {\n"
  559. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  560. " }\n"
  561. " ],\n"
  562. " \"subnet\": \"192.0.2.0/24\"\n"
  563. " }\n"
  564. " ],\n"
  565. " \"valid-lifetime\": 4000\n"
  566. " }\n",
  567. // CONFIGURATION 24
  568. "{\n"
  569. " \"interfaces-config\": {\n"
  570. " \"interfaces\": [ \"*\" ]\n"
  571. " },\n"
  572. " \"rebind-timer\": 2000,\n"
  573. " \"renew-timer\": 1000,\n"
  574. " \"subnet4\": [\n"
  575. " {\n"
  576. " \"option-data\": [\n"
  577. " {\n"
  578. " \"csv-format\": false,\n"
  579. " \"data\": \"ABCDEF0105\",\n"
  580. " \"name\": \"dhcp-message\"\n"
  581. " },\n"
  582. " {\n"
  583. " \"csv-format\": false,\n"
  584. " \"data\": \"01\",\n"
  585. " \"name\": \"default-ip-ttl\"\n"
  586. " }\n"
  587. " ],\n"
  588. " \"pools\": [\n"
  589. " {\n"
  590. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  591. " }\n"
  592. " ],\n"
  593. " \"subnet\": \"192.0.2.0/24\"\n"
  594. " }\n"
  595. " ],\n"
  596. " \"valid-lifetime\": 4000\n"
  597. " }\n",
  598. // CONFIGURATION 25
  599. "{\n"
  600. " \"interfaces-config\": {\n"
  601. " \"interfaces\": [ \"*\" ]\n"
  602. " },\n"
  603. " \"option-data\": [\n"
  604. " {\n"
  605. " \"csv-format\": false,\n"
  606. " \"data\": \"ABCDEF0105\",\n"
  607. " \"name\": \"dhcp-message\"\n"
  608. " },\n"
  609. " {\n"
  610. " \"data\": \"1234\",\n"
  611. " \"name\": \"foo\",\n"
  612. " \"space\": \"isc\"\n"
  613. " }\n"
  614. " ],\n"
  615. " \"option-def\": [\n"
  616. " {\n"
  617. " \"code\": 56,\n"
  618. " \"name\": \"foo\",\n"
  619. " \"space\": \"isc\",\n"
  620. " \"type\": \"uint32\"\n"
  621. " }\n"
  622. " ],\n"
  623. " \"rebind-timer\": 2000,\n"
  624. " \"renew-timer\": 1000,\n"
  625. " \"subnet4\": [\n"
  626. " {\n"
  627. " \"pools\": [\n"
  628. " {\n"
  629. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  630. " }\n"
  631. " ],\n"
  632. " \"subnet\": \"192.0.2.0/24\"\n"
  633. " }\n"
  634. " ],\n"
  635. " \"valid-lifetime\": 4000\n"
  636. " }\n",
  637. // CONFIGURATION 26
  638. "{\n"
  639. " \"interfaces-config\": {\n"
  640. " \"interfaces\": [ \"*\" ]\n"
  641. " },\n"
  642. " \"option-data\": [\n"
  643. " {\n"
  644. " \"data\": \"1234\",\n"
  645. " \"name\": \"foo\",\n"
  646. " \"space\": \"isc\"\n"
  647. " },\n"
  648. " {\n"
  649. " \"data\": \"192.168.2.1\",\n"
  650. " \"name\": \"foo2\",\n"
  651. " \"space\": \"isc\"\n"
  652. " }\n"
  653. " ],\n"
  654. " \"option-def\": [\n"
  655. " {\n"
  656. " \"code\": 1,\n"
  657. " \"name\": \"foo\",\n"
  658. " \"space\": \"isc\",\n"
  659. " \"type\": \"uint32\"\n"
  660. " },\n"
  661. " {\n"
  662. " \"code\": 2,\n"
  663. " \"name\": \"foo2\",\n"
  664. " \"space\": \"isc\",\n"
  665. " \"type\": \"ipv4-address\"\n"
  666. " }\n"
  667. " ],\n"
  668. " \"rebind-timer\": 2000,\n"
  669. " \"renew-timer\": 1000,\n"
  670. " \"valid-lifetime\": 4000\n"
  671. " }\n",
  672. // CONFIGURATION 27
  673. "{\n"
  674. " \"interfaces-config\": {\n"
  675. " \"interfaces\": [ \"*\" ]\n"
  676. " },\n"
  677. " \"option-data\": [\n"
  678. " {\n"
  679. " \"data\": \"11\",\n"
  680. " \"name\": \"base-option\"\n"
  681. " },\n"
  682. " {\n"
  683. " \"data\": \"1234\",\n"
  684. " \"name\": \"foo\",\n"
  685. " \"space\": \"isc\"\n"
  686. " },\n"
  687. " {\n"
  688. " \"data\": \"192.168.2.1\",\n"
  689. " \"name\": \"foo2\",\n"
  690. " \"space\": \"isc\"\n"
  691. " }\n"
  692. " ],\n"
  693. " \"option-def\": [\n"
  694. " {\n"
  695. " \"code\": 222,\n"
  696. " \"encapsulate\": \"isc\",\n"
  697. " \"name\": \"base-option\",\n"
  698. " \"space\": \"dhcp4\",\n"
  699. " \"type\": \"uint8\"\n"
  700. " },\n"
  701. " {\n"
  702. " \"code\": 1,\n"
  703. " \"name\": \"foo\",\n"
  704. " \"space\": \"isc\",\n"
  705. " \"type\": \"uint32\"\n"
  706. " },\n"
  707. " {\n"
  708. " \"code\": 2,\n"
  709. " \"name\": \"foo2\",\n"
  710. " \"space\": \"isc\",\n"
  711. " \"type\": \"ipv4-address\"\n"
  712. " }\n"
  713. " ],\n"
  714. " \"rebind-timer\": 2000,\n"
  715. " \"renew-timer\": 1000,\n"
  716. " \"subnet4\": [\n"
  717. " {\n"
  718. " \"pools\": [\n"
  719. " {\n"
  720. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  721. " }\n"
  722. " ],\n"
  723. " \"subnet\": \"192.0.2.0/24\"\n"
  724. " }\n"
  725. " ],\n"
  726. " \"valid-lifetime\": 3000\n"
  727. " }\n",
  728. // CONFIGURATION 28
  729. "{\n"
  730. " \"interfaces-config\": {\n"
  731. " \"interfaces\": [ \"*\" ]\n"
  732. " },\n"
  733. " \"option-data\": [\n"
  734. " {\n"
  735. " \"csv-format\": false,\n"
  736. " \"data\": \"AB\",\n"
  737. " \"name\": \"dhcp-message\"\n"
  738. " }\n"
  739. " ],\n"
  740. " \"rebind-timer\": 2000,\n"
  741. " \"renew-timer\": 1000,\n"
  742. " \"subnet4\": [\n"
  743. " {\n"
  744. " \"option-data\": [\n"
  745. " {\n"
  746. " \"csv-format\": false,\n"
  747. " \"data\": \"ABCDEF0105\",\n"
  748. " \"name\": \"dhcp-message\"\n"
  749. " },\n"
  750. " {\n"
  751. " \"csv-format\": false,\n"
  752. " \"data\": \"01\",\n"
  753. " \"name\": \"default-ip-ttl\"\n"
  754. " }\n"
  755. " ],\n"
  756. " \"pools\": [\n"
  757. " {\n"
  758. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  759. " }\n"
  760. " ],\n"
  761. " \"subnet\": \"192.0.2.0/24\"\n"
  762. " }\n"
  763. " ],\n"
  764. " \"valid-lifetime\": 4000\n"
  765. " }\n",
  766. // CONFIGURATION 29
  767. "{\n"
  768. " \"interfaces-config\": {\n"
  769. " \"interfaces\": [ \"*\" ]\n"
  770. " },\n"
  771. " \"rebind-timer\": 2000,\n"
  772. " \"renew-timer\": 1000,\n"
  773. " \"subnet4\": [\n"
  774. " {\n"
  775. " \"option-data\": [\n"
  776. " {\n"
  777. " \"csv-format\": false,\n"
  778. " \"data\": \"0102030405060708090A\",\n"
  779. " \"name\": \"dhcp-message\"\n"
  780. " }\n"
  781. " ],\n"
  782. " \"pools\": [\n"
  783. " {\n"
  784. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  785. " }\n"
  786. " ],\n"
  787. " \"subnet\": \"192.0.2.0/24\"\n"
  788. " },\n"
  789. " {\n"
  790. " \"option-data\": [\n"
  791. " {\n"
  792. " \"csv-format\": false,\n"
  793. " \"data\": \"FF\",\n"
  794. " \"name\": \"default-ip-ttl\"\n"
  795. " }\n"
  796. " ],\n"
  797. " \"pools\": [\n"
  798. " {\n"
  799. " \"pool\": \"192.0.3.101 - 192.0.3.150\"\n"
  800. " }\n"
  801. " ],\n"
  802. " \"subnet\": \"192.0.3.0/24\"\n"
  803. " }\n"
  804. " ],\n"
  805. " \"valid-lifetime\": 4000\n"
  806. " }\n",
  807. // CONFIGURATION 30
  808. "{\n"
  809. " \"interfaces-config\": {\n"
  810. " \"interfaces\": [ \"*\" ]\n"
  811. " },\n"
  812. " \"rebind-timer\": 2000,\n"
  813. " \"renew-timer\": 1000,\n"
  814. " \"subnet4\": [\n"
  815. " {\n"
  816. " \"pools\": [\n"
  817. " {\n"
  818. " \"option-data\": [\n"
  819. " {\n"
  820. " \"csv-format\": false,\n"
  821. " \"data\": \"ABCDEF0105\",\n"
  822. " \"name\": \"dhcp-message\"\n"
  823. " },\n"
  824. " {\n"
  825. " \"csv-format\": false,\n"
  826. " \"data\": \"01\",\n"
  827. " \"name\": \"default-ip-ttl\"\n"
  828. " }\n"
  829. " ],\n"
  830. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  831. " }\n"
  832. " ],\n"
  833. " \"subnet\": \"192.0.2.0/24\"\n"
  834. " }\n"
  835. " ],\n"
  836. " \"valid-lifetime\": 4000\n"
  837. " }\n",
  838. // CONFIGURATION 31
  839. "{\n"
  840. " \"interfaces-config\": {\n"
  841. " \"interfaces\": [ \"*\" ]\n"
  842. " },\n"
  843. " \"rebind-timer\": 2000,\n"
  844. " \"renew-timer\": 1000,\n"
  845. " \"subnet4\": [\n"
  846. " {\n"
  847. " \"pools\": [\n"
  848. " {\n"
  849. " \"option-data\": [\n"
  850. " {\n"
  851. " \"csv-format\": false,\n"
  852. " \"data\": \"ABCDEF0105\",\n"
  853. " \"name\": \"dhcp-message\"\n"
  854. " }\n"
  855. " ],\n"
  856. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  857. " },\n"
  858. " {\n"
  859. " \"option-data\": [\n"
  860. " {\n"
  861. " \"csv-format\": false,\n"
  862. " \"data\": \"01\",\n"
  863. " \"name\": \"default-ip-ttl\"\n"
  864. " }\n"
  865. " ],\n"
  866. " \"pool\": \"192.0.2.200 - 192.0.2.250\"\n"
  867. " }\n"
  868. " ],\n"
  869. " \"subnet\": \"192.0.2.0/24\"\n"
  870. " }\n"
  871. " ],\n"
  872. " \"valid-lifetime\": 4000\n"
  873. " }\n",
  874. // CONFIGURATION 32
  875. "{\n"
  876. " \"interfaces-config\": {\n"
  877. " \"interfaces\": [ \"*\" ]\n"
  878. " },\n"
  879. " \"option-data\": [\n"
  880. " {\n"
  881. " \"data\": \"1234\",\n"
  882. " \"name\": \"foo\",\n"
  883. " \"space\": \"vendor-encapsulated-options-space\"\n"
  884. " },\n"
  885. " {\n"
  886. " \"data\": \"192.168.2.1\",\n"
  887. " \"name\": \"foo2\",\n"
  888. " \"space\": \"vendor-encapsulated-options-space\"\n"
  889. " }\n"
  890. " ],\n"
  891. " \"option-def\": [\n"
  892. " {\n"
  893. " \"code\": 1,\n"
  894. " \"name\": \"foo\",\n"
  895. " \"space\": \"vendor-encapsulated-options-space\",\n"
  896. " \"type\": \"uint32\"\n"
  897. " },\n"
  898. " {\n"
  899. " \"code\": 2,\n"
  900. " \"name\": \"foo2\",\n"
  901. " \"space\": \"vendor-encapsulated-options-space\",\n"
  902. " \"type\": \"ipv4-address\"\n"
  903. " }\n"
  904. " ],\n"
  905. " \"rebind-timer\": 2000,\n"
  906. " \"renew-timer\": 1000,\n"
  907. " \"valid-lifetime\": 4000\n"
  908. " }\n",
  909. // CONFIGURATION 33
  910. "{\n"
  911. " \"interfaces-config\": {\n"
  912. " \"interfaces\": [ \"*\" ]\n"
  913. " },\n"
  914. " \"option-data\": [\n"
  915. " {\n"
  916. " \"csv-format\": false,\n"
  917. " \"name\": \"vendor-encapsulated-options\"\n"
  918. " },\n"
  919. " {\n"
  920. " \"data\": \"1234\",\n"
  921. " \"name\": \"foo\",\n"
  922. " \"space\": \"vendor-encapsulated-options-space\"\n"
  923. " },\n"
  924. " {\n"
  925. " \"code\": 2,\n"
  926. " \"csv-format\": true,\n"
  927. " \"data\": \"192.168.2.1\",\n"
  928. " \"name\": \"foo2\",\n"
  929. " \"space\": \"vendor-encapsulated-options-space\"\n"
  930. " }\n"
  931. " ],\n"
  932. " \"option-def\": [\n"
  933. " {\n"
  934. " \"code\": 1,\n"
  935. " \"name\": \"foo\",\n"
  936. " \"space\": \"vendor-encapsulated-options-space\",\n"
  937. " \"type\": \"uint32\"\n"
  938. " },\n"
  939. " {\n"
  940. " \"code\": 2,\n"
  941. " \"name\": \"foo2\",\n"
  942. " \"space\": \"vendor-encapsulated-options-space\",\n"
  943. " \"type\": \"ipv4-address\"\n"
  944. " }\n"
  945. " ],\n"
  946. " \"rebind-timer\": 2000,\n"
  947. " \"renew-timer\": 1000,\n"
  948. " \"subnet4\": [\n"
  949. " {\n"
  950. " \"pools\": [\n"
  951. " {\n"
  952. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  953. " }\n"
  954. " ],\n"
  955. " \"subnet\": \"192.0.2.0/24\"\n"
  956. " }\n"
  957. " ],\n"
  958. " \"valid-lifetime\": 3000\n"
  959. " }\n",
  960. // CONFIGURATION 34
  961. "{\n"
  962. " \"interfaces-config\": {\n"
  963. " \"interfaces\": [ \"*\" ]\n"
  964. " },\n"
  965. " \"option-data\": [\n"
  966. " {\n"
  967. " \"code\": 100,\n"
  968. " \"csv-format\": false,\n"
  969. " \"data\": \"ABCDEF0105\",\n"
  970. " \"name\": \"option-one\",\n"
  971. " \"space\": \"vendor-4491\"\n"
  972. " },\n"
  973. " {\n"
  974. " \"code\": 100,\n"
  975. " \"csv-format\": false,\n"
  976. " \"data\": \"1234\",\n"
  977. " \"name\": \"option-two\",\n"
  978. " \"space\": \"vendor-1234\"\n"
  979. " }\n"
  980. " ],\n"
  981. " \"rebind-timer\": 2000,\n"
  982. " \"renew-timer\": 1000,\n"
  983. " \"subnet4\": [\n"
  984. " {\n"
  985. " \"pools\": [\n"
  986. " {\n"
  987. " \"pool\": \"192.0.2.1-192.0.2.10\"\n"
  988. " }\n"
  989. " ],\n"
  990. " \"subnet\": \"192.0.2.0/24\"\n"
  991. " }\n"
  992. " ],\n"
  993. " \"valid-lifetime\": 4000\n"
  994. " }\n",
  995. // CONFIGURATION 35
  996. "{\n"
  997. " \"interfaces-config\": {\n"
  998. " \"interfaces\": [ \"*\" ]\n"
  999. " },\n"
  1000. " \"option-data\": [\n"
  1001. " {\n"
  1002. " \"code\": 100,\n"
  1003. " \"data\": \"this is a string vendor-opt\",\n"
  1004. " \"name\": \"foo\",\n"
  1005. " \"space\": \"vendor-4491\"\n"
  1006. " }\n"
  1007. " ],\n"
  1008. " \"option-def\": [\n"
  1009. " {\n"
  1010. " \"code\": 100,\n"
  1011. " \"name\": \"foo\",\n"
  1012. " \"space\": \"vendor-4491\",\n"
  1013. " \"type\": \"string\"\n"
  1014. " }\n"
  1015. " ],\n"
  1016. " \"rebind-timer\": 2000,\n"
  1017. " \"renew-timer\": 1000,\n"
  1018. " \"subnet4\": [\n"
  1019. " {\n"
  1020. " \"pools\": [\n"
  1021. " {\n"
  1022. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1023. " }\n"
  1024. " ],\n"
  1025. " \"subnet\": \"192.0.2.0/24\"\n"
  1026. " }\n"
  1027. " ],\n"
  1028. " \"valid-lifetime\": 4000\n"
  1029. " }\n",
  1030. // CONFIGURATION 36
  1031. "{\n"
  1032. " \"interfaces-config\": {\n"
  1033. " \"interfaces\": [ \"eth0\", \"eth1\" ]\n"
  1034. " },\n"
  1035. " \"rebind-timer\": 2000,\n"
  1036. " \"renew-timer\": 1000,\n"
  1037. " \"valid-lifetime\": 4000\n"
  1038. " }\n",
  1039. // CONFIGURATION 37
  1040. "{\n"
  1041. " \"interfaces-config\": {\n"
  1042. " \"interfaces\": [ \"eth0\", \"*\", \"eth1\" ]\n"
  1043. " },\n"
  1044. " \"rebind-timer\": 2000,\n"
  1045. " \"renew-timer\": 1000,\n"
  1046. " \"valid-lifetime\": 4000\n"
  1047. " }\n",
  1048. // CONFIGURATION 38
  1049. "{\n"
  1050. " \"dhcp-ddns\": {\n"
  1051. " \"always-include-fqdn\": true,\n"
  1052. " \"enable-updates\": true,\n"
  1053. " \"generated-prefix\": \"test.prefix\",\n"
  1054. " \"max-queue-size\": 2048,\n"
  1055. " \"ncr-format\": \"JSON\",\n"
  1056. " \"ncr-protocol\": \"UDP\",\n"
  1057. " \"override-client-update\": true,\n"
  1058. " \"override-no-update\": true,\n"
  1059. " \"qualifying-suffix\": \"test.suffix.\",\n"
  1060. " \"replace-client-name\": \"when-present\",\n"
  1061. " \"sender-ip\": \"192.168.2.2\",\n"
  1062. " \"sender-port\": 778,\n"
  1063. " \"server-ip\": \"192.168.2.1\",\n"
  1064. " \"server-port\": 777\n"
  1065. " },\n"
  1066. " \"interfaces-config\": {\n"
  1067. " \"interfaces\": [ \"*\" ]\n"
  1068. " },\n"
  1069. " \"rebind-timer\": 2000,\n"
  1070. " \"renew-timer\": 1000,\n"
  1071. " \"subnet4\": [\n"
  1072. " {\n"
  1073. " \"pools\": [\n"
  1074. " {\n"
  1075. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1076. " }\n"
  1077. " ],\n"
  1078. " \"subnet\": \"192.0.2.0/24\"\n"
  1079. " }\n"
  1080. " ],\n"
  1081. " \"valid-lifetime\": 4000\n"
  1082. " }\n",
  1083. // CONFIGURATION 39
  1084. "{\n"
  1085. " \"interfaces-config\": {\n"
  1086. " \"interfaces\": [ \"*\" ]\n"
  1087. " },\n"
  1088. " \"rebind-timer\": 2000,\n"
  1089. " \"renew-timer\": 1000,\n"
  1090. " \"subnet4\": [\n"
  1091. " {\n"
  1092. " \"pools\": [\n"
  1093. " {\n"
  1094. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1095. " }\n"
  1096. " ],\n"
  1097. " \"rebind-timer\": 2,\n"
  1098. " \"relay\": {\n"
  1099. " \"ip-address\": \"192.0.2.123\"\n"
  1100. " },\n"
  1101. " \"renew-timer\": 1,\n"
  1102. " \"subnet\": \"192.0.2.0/24\",\n"
  1103. " \"valid-lifetime\": 4\n"
  1104. " }\n"
  1105. " ],\n"
  1106. " \"valid-lifetime\": 4000\n"
  1107. " }\n",
  1108. // CONFIGURATION 40
  1109. "{\n"
  1110. " \"interfaces-config\": {\n"
  1111. " \"interfaces\": [ \"*\" ]\n"
  1112. " },\n"
  1113. " \"rebind-timer\": 2000,\n"
  1114. " \"renew-timer\": 1000,\n"
  1115. " \"subnet4\": [\n"
  1116. " {\n"
  1117. " \"id\": 123,\n"
  1118. " \"pools\": [\n"
  1119. " {\n"
  1120. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1121. " }\n"
  1122. " ],\n"
  1123. " \"reservations\": [ ],\n"
  1124. " \"subnet\": \"192.0.2.0/24\"\n"
  1125. " },\n"
  1126. " {\n"
  1127. " \"id\": 234,\n"
  1128. " \"pools\": [\n"
  1129. " {\n"
  1130. " \"pool\": \"192.0.3.101 - 192.0.3.150\"\n"
  1131. " }\n"
  1132. " ],\n"
  1133. " \"reservations\": [\n"
  1134. " {\n"
  1135. " \"duid\": \"01:02:03:04:05:06:07:08:09:0A\",\n"
  1136. " \"hostname\": \"\",\n"
  1137. " \"ip-address\": \"192.0.3.112\",\n"
  1138. " \"option-data\": [\n"
  1139. " {\n"
  1140. " \"data\": \"192.0.3.15\",\n"
  1141. " \"name\": \"name-servers\"\n"
  1142. " },\n"
  1143. " {\n"
  1144. " \"data\": \"32\",\n"
  1145. " \"name\": \"default-ip-ttl\"\n"
  1146. " }\n"
  1147. " ]\n"
  1148. " },\n"
  1149. " {\n"
  1150. " \"hostname\": \"\",\n"
  1151. " \"hw-address\": \"01:02:03:04:05:06\",\n"
  1152. " \"ip-address\": \"192.0.3.120\",\n"
  1153. " \"option-data\": [\n"
  1154. " {\n"
  1155. " \"data\": \"192.0.3.95\",\n"
  1156. " \"name\": \"name-servers\"\n"
  1157. " },\n"
  1158. " {\n"
  1159. " \"data\": \"11\",\n"
  1160. " \"name\": \"default-ip-ttl\"\n"
  1161. " }\n"
  1162. " ]\n"
  1163. " }\n"
  1164. " ],\n"
  1165. " \"subnet\": \"192.0.3.0/24\"\n"
  1166. " },\n"
  1167. " {\n"
  1168. " \"id\": 542,\n"
  1169. " \"pools\": [\n"
  1170. " {\n"
  1171. " \"pool\": \"192.0.4.101 - 192.0.4.150\"\n"
  1172. " }\n"
  1173. " ],\n"
  1174. " \"reservations\": [\n"
  1175. " {\n"
  1176. " \"duid\": \"0A:09:08:07:06:05:04:03:02:01\",\n"
  1177. " \"hostname\": \"\",\n"
  1178. " \"ip-address\": \"192.0.4.101\",\n"
  1179. " \"option-data\": [\n"
  1180. " {\n"
  1181. " \"data\": \"192.0.4.11\",\n"
  1182. " \"name\": \"name-servers\"\n"
  1183. " },\n"
  1184. " {\n"
  1185. " \"data\": \"95\",\n"
  1186. " \"name\": \"default-ip-ttl\"\n"
  1187. " }\n"
  1188. " ]\n"
  1189. " },\n"
  1190. " {\n"
  1191. " \"circuit-id\": \"060504030201\",\n"
  1192. " \"hostname\": \"\",\n"
  1193. " \"ip-address\": \"192.0.4.102\"\n"
  1194. " },\n"
  1195. " {\n"
  1196. " \"client-id\": \"05:01:02:03:04:05:06\",\n"
  1197. " \"hostname\": \"\",\n"
  1198. " \"ip-address\": \"192.0.4.103\"\n"
  1199. " }\n"
  1200. " ],\n"
  1201. " \"subnet\": \"192.0.4.0/24\"\n"
  1202. " }\n"
  1203. " ],\n"
  1204. " \"valid-lifetime\": 4000\n"
  1205. " }\n",
  1206. // CONFIGURATION 41
  1207. "{\n"
  1208. " \"interfaces-config\": {\n"
  1209. " \"interfaces\": [ \"*\" ]\n"
  1210. " },\n"
  1211. " \"option-def\": [\n"
  1212. " {\n"
  1213. " \"code\": 100,\n"
  1214. " \"name\": \"foo\",\n"
  1215. " \"space\": \"isc\",\n"
  1216. " \"type\": \"uint32\"\n"
  1217. " }\n"
  1218. " ],\n"
  1219. " \"rebind-timer\": 2000,\n"
  1220. " \"renew-timer\": 1000,\n"
  1221. " \"subnet4\": [\n"
  1222. " {\n"
  1223. " \"id\": 234,\n"
  1224. " \"pools\": [\n"
  1225. " {\n"
  1226. " \"pool\": \"192.0.3.101 - 192.0.3.150\"\n"
  1227. " }\n"
  1228. " ],\n"
  1229. " \"reservations\": [\n"
  1230. " {\n"
  1231. " \"duid\": \"01:02:03:04:05:06:07:08:09:0A\",\n"
  1232. " \"ip-address\": \"192.0.3.112\",\n"
  1233. " \"option-data\": [\n"
  1234. " {\n"
  1235. " \"data\": \"123\",\n"
  1236. " \"name\": \"foo\",\n"
  1237. " \"space\": \"isc\"\n"
  1238. " }\n"
  1239. " ]\n"
  1240. " }\n"
  1241. " ],\n"
  1242. " \"subnet\": \"192.0.3.0/24\"\n"
  1243. " }\n"
  1244. " ],\n"
  1245. " \"valid-lifetime\": 4000\n"
  1246. " }\n",
  1247. // CONFIGURATION 42
  1248. "{\n"
  1249. " \"rebind-timer\": 2000,\n"
  1250. " \"renew-timer\": 1000,\n"
  1251. " \"subnet4\": [\n"
  1252. " {\n"
  1253. " \"pools\": [\n"
  1254. " {\n"
  1255. " \"pool\": \"192.0.2.0/24\"\n"
  1256. " }\n"
  1257. " ],\n"
  1258. " \"reservation-mode\": \"all\",\n"
  1259. " \"subnet\": \"192.0.2.0/24\"\n"
  1260. " },\n"
  1261. " {\n"
  1262. " \"pools\": [\n"
  1263. " {\n"
  1264. " \"pool\": \"192.0.3.0/24\"\n"
  1265. " }\n"
  1266. " ],\n"
  1267. " \"reservation-mode\": \"out-of-pool\",\n"
  1268. " \"subnet\": \"192.0.3.0/24\"\n"
  1269. " },\n"
  1270. " {\n"
  1271. " \"pools\": [\n"
  1272. " {\n"
  1273. " \"pool\": \"192.0.4.0/24\"\n"
  1274. " }\n"
  1275. " ],\n"
  1276. " \"reservation-mode\": \"disabled\",\n"
  1277. " \"subnet\": \"192.0.4.0/24\"\n"
  1278. " },\n"
  1279. " {\n"
  1280. " \"pools\": [\n"
  1281. " {\n"
  1282. " \"pool\": \"192.0.5.0/24\"\n"
  1283. " }\n"
  1284. " ],\n"
  1285. " \"subnet\": \"192.0.5.0/24\"\n"
  1286. " }\n"
  1287. " ],\n"
  1288. " \"valid-lifetime\": 4000\n"
  1289. " }\n",
  1290. // CONFIGURATION 43
  1291. "{\n"
  1292. " \"interfaces-config\": {\n"
  1293. " \"interfaces\": [ \"*\" ]\n"
  1294. " },\n"
  1295. " \"subnet4\": [ ]\n"
  1296. " }\n",
  1297. // CONFIGURATION 44
  1298. "{\n"
  1299. " \"interfaces-config\": {\n"
  1300. " \"interfaces\": [ \"*\" ]\n"
  1301. " },\n"
  1302. " \"subnet4\": [ ]\n"
  1303. " }\n",
  1304. // CONFIGURATION 45
  1305. "{\n"
  1306. " \"decline-probation-period\": 12345,\n"
  1307. " \"interfaces-config\": {\n"
  1308. " \"interfaces\": [ \"*\" ]\n"
  1309. " },\n"
  1310. " \"subnet4\": [ ]\n"
  1311. " }\n",
  1312. // CONFIGURATION 46
  1313. "{\n"
  1314. " \"expired-leases-processing\": {\n"
  1315. " \"flush-reclaimed-timer-wait-time\": 35,\n"
  1316. " \"hold-reclaimed-time\": 1800,\n"
  1317. " \"max-reclaim-leases\": 50,\n"
  1318. " \"max-reclaim-time\": 100,\n"
  1319. " \"reclaim-timer-wait-time\": 20,\n"
  1320. " \"unwarned-reclaim-cycles\": 10\n"
  1321. " },\n"
  1322. " \"interfaces-config\": {\n"
  1323. " \"interfaces\": [ \"*\" ]\n"
  1324. " },\n"
  1325. " \"subnet4\": [ ]\n"
  1326. " }\n",
  1327. // CONFIGURATION 47
  1328. "{\n"
  1329. " \"interfaces-config\": {\n"
  1330. " \"interfaces\": [ \"*\" ]\n"
  1331. " },\n"
  1332. " \"rebind-timer\": 2000,\n"
  1333. " \"renew-timer\": 1000,\n"
  1334. " \"subnet4\": [\n"
  1335. " {\n"
  1336. " \"pools\": [\n"
  1337. " {\n"
  1338. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1339. " }\n"
  1340. " ],\n"
  1341. " \"subnet\": \"192.0.2.0/24\"\n"
  1342. " }\n"
  1343. " ],\n"
  1344. " \"valid-lifetime\": 4000\n"
  1345. " }\n",
  1346. // CONFIGURATION 48
  1347. "{\n"
  1348. " \"interfaces-config\": {\n"
  1349. " \"interfaces\": [ \"*\" ]\n"
  1350. " },\n"
  1351. " \"rebind-timer\": 2000,\n"
  1352. " \"renew-timer\": 1000,\n"
  1353. " \"subnet4\": [\n"
  1354. " {\n"
  1355. " \"4o6-subnet\": \"2001:db8::123/45\",\n"
  1356. " \"pools\": [\n"
  1357. " {\n"
  1358. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1359. " }\n"
  1360. " ],\n"
  1361. " \"subnet\": \"192.0.2.0/24\"\n"
  1362. " }\n"
  1363. " ],\n"
  1364. " \"valid-lifetime\": 4000\n"
  1365. " }\n",
  1366. // CONFIGURATION 49
  1367. "{\n"
  1368. " \"interfaces-config\": {\n"
  1369. " \"interfaces\": [ \"*\" ]\n"
  1370. " },\n"
  1371. " \"rebind-timer\": 2000,\n"
  1372. " \"renew-timer\": 1000,\n"
  1373. " \"subnet4\": [\n"
  1374. " {\n"
  1375. " \"4o6-interface\": \"ethX\",\n"
  1376. " \"pools\": [\n"
  1377. " {\n"
  1378. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1379. " }\n"
  1380. " ],\n"
  1381. " \"subnet\": \"192.0.2.0/24\"\n"
  1382. " }\n"
  1383. " ],\n"
  1384. " \"valid-lifetime\": 4000\n"
  1385. " }\n",
  1386. // CONFIGURATION 50
  1387. "{\n"
  1388. " \"interfaces-config\": {\n"
  1389. " \"interfaces\": [ \"*\" ]\n"
  1390. " },\n"
  1391. " \"rebind-timer\": 2000,\n"
  1392. " \"renew-timer\": 1000,\n"
  1393. " \"subnet4\": [\n"
  1394. " {\n"
  1395. " \"4o6-interface\": \"ethX\",\n"
  1396. " \"4o6-subnet\": \"2001:db8::543/21\",\n"
  1397. " \"pools\": [\n"
  1398. " {\n"
  1399. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1400. " }\n"
  1401. " ],\n"
  1402. " \"subnet\": \"192.0.2.0/24\"\n"
  1403. " }\n"
  1404. " ],\n"
  1405. " \"valid-lifetime\": 4000\n"
  1406. " }\n",
  1407. // CONFIGURATION 51
  1408. "{\n"
  1409. " \"interfaces-config\": {\n"
  1410. " \"interfaces\": [ \"*\" ]\n"
  1411. " },\n"
  1412. " \"rebind-timer\": 2000,\n"
  1413. " \"renew-timer\": 1000,\n"
  1414. " \"subnet4\": [\n"
  1415. " {\n"
  1416. " \"4o6-interface-id\": \"vlan123\",\n"
  1417. " \"pools\": [\n"
  1418. " {\n"
  1419. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1420. " }\n"
  1421. " ],\n"
  1422. " \"subnet\": \"192.0.2.0/24\"\n"
  1423. " }\n"
  1424. " ],\n"
  1425. " \"valid-lifetime\": 4000\n"
  1426. " }\n",
  1427. // CONFIGURATION 52
  1428. "{\n"
  1429. " \"client-classes\": [\n"
  1430. " {\n"
  1431. " \"name\": \"one\"\n"
  1432. " },\n"
  1433. " {\n"
  1434. " \"name\": \"two\"\n"
  1435. " },\n"
  1436. " {\n"
  1437. " \"name\": \"three\"\n"
  1438. " }\n"
  1439. " ],\n"
  1440. " \"interfaces-config\": {\n"
  1441. " \"interfaces\": [ \"*\" ]\n"
  1442. " },\n"
  1443. " \"rebind-timer\": 2000,\n"
  1444. " \"renew-timer\": 1000,\n"
  1445. " \"subnet4\": [\n"
  1446. " {\n"
  1447. " \"pools\": [\n"
  1448. " {\n"
  1449. " \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
  1450. " }\n"
  1451. " ],\n"
  1452. " \"subnet\": \"192.0.2.0/24\"\n"
  1453. " }\n"
  1454. " ],\n"
  1455. " \"valid-lifetime\": 4000\n"
  1456. " }\n",
  1457. // CONFIGURATION 53
  1458. "{\n"
  1459. " \"interfaces-config\": {\n"
  1460. " \"interfaces\": [ \"*\" ]\n"
  1461. " },\n"
  1462. " \"rebind-timer\": 2000,\n"
  1463. " \"renew-timer\": 1000,\n"
  1464. " \"subnet4\": [\n"
  1465. " {\n"
  1466. " \"pools\": [\n"
  1467. " {\n"
  1468. " \"pool\": \"192.0.2.0/28\"\n"
  1469. " }\n"
  1470. " ],\n"
  1471. " \"subnet\": \"192.0.2.0/24\"\n"
  1472. " }\n"
  1473. " ],\n"
  1474. " \"valid-lifetime\": 4000\n"
  1475. " }\n",
  1476. // CONFIGURATION 54
  1477. "{\n"
  1478. " \"interfaces-config\": {\n"
  1479. " \"interfaces\": [ \"*\" ]\n"
  1480. " },\n"
  1481. " \"rebind-timer\": 2000,\n"
  1482. " \"renew-timer\": 1000,\n"
  1483. " \"subnet4\": [\n"
  1484. " {\n"
  1485. " \"pools\": [\n"
  1486. " {\n"
  1487. " \"pool\": \"192.0.2.0/28\",\n"
  1488. " \"user-context\": { }\n"
  1489. " }\n"
  1490. " ],\n"
  1491. " \"subnet\": \"192.0.2.0/24\"\n"
  1492. " }\n"
  1493. " ],\n"
  1494. " \"valid-lifetime\": 4000\n"
  1495. " }\n",
  1496. // CONFIGURATION 55
  1497. "{\n"
  1498. " \"interfaces-config\": {\n"
  1499. " \"interfaces\": [ \"*\" ]\n"
  1500. " },\n"
  1501. " \"rebind-timer\": 2000,\n"
  1502. " \"renew-timer\": 1000,\n"
  1503. " \"subnet4\": [\n"
  1504. " {\n"
  1505. " \"pools\": [\n"
  1506. " {\n"
  1507. " \"pool\": \"192.0.2.0/28\",\n"
  1508. " \"user-context\": {\n"
  1509. " \"bool-param\": true,\n"
  1510. " \"integer-param\": 42,\n"
  1511. " \"string-param\": \"Sagittarius\"\n"
  1512. " }\n"
  1513. " }\n"
  1514. " ],\n"
  1515. " \"subnet\": \"192.0.2.0/24\"\n"
  1516. " }\n"
  1517. " ],\n"
  1518. " \"valid-lifetime\": 4000\n"
  1519. " }\n",
  1520. // CONFIGURATION 56
  1521. "{\n"
  1522. " \"interfaces-config\": {\n"
  1523. " \"interfaces\": [ \"*\" ]\n"
  1524. " },\n"
  1525. " \"rebind-timer\": 2000,\n"
  1526. " \"renew-timer\": 1000,\n"
  1527. " \"subnet4\": [\n"
  1528. " {\n"
  1529. " \"pools\": [\n"
  1530. " {\n"
  1531. " \"pool\": \"192.0.2.0 - 192.0.2.15\",\n"
  1532. " \"user-context\": {\n"
  1533. " \"bool-param\": true,\n"
  1534. " \"integer-param\": 42,\n"
  1535. " \"string-param\": \"Sagittarius\"\n"
  1536. " }\n"
  1537. " }\n"
  1538. " ],\n"
  1539. " \"subnet\": \"192.0.2.0/24\"\n"
  1540. " }\n"
  1541. " ],\n"
  1542. " \"valid-lifetime\": 4000\n"
  1543. " }\n"
  1544. };
  1545. /// @brief unparsed configurations
  1546. const char* UNPARSED_CONFIGS[] = {
  1547. // CONFIGURATION 0
  1548. "{\n"
  1549. " \"decline-probation-period\": 86400,\n"
  1550. " \"dhcp-ddns\": {\n"
  1551. " \"always-include-fqdn\": false,\n"
  1552. " \"enable-updates\": false,\n"
  1553. " \"generated-prefix\": \"myhost\",\n"
  1554. " \"max-queue-size\": 1024,\n"
  1555. " \"ncr-format\": \"JSON\",\n"
  1556. " \"ncr-protocol\": \"UDP\",\n"
  1557. " \"override-client-update\": false,\n"
  1558. " \"override-no-update\": false,\n"
  1559. " \"qualifying-suffix\": \"\",\n"
  1560. " \"replace-client-name\": \"never\",\n"
  1561. " \"sender-ip\": \"0.0.0.0\",\n"
  1562. " \"sender-port\": 0,\n"
  1563. " \"server-ip\": \"127.0.0.1\",\n"
  1564. " \"server-port\": 53001\n"
  1565. " },\n"
  1566. " \"dhcp4o6-port\": 0,\n"
  1567. " \"echo-client-id\": true,\n"
  1568. " \"expired-leases-processing\": {\n"
  1569. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1570. " \"hold-reclaimed-time\": 3600,\n"
  1571. " \"max-reclaim-leases\": 100,\n"
  1572. " \"max-reclaim-time\": 250,\n"
  1573. " \"reclaim-timer-wait-time\": 10,\n"
  1574. " \"unwarned-reclaim-cycles\": 5\n"
  1575. " },\n"
  1576. " \"hooks-libraries\": [ ],\n"
  1577. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1578. " \"interfaces-config\": {\n"
  1579. " \"interfaces\": [ \"*\" ],\n"
  1580. " \"re-detect\": false\n"
  1581. " },\n"
  1582. " \"lease-database\": {\n"
  1583. " \"type\": \"memfile\"\n"
  1584. " },\n"
  1585. " \"option-data\": [ ],\n"
  1586. " \"option-def\": [ ],\n"
  1587. " \"subnet4\": [ ]\n"
  1588. " }\n",
  1589. // CONFIGURATION 1
  1590. "{\n"
  1591. " \"decline-probation-period\": 86400,\n"
  1592. " \"dhcp-ddns\": {\n"
  1593. " \"always-include-fqdn\": false,\n"
  1594. " \"enable-updates\": false,\n"
  1595. " \"generated-prefix\": \"myhost\",\n"
  1596. " \"max-queue-size\": 1024,\n"
  1597. " \"ncr-format\": \"JSON\",\n"
  1598. " \"ncr-protocol\": \"UDP\",\n"
  1599. " \"override-client-update\": false,\n"
  1600. " \"override-no-update\": false,\n"
  1601. " \"qualifying-suffix\": \"\",\n"
  1602. " \"replace-client-name\": \"never\",\n"
  1603. " \"sender-ip\": \"0.0.0.0\",\n"
  1604. " \"sender-port\": 0,\n"
  1605. " \"server-ip\": \"127.0.0.1\",\n"
  1606. " \"server-port\": 53001\n"
  1607. " },\n"
  1608. " \"dhcp4o6-port\": 0,\n"
  1609. " \"echo-client-id\": true,\n"
  1610. " \"expired-leases-processing\": {\n"
  1611. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1612. " \"hold-reclaimed-time\": 3600,\n"
  1613. " \"max-reclaim-leases\": 100,\n"
  1614. " \"max-reclaim-time\": 250,\n"
  1615. " \"reclaim-timer-wait-time\": 10,\n"
  1616. " \"unwarned-reclaim-cycles\": 5\n"
  1617. " },\n"
  1618. " \"hooks-libraries\": [ ],\n"
  1619. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1620. " \"interfaces-config\": {\n"
  1621. " \"interfaces\": [ \"*\" ],\n"
  1622. " \"re-detect\": false\n"
  1623. " },\n"
  1624. " \"lease-database\": {\n"
  1625. " \"type\": \"memfile\"\n"
  1626. " },\n"
  1627. " \"option-data\": [ ],\n"
  1628. " \"option-def\": [ ],\n"
  1629. " \"subnet4\": [\n"
  1630. " {\n"
  1631. " \"4o6-interface\": \"\",\n"
  1632. " \"4o6-interface-id\": \"\",\n"
  1633. " \"4o6-subnet\": \"\",\n"
  1634. " \"id\": 1,\n"
  1635. " \"match-client-id\": true,\n"
  1636. " \"next-server\": \"0.0.0.0\",\n"
  1637. " \"option-data\": [ ],\n"
  1638. " \"pools\": [\n"
  1639. " {\n"
  1640. " \"option-data\": [ ],\n"
  1641. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1642. " }\n"
  1643. " ],\n"
  1644. " \"rebind-timer\": 2000,\n"
  1645. " \"relay\": {\n"
  1646. " \"ip-address\": \"0.0.0.0\"\n"
  1647. " },\n"
  1648. " \"renew-timer\": 900,\n"
  1649. " \"reservation-mode\": \"all\",\n"
  1650. " \"reservations\": [ ],\n"
  1651. " \"subnet\": \"192.0.2.0/24\",\n"
  1652. " \"valid-lifetime\": 4000\n"
  1653. " }\n"
  1654. " ]\n"
  1655. " }\n",
  1656. // CONFIGURATION 2
  1657. "{\n"
  1658. " \"decline-probation-period\": 86400,\n"
  1659. " \"dhcp-ddns\": {\n"
  1660. " \"always-include-fqdn\": false,\n"
  1661. " \"enable-updates\": false,\n"
  1662. " \"generated-prefix\": \"myhost\",\n"
  1663. " \"max-queue-size\": 1024,\n"
  1664. " \"ncr-format\": \"JSON\",\n"
  1665. " \"ncr-protocol\": \"UDP\",\n"
  1666. " \"override-client-update\": false,\n"
  1667. " \"override-no-update\": false,\n"
  1668. " \"qualifying-suffix\": \"\",\n"
  1669. " \"replace-client-name\": \"never\",\n"
  1670. " \"sender-ip\": \"0.0.0.0\",\n"
  1671. " \"sender-port\": 0,\n"
  1672. " \"server-ip\": \"127.0.0.1\",\n"
  1673. " \"server-port\": 53001\n"
  1674. " },\n"
  1675. " \"dhcp4o6-port\": 0,\n"
  1676. " \"echo-client-id\": true,\n"
  1677. " \"expired-leases-processing\": {\n"
  1678. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1679. " \"hold-reclaimed-time\": 3600,\n"
  1680. " \"max-reclaim-leases\": 100,\n"
  1681. " \"max-reclaim-time\": 250,\n"
  1682. " \"reclaim-timer-wait-time\": 10,\n"
  1683. " \"unwarned-reclaim-cycles\": 5\n"
  1684. " },\n"
  1685. " \"hooks-libraries\": [ ],\n"
  1686. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1687. " \"interfaces-config\": {\n"
  1688. " \"interfaces\": [ \"*\" ],\n"
  1689. " \"re-detect\": false\n"
  1690. " },\n"
  1691. " \"lease-database\": {\n"
  1692. " \"type\": \"memfile\"\n"
  1693. " },\n"
  1694. " \"option-data\": [ ],\n"
  1695. " \"option-def\": [ ],\n"
  1696. " \"subnet4\": [\n"
  1697. " {\n"
  1698. " \"4o6-interface\": \"\",\n"
  1699. " \"4o6-interface-id\": \"\",\n"
  1700. " \"4o6-subnet\": \"\",\n"
  1701. " \"id\": 1,\n"
  1702. " \"match-client-id\": true,\n"
  1703. " \"next-server\": \"0.0.0.0\",\n"
  1704. " \"option-data\": [ ],\n"
  1705. " \"pools\": [\n"
  1706. " {\n"
  1707. " \"option-data\": [ ],\n"
  1708. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1709. " }\n"
  1710. " ],\n"
  1711. " \"rebind-timer\": 1800,\n"
  1712. " \"relay\": {\n"
  1713. " \"ip-address\": \"0.0.0.0\"\n"
  1714. " },\n"
  1715. " \"renew-timer\": 1000,\n"
  1716. " \"reservation-mode\": \"all\",\n"
  1717. " \"reservations\": [ ],\n"
  1718. " \"subnet\": \"192.0.2.0/24\",\n"
  1719. " \"valid-lifetime\": 4000\n"
  1720. " }\n"
  1721. " ]\n"
  1722. " }\n",
  1723. // CONFIGURATION 3
  1724. "{\n"
  1725. " \"decline-probation-period\": 86400,\n"
  1726. " \"dhcp-ddns\": {\n"
  1727. " \"always-include-fqdn\": false,\n"
  1728. " \"enable-updates\": false,\n"
  1729. " \"generated-prefix\": \"myhost\",\n"
  1730. " \"max-queue-size\": 1024,\n"
  1731. " \"ncr-format\": \"JSON\",\n"
  1732. " \"ncr-protocol\": \"UDP\",\n"
  1733. " \"override-client-update\": false,\n"
  1734. " \"override-no-update\": false,\n"
  1735. " \"qualifying-suffix\": \"\",\n"
  1736. " \"replace-client-name\": \"never\",\n"
  1737. " \"sender-ip\": \"0.0.0.0\",\n"
  1738. " \"sender-port\": 0,\n"
  1739. " \"server-ip\": \"127.0.0.1\",\n"
  1740. " \"server-port\": 53001\n"
  1741. " },\n"
  1742. " \"dhcp4o6-port\": 0,\n"
  1743. " \"echo-client-id\": true,\n"
  1744. " \"expired-leases-processing\": {\n"
  1745. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1746. " \"hold-reclaimed-time\": 3600,\n"
  1747. " \"max-reclaim-leases\": 100,\n"
  1748. " \"max-reclaim-time\": 250,\n"
  1749. " \"reclaim-timer-wait-time\": 10,\n"
  1750. " \"unwarned-reclaim-cycles\": 5\n"
  1751. " },\n"
  1752. " \"hooks-libraries\": [ ],\n"
  1753. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1754. " \"interfaces-config\": {\n"
  1755. " \"interfaces\": [ \"*\" ],\n"
  1756. " \"re-detect\": false\n"
  1757. " },\n"
  1758. " \"lease-database\": {\n"
  1759. " \"type\": \"memfile\"\n"
  1760. " },\n"
  1761. " \"option-data\": [ ],\n"
  1762. " \"option-def\": [ ],\n"
  1763. " \"subnet4\": [\n"
  1764. " {\n"
  1765. " \"4o6-interface\": \"\",\n"
  1766. " \"4o6-interface-id\": \"\",\n"
  1767. " \"4o6-subnet\": \"\",\n"
  1768. " \"id\": 1,\n"
  1769. " \"match-client-id\": true,\n"
  1770. " \"next-server\": \"0.0.0.0\",\n"
  1771. " \"option-data\": [ ],\n"
  1772. " \"pools\": [\n"
  1773. " {\n"
  1774. " \"option-data\": [ ],\n"
  1775. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1776. " }\n"
  1777. " ],\n"
  1778. " \"rebind-timer\": 2000,\n"
  1779. " \"relay\": {\n"
  1780. " \"ip-address\": \"0.0.0.0\"\n"
  1781. " },\n"
  1782. " \"renew-timer\": 1000,\n"
  1783. " \"reservation-mode\": \"all\",\n"
  1784. " \"reservations\": [ ],\n"
  1785. " \"subnet\": \"192.0.2.0/24\",\n"
  1786. " \"valid-lifetime\": 4000\n"
  1787. " }\n"
  1788. " ]\n"
  1789. " }\n",
  1790. // CONFIGURATION 4
  1791. "{\n"
  1792. " \"decline-probation-period\": 86400,\n"
  1793. " \"dhcp-ddns\": {\n"
  1794. " \"always-include-fqdn\": false,\n"
  1795. " \"enable-updates\": false,\n"
  1796. " \"generated-prefix\": \"myhost\",\n"
  1797. " \"max-queue-size\": 1024,\n"
  1798. " \"ncr-format\": \"JSON\",\n"
  1799. " \"ncr-protocol\": \"UDP\",\n"
  1800. " \"override-client-update\": false,\n"
  1801. " \"override-no-update\": false,\n"
  1802. " \"qualifying-suffix\": \"\",\n"
  1803. " \"replace-client-name\": \"never\",\n"
  1804. " \"sender-ip\": \"0.0.0.0\",\n"
  1805. " \"sender-port\": 0,\n"
  1806. " \"server-ip\": \"127.0.0.1\",\n"
  1807. " \"server-port\": 53001\n"
  1808. " },\n"
  1809. " \"dhcp4o6-port\": 0,\n"
  1810. " \"echo-client-id\": true,\n"
  1811. " \"expired-leases-processing\": {\n"
  1812. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1813. " \"hold-reclaimed-time\": 3600,\n"
  1814. " \"max-reclaim-leases\": 100,\n"
  1815. " \"max-reclaim-time\": 250,\n"
  1816. " \"reclaim-timer-wait-time\": 10,\n"
  1817. " \"unwarned-reclaim-cycles\": 5\n"
  1818. " },\n"
  1819. " \"hooks-libraries\": [ ],\n"
  1820. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1821. " \"interfaces-config\": {\n"
  1822. " \"interfaces\": [ \"*\" ],\n"
  1823. " \"re-detect\": false\n"
  1824. " },\n"
  1825. " \"lease-database\": {\n"
  1826. " \"type\": \"memfile\"\n"
  1827. " },\n"
  1828. " \"option-data\": [ ],\n"
  1829. " \"option-def\": [ ],\n"
  1830. " \"subnet4\": [\n"
  1831. " {\n"
  1832. " \"4o6-interface\": \"\",\n"
  1833. " \"4o6-interface-id\": \"\",\n"
  1834. " \"4o6-subnet\": \"\",\n"
  1835. " \"id\": 1,\n"
  1836. " \"match-client-id\": true,\n"
  1837. " \"next-server\": \"0.0.0.0\",\n"
  1838. " \"option-data\": [ ],\n"
  1839. " \"pools\": [\n"
  1840. " {\n"
  1841. " \"option-data\": [ ],\n"
  1842. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1843. " }\n"
  1844. " ],\n"
  1845. " \"rebind-timer\": 2000,\n"
  1846. " \"relay\": {\n"
  1847. " \"ip-address\": \"0.0.0.0\"\n"
  1848. " },\n"
  1849. " \"renew-timer\": 1000,\n"
  1850. " \"reservation-mode\": \"all\",\n"
  1851. " \"reservations\": [ ],\n"
  1852. " \"subnet\": \"192.0.2.0/24\",\n"
  1853. " \"valid-lifetime\": 4000\n"
  1854. " },\n"
  1855. " {\n"
  1856. " \"4o6-interface\": \"\",\n"
  1857. " \"4o6-interface-id\": \"\",\n"
  1858. " \"4o6-subnet\": \"\",\n"
  1859. " \"id\": 2,\n"
  1860. " \"match-client-id\": true,\n"
  1861. " \"next-server\": \"0.0.0.0\",\n"
  1862. " \"option-data\": [ ],\n"
  1863. " \"pools\": [\n"
  1864. " {\n"
  1865. " \"option-data\": [ ],\n"
  1866. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  1867. " }\n"
  1868. " ],\n"
  1869. " \"rebind-timer\": 2000,\n"
  1870. " \"relay\": {\n"
  1871. " \"ip-address\": \"0.0.0.0\"\n"
  1872. " },\n"
  1873. " \"renew-timer\": 1000,\n"
  1874. " \"reservation-mode\": \"all\",\n"
  1875. " \"reservations\": [ ],\n"
  1876. " \"subnet\": \"192.0.3.0/24\",\n"
  1877. " \"valid-lifetime\": 4000\n"
  1878. " },\n"
  1879. " {\n"
  1880. " \"4o6-interface\": \"\",\n"
  1881. " \"4o6-interface-id\": \"\",\n"
  1882. " \"4o6-subnet\": \"\",\n"
  1883. " \"id\": 3,\n"
  1884. " \"match-client-id\": true,\n"
  1885. " \"next-server\": \"0.0.0.0\",\n"
  1886. " \"option-data\": [ ],\n"
  1887. " \"pools\": [\n"
  1888. " {\n"
  1889. " \"option-data\": [ ],\n"
  1890. " \"pool\": \"192.0.4.101-192.0.4.150\"\n"
  1891. " }\n"
  1892. " ],\n"
  1893. " \"rebind-timer\": 2000,\n"
  1894. " \"relay\": {\n"
  1895. " \"ip-address\": \"0.0.0.0\"\n"
  1896. " },\n"
  1897. " \"renew-timer\": 1000,\n"
  1898. " \"reservation-mode\": \"all\",\n"
  1899. " \"reservations\": [ ],\n"
  1900. " \"subnet\": \"192.0.4.0/24\",\n"
  1901. " \"valid-lifetime\": 4000\n"
  1902. " },\n"
  1903. " {\n"
  1904. " \"4o6-interface\": \"\",\n"
  1905. " \"4o6-interface-id\": \"\",\n"
  1906. " \"4o6-subnet\": \"\",\n"
  1907. " \"id\": 4,\n"
  1908. " \"match-client-id\": true,\n"
  1909. " \"next-server\": \"0.0.0.0\",\n"
  1910. " \"option-data\": [ ],\n"
  1911. " \"pools\": [\n"
  1912. " {\n"
  1913. " \"option-data\": [ ],\n"
  1914. " \"pool\": \"192.0.5.101-192.0.5.150\"\n"
  1915. " }\n"
  1916. " ],\n"
  1917. " \"rebind-timer\": 2000,\n"
  1918. " \"relay\": {\n"
  1919. " \"ip-address\": \"0.0.0.0\"\n"
  1920. " },\n"
  1921. " \"renew-timer\": 1000,\n"
  1922. " \"reservation-mode\": \"all\",\n"
  1923. " \"reservations\": [ ],\n"
  1924. " \"subnet\": \"192.0.5.0/24\",\n"
  1925. " \"valid-lifetime\": 4000\n"
  1926. " }\n"
  1927. " ]\n"
  1928. " }\n",
  1929. // CONFIGURATION 5
  1930. "{\n"
  1931. " \"decline-probation-period\": 86400,\n"
  1932. " \"dhcp-ddns\": {\n"
  1933. " \"always-include-fqdn\": false,\n"
  1934. " \"enable-updates\": false,\n"
  1935. " \"generated-prefix\": \"myhost\",\n"
  1936. " \"max-queue-size\": 1024,\n"
  1937. " \"ncr-format\": \"JSON\",\n"
  1938. " \"ncr-protocol\": \"UDP\",\n"
  1939. " \"override-client-update\": false,\n"
  1940. " \"override-no-update\": false,\n"
  1941. " \"qualifying-suffix\": \"\",\n"
  1942. " \"replace-client-name\": \"never\",\n"
  1943. " \"sender-ip\": \"0.0.0.0\",\n"
  1944. " \"sender-port\": 0,\n"
  1945. " \"server-ip\": \"127.0.0.1\",\n"
  1946. " \"server-port\": 53001\n"
  1947. " },\n"
  1948. " \"dhcp4o6-port\": 0,\n"
  1949. " \"echo-client-id\": true,\n"
  1950. " \"expired-leases-processing\": {\n"
  1951. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1952. " \"hold-reclaimed-time\": 3600,\n"
  1953. " \"max-reclaim-leases\": 100,\n"
  1954. " \"max-reclaim-time\": 250,\n"
  1955. " \"reclaim-timer-wait-time\": 10,\n"
  1956. " \"unwarned-reclaim-cycles\": 5\n"
  1957. " },\n"
  1958. " \"hooks-libraries\": [ ],\n"
  1959. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1960. " \"interfaces-config\": {\n"
  1961. " \"interfaces\": [ \"*\" ],\n"
  1962. " \"re-detect\": false\n"
  1963. " },\n"
  1964. " \"lease-database\": {\n"
  1965. " \"type\": \"memfile\"\n"
  1966. " },\n"
  1967. " \"option-data\": [ ],\n"
  1968. " \"option-def\": [ ],\n"
  1969. " \"subnet4\": [\n"
  1970. " {\n"
  1971. " \"4o6-interface\": \"\",\n"
  1972. " \"4o6-interface-id\": \"\",\n"
  1973. " \"4o6-subnet\": \"\",\n"
  1974. " \"id\": 1024,\n"
  1975. " \"match-client-id\": true,\n"
  1976. " \"next-server\": \"0.0.0.0\",\n"
  1977. " \"option-data\": [ ],\n"
  1978. " \"pools\": [\n"
  1979. " {\n"
  1980. " \"option-data\": [ ],\n"
  1981. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1982. " }\n"
  1983. " ],\n"
  1984. " \"rebind-timer\": 2000,\n"
  1985. " \"relay\": {\n"
  1986. " \"ip-address\": \"0.0.0.0\"\n"
  1987. " },\n"
  1988. " \"renew-timer\": 1000,\n"
  1989. " \"reservation-mode\": \"all\",\n"
  1990. " \"reservations\": [ ],\n"
  1991. " \"subnet\": \"192.0.2.0/24\",\n"
  1992. " \"valid-lifetime\": 4000\n"
  1993. " },\n"
  1994. " {\n"
  1995. " \"4o6-interface\": \"\",\n"
  1996. " \"4o6-interface-id\": \"\",\n"
  1997. " \"4o6-subnet\": \"\",\n"
  1998. " \"id\": 100,\n"
  1999. " \"match-client-id\": true,\n"
  2000. " \"next-server\": \"0.0.0.0\",\n"
  2001. " \"option-data\": [ ],\n"
  2002. " \"pools\": [\n"
  2003. " {\n"
  2004. " \"option-data\": [ ],\n"
  2005. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  2006. " }\n"
  2007. " ],\n"
  2008. " \"rebind-timer\": 2000,\n"
  2009. " \"relay\": {\n"
  2010. " \"ip-address\": \"0.0.0.0\"\n"
  2011. " },\n"
  2012. " \"renew-timer\": 1000,\n"
  2013. " \"reservation-mode\": \"all\",\n"
  2014. " \"reservations\": [ ],\n"
  2015. " \"subnet\": \"192.0.3.0/24\",\n"
  2016. " \"valid-lifetime\": 4000\n"
  2017. " },\n"
  2018. " {\n"
  2019. " \"4o6-interface\": \"\",\n"
  2020. " \"4o6-interface-id\": \"\",\n"
  2021. " \"4o6-subnet\": \"\",\n"
  2022. " \"id\": 1,\n"
  2023. " \"match-client-id\": true,\n"
  2024. " \"next-server\": \"0.0.0.0\",\n"
  2025. " \"option-data\": [ ],\n"
  2026. " \"pools\": [\n"
  2027. " {\n"
  2028. " \"option-data\": [ ],\n"
  2029. " \"pool\": \"192.0.4.101-192.0.4.150\"\n"
  2030. " }\n"
  2031. " ],\n"
  2032. " \"rebind-timer\": 2000,\n"
  2033. " \"relay\": {\n"
  2034. " \"ip-address\": \"0.0.0.0\"\n"
  2035. " },\n"
  2036. " \"renew-timer\": 1000,\n"
  2037. " \"reservation-mode\": \"all\",\n"
  2038. " \"reservations\": [ ],\n"
  2039. " \"subnet\": \"192.0.4.0/24\",\n"
  2040. " \"valid-lifetime\": 4000\n"
  2041. " },\n"
  2042. " {\n"
  2043. " \"4o6-interface\": \"\",\n"
  2044. " \"4o6-interface-id\": \"\",\n"
  2045. " \"4o6-subnet\": \"\",\n"
  2046. " \"id\": 34,\n"
  2047. " \"match-client-id\": true,\n"
  2048. " \"next-server\": \"0.0.0.0\",\n"
  2049. " \"option-data\": [ ],\n"
  2050. " \"pools\": [\n"
  2051. " {\n"
  2052. " \"option-data\": [ ],\n"
  2053. " \"pool\": \"192.0.5.101-192.0.5.150\"\n"
  2054. " }\n"
  2055. " ],\n"
  2056. " \"rebind-timer\": 2000,\n"
  2057. " \"relay\": {\n"
  2058. " \"ip-address\": \"0.0.0.0\"\n"
  2059. " },\n"
  2060. " \"renew-timer\": 1000,\n"
  2061. " \"reservation-mode\": \"all\",\n"
  2062. " \"reservations\": [ ],\n"
  2063. " \"subnet\": \"192.0.5.0/24\",\n"
  2064. " \"valid-lifetime\": 4000\n"
  2065. " }\n"
  2066. " ]\n"
  2067. " }\n",
  2068. // CONFIGURATION 6
  2069. "{\n"
  2070. " \"decline-probation-period\": 86400,\n"
  2071. " \"dhcp-ddns\": {\n"
  2072. " \"always-include-fqdn\": false,\n"
  2073. " \"enable-updates\": false,\n"
  2074. " \"generated-prefix\": \"myhost\",\n"
  2075. " \"max-queue-size\": 1024,\n"
  2076. " \"ncr-format\": \"JSON\",\n"
  2077. " \"ncr-protocol\": \"UDP\",\n"
  2078. " \"override-client-update\": false,\n"
  2079. " \"override-no-update\": false,\n"
  2080. " \"qualifying-suffix\": \"\",\n"
  2081. " \"replace-client-name\": \"never\",\n"
  2082. " \"sender-ip\": \"0.0.0.0\",\n"
  2083. " \"sender-port\": 0,\n"
  2084. " \"server-ip\": \"127.0.0.1\",\n"
  2085. " \"server-port\": 53001\n"
  2086. " },\n"
  2087. " \"dhcp4o6-port\": 0,\n"
  2088. " \"echo-client-id\": true,\n"
  2089. " \"expired-leases-processing\": {\n"
  2090. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2091. " \"hold-reclaimed-time\": 3600,\n"
  2092. " \"max-reclaim-leases\": 100,\n"
  2093. " \"max-reclaim-time\": 250,\n"
  2094. " \"reclaim-timer-wait-time\": 10,\n"
  2095. " \"unwarned-reclaim-cycles\": 5\n"
  2096. " },\n"
  2097. " \"hooks-libraries\": [ ],\n"
  2098. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2099. " \"interfaces-config\": {\n"
  2100. " \"interfaces\": [ \"*\" ],\n"
  2101. " \"re-detect\": false\n"
  2102. " },\n"
  2103. " \"lease-database\": {\n"
  2104. " \"type\": \"memfile\"\n"
  2105. " },\n"
  2106. " \"option-data\": [ ],\n"
  2107. " \"option-def\": [ ],\n"
  2108. " \"subnet4\": [\n"
  2109. " {\n"
  2110. " \"4o6-interface\": \"\",\n"
  2111. " \"4o6-interface-id\": \"\",\n"
  2112. " \"4o6-subnet\": \"\",\n"
  2113. " \"id\": 1,\n"
  2114. " \"match-client-id\": true,\n"
  2115. " \"next-server\": \"1.2.3.4\",\n"
  2116. " \"option-data\": [ ],\n"
  2117. " \"pools\": [\n"
  2118. " {\n"
  2119. " \"option-data\": [ ],\n"
  2120. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2121. " }\n"
  2122. " ],\n"
  2123. " \"rebind-timer\": 2000,\n"
  2124. " \"relay\": {\n"
  2125. " \"ip-address\": \"0.0.0.0\"\n"
  2126. " },\n"
  2127. " \"renew-timer\": 1000,\n"
  2128. " \"reservation-mode\": \"all\",\n"
  2129. " \"reservations\": [ ],\n"
  2130. " \"subnet\": \"192.0.2.0/24\",\n"
  2131. " \"valid-lifetime\": 4000\n"
  2132. " }\n"
  2133. " ]\n"
  2134. " }\n",
  2135. // CONFIGURATION 7
  2136. "{\n"
  2137. " \"decline-probation-period\": 86400,\n"
  2138. " \"dhcp-ddns\": {\n"
  2139. " \"always-include-fqdn\": false,\n"
  2140. " \"enable-updates\": false,\n"
  2141. " \"generated-prefix\": \"myhost\",\n"
  2142. " \"max-queue-size\": 1024,\n"
  2143. " \"ncr-format\": \"JSON\",\n"
  2144. " \"ncr-protocol\": \"UDP\",\n"
  2145. " \"override-client-update\": false,\n"
  2146. " \"override-no-update\": false,\n"
  2147. " \"qualifying-suffix\": \"\",\n"
  2148. " \"replace-client-name\": \"never\",\n"
  2149. " \"sender-ip\": \"0.0.0.0\",\n"
  2150. " \"sender-port\": 0,\n"
  2151. " \"server-ip\": \"127.0.0.1\",\n"
  2152. " \"server-port\": 53001\n"
  2153. " },\n"
  2154. " \"dhcp4o6-port\": 0,\n"
  2155. " \"echo-client-id\": true,\n"
  2156. " \"expired-leases-processing\": {\n"
  2157. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2158. " \"hold-reclaimed-time\": 3600,\n"
  2159. " \"max-reclaim-leases\": 100,\n"
  2160. " \"max-reclaim-time\": 250,\n"
  2161. " \"reclaim-timer-wait-time\": 10,\n"
  2162. " \"unwarned-reclaim-cycles\": 5\n"
  2163. " },\n"
  2164. " \"hooks-libraries\": [ ],\n"
  2165. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2166. " \"interfaces-config\": {\n"
  2167. " \"interfaces\": [ \"*\" ],\n"
  2168. " \"re-detect\": false\n"
  2169. " },\n"
  2170. " \"lease-database\": {\n"
  2171. " \"type\": \"memfile\"\n"
  2172. " },\n"
  2173. " \"option-data\": [ ],\n"
  2174. " \"option-def\": [ ],\n"
  2175. " \"subnet4\": [\n"
  2176. " {\n"
  2177. " \"4o6-interface\": \"\",\n"
  2178. " \"4o6-interface-id\": \"\",\n"
  2179. " \"4o6-subnet\": \"\",\n"
  2180. " \"id\": 1,\n"
  2181. " \"match-client-id\": true,\n"
  2182. " \"next-server\": \"1.2.3.4\",\n"
  2183. " \"option-data\": [ ],\n"
  2184. " \"pools\": [\n"
  2185. " {\n"
  2186. " \"option-data\": [ ],\n"
  2187. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2188. " }\n"
  2189. " ],\n"
  2190. " \"rebind-timer\": 2000,\n"
  2191. " \"relay\": {\n"
  2192. " \"ip-address\": \"0.0.0.0\"\n"
  2193. " },\n"
  2194. " \"renew-timer\": 1000,\n"
  2195. " \"reservation-mode\": \"all\",\n"
  2196. " \"reservations\": [ ],\n"
  2197. " \"subnet\": \"192.0.2.0/24\",\n"
  2198. " \"valid-lifetime\": 4000\n"
  2199. " }\n"
  2200. " ]\n"
  2201. " }\n",
  2202. // CONFIGURATION 8
  2203. "{\n"
  2204. " \"decline-probation-period\": 86400,\n"
  2205. " \"dhcp-ddns\": {\n"
  2206. " \"always-include-fqdn\": false,\n"
  2207. " \"enable-updates\": false,\n"
  2208. " \"generated-prefix\": \"myhost\",\n"
  2209. " \"max-queue-size\": 1024,\n"
  2210. " \"ncr-format\": \"JSON\",\n"
  2211. " \"ncr-protocol\": \"UDP\",\n"
  2212. " \"override-client-update\": false,\n"
  2213. " \"override-no-update\": false,\n"
  2214. " \"qualifying-suffix\": \"\",\n"
  2215. " \"replace-client-name\": \"never\",\n"
  2216. " \"sender-ip\": \"0.0.0.0\",\n"
  2217. " \"sender-port\": 0,\n"
  2218. " \"server-ip\": \"127.0.0.1\",\n"
  2219. " \"server-port\": 53001\n"
  2220. " },\n"
  2221. " \"dhcp4o6-port\": 0,\n"
  2222. " \"echo-client-id\": true,\n"
  2223. " \"expired-leases-processing\": {\n"
  2224. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2225. " \"hold-reclaimed-time\": 3600,\n"
  2226. " \"max-reclaim-leases\": 100,\n"
  2227. " \"max-reclaim-time\": 250,\n"
  2228. " \"reclaim-timer-wait-time\": 10,\n"
  2229. " \"unwarned-reclaim-cycles\": 5\n"
  2230. " },\n"
  2231. " \"hooks-libraries\": [ ],\n"
  2232. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2233. " \"interfaces-config\": {\n"
  2234. " \"interfaces\": [ \"*\" ],\n"
  2235. " \"re-detect\": false\n"
  2236. " },\n"
  2237. " \"lease-database\": {\n"
  2238. " \"type\": \"memfile\"\n"
  2239. " },\n"
  2240. " \"option-data\": [ ],\n"
  2241. " \"option-def\": [ ],\n"
  2242. " \"subnet4\": [\n"
  2243. " {\n"
  2244. " \"4o6-interface\": \"\",\n"
  2245. " \"4o6-interface-id\": \"\",\n"
  2246. " \"4o6-subnet\": \"\",\n"
  2247. " \"id\": 1,\n"
  2248. " \"match-client-id\": true,\n"
  2249. " \"next-server\": \"1.2.3.4\",\n"
  2250. " \"option-data\": [ ],\n"
  2251. " \"pools\": [\n"
  2252. " {\n"
  2253. " \"option-data\": [ ],\n"
  2254. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2255. " }\n"
  2256. " ],\n"
  2257. " \"rebind-timer\": 2000,\n"
  2258. " \"relay\": {\n"
  2259. " \"ip-address\": \"0.0.0.0\"\n"
  2260. " },\n"
  2261. " \"renew-timer\": 1000,\n"
  2262. " \"reservation-mode\": \"all\",\n"
  2263. " \"reservations\": [ ],\n"
  2264. " \"subnet\": \"192.0.2.0/24\",\n"
  2265. " \"valid-lifetime\": 4000\n"
  2266. " }\n"
  2267. " ]\n"
  2268. " }\n",
  2269. // CONFIGURATION 9
  2270. "{\n"
  2271. " \"decline-probation-period\": 86400,\n"
  2272. " \"dhcp-ddns\": {\n"
  2273. " \"always-include-fqdn\": false,\n"
  2274. " \"enable-updates\": false,\n"
  2275. " \"generated-prefix\": \"myhost\",\n"
  2276. " \"max-queue-size\": 1024,\n"
  2277. " \"ncr-format\": \"JSON\",\n"
  2278. " \"ncr-protocol\": \"UDP\",\n"
  2279. " \"override-client-update\": false,\n"
  2280. " \"override-no-update\": false,\n"
  2281. " \"qualifying-suffix\": \"\",\n"
  2282. " \"replace-client-name\": \"never\",\n"
  2283. " \"sender-ip\": \"0.0.0.0\",\n"
  2284. " \"sender-port\": 0,\n"
  2285. " \"server-ip\": \"127.0.0.1\",\n"
  2286. " \"server-port\": 53001\n"
  2287. " },\n"
  2288. " \"dhcp4o6-port\": 0,\n"
  2289. " \"echo-client-id\": false,\n"
  2290. " \"expired-leases-processing\": {\n"
  2291. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2292. " \"hold-reclaimed-time\": 3600,\n"
  2293. " \"max-reclaim-leases\": 100,\n"
  2294. " \"max-reclaim-time\": 250,\n"
  2295. " \"reclaim-timer-wait-time\": 10,\n"
  2296. " \"unwarned-reclaim-cycles\": 5\n"
  2297. " },\n"
  2298. " \"hooks-libraries\": [ ],\n"
  2299. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2300. " \"interfaces-config\": {\n"
  2301. " \"interfaces\": [ \"*\" ],\n"
  2302. " \"re-detect\": false\n"
  2303. " },\n"
  2304. " \"lease-database\": {\n"
  2305. " \"type\": \"memfile\"\n"
  2306. " },\n"
  2307. " \"option-data\": [ ],\n"
  2308. " \"option-def\": [ ],\n"
  2309. " \"subnet4\": [\n"
  2310. " {\n"
  2311. " \"4o6-interface\": \"\",\n"
  2312. " \"4o6-interface-id\": \"\",\n"
  2313. " \"4o6-subnet\": \"\",\n"
  2314. " \"id\": 1,\n"
  2315. " \"match-client-id\": true,\n"
  2316. " \"next-server\": \"0.0.0.0\",\n"
  2317. " \"option-data\": [ ],\n"
  2318. " \"pools\": [\n"
  2319. " {\n"
  2320. " \"option-data\": [ ],\n"
  2321. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2322. " }\n"
  2323. " ],\n"
  2324. " \"rebind-timer\": 2000,\n"
  2325. " \"relay\": {\n"
  2326. " \"ip-address\": \"0.0.0.0\"\n"
  2327. " },\n"
  2328. " \"renew-timer\": 1000,\n"
  2329. " \"reservation-mode\": \"all\",\n"
  2330. " \"reservations\": [ ],\n"
  2331. " \"subnet\": \"192.0.2.0/24\",\n"
  2332. " \"valid-lifetime\": 4000\n"
  2333. " }\n"
  2334. " ]\n"
  2335. " }\n",
  2336. // CONFIGURATION 10
  2337. "{\n"
  2338. " \"decline-probation-period\": 86400,\n"
  2339. " \"dhcp-ddns\": {\n"
  2340. " \"always-include-fqdn\": false,\n"
  2341. " \"enable-updates\": false,\n"
  2342. " \"generated-prefix\": \"myhost\",\n"
  2343. " \"max-queue-size\": 1024,\n"
  2344. " \"ncr-format\": \"JSON\",\n"
  2345. " \"ncr-protocol\": \"UDP\",\n"
  2346. " \"override-client-update\": false,\n"
  2347. " \"override-no-update\": false,\n"
  2348. " \"qualifying-suffix\": \"\",\n"
  2349. " \"replace-client-name\": \"never\",\n"
  2350. " \"sender-ip\": \"0.0.0.0\",\n"
  2351. " \"sender-port\": 0,\n"
  2352. " \"server-ip\": \"127.0.0.1\",\n"
  2353. " \"server-port\": 53001\n"
  2354. " },\n"
  2355. " \"dhcp4o6-port\": 0,\n"
  2356. " \"echo-client-id\": true,\n"
  2357. " \"expired-leases-processing\": {\n"
  2358. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2359. " \"hold-reclaimed-time\": 3600,\n"
  2360. " \"max-reclaim-leases\": 100,\n"
  2361. " \"max-reclaim-time\": 250,\n"
  2362. " \"reclaim-timer-wait-time\": 10,\n"
  2363. " \"unwarned-reclaim-cycles\": 5\n"
  2364. " },\n"
  2365. " \"hooks-libraries\": [ ],\n"
  2366. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2367. " \"interfaces-config\": {\n"
  2368. " \"interfaces\": [ \"*\" ],\n"
  2369. " \"re-detect\": false\n"
  2370. " },\n"
  2371. " \"lease-database\": {\n"
  2372. " \"type\": \"memfile\"\n"
  2373. " },\n"
  2374. " \"option-data\": [ ],\n"
  2375. " \"option-def\": [ ],\n"
  2376. " \"subnet4\": [\n"
  2377. " {\n"
  2378. " \"4o6-interface\": \"\",\n"
  2379. " \"4o6-interface-id\": \"\",\n"
  2380. " \"4o6-subnet\": \"\",\n"
  2381. " \"id\": 1,\n"
  2382. " \"match-client-id\": true,\n"
  2383. " \"next-server\": \"0.0.0.0\",\n"
  2384. " \"option-data\": [ ],\n"
  2385. " \"pools\": [\n"
  2386. " {\n"
  2387. " \"option-data\": [ ],\n"
  2388. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2389. " }\n"
  2390. " ],\n"
  2391. " \"rebind-timer\": 2000,\n"
  2392. " \"relay\": {\n"
  2393. " \"ip-address\": \"0.0.0.0\"\n"
  2394. " },\n"
  2395. " \"renew-timer\": 1000,\n"
  2396. " \"reservation-mode\": \"all\",\n"
  2397. " \"reservations\": [ ],\n"
  2398. " \"subnet\": \"192.0.2.0/24\",\n"
  2399. " \"valid-lifetime\": 4000\n"
  2400. " }\n"
  2401. " ]\n"
  2402. " }\n",
  2403. // CONFIGURATION 11
  2404. "{\n"
  2405. " \"decline-probation-period\": 86400,\n"
  2406. " \"dhcp-ddns\": {\n"
  2407. " \"always-include-fqdn\": false,\n"
  2408. " \"enable-updates\": false,\n"
  2409. " \"generated-prefix\": \"myhost\",\n"
  2410. " \"max-queue-size\": 1024,\n"
  2411. " \"ncr-format\": \"JSON\",\n"
  2412. " \"ncr-protocol\": \"UDP\",\n"
  2413. " \"override-client-update\": false,\n"
  2414. " \"override-no-update\": false,\n"
  2415. " \"qualifying-suffix\": \"\",\n"
  2416. " \"replace-client-name\": \"never\",\n"
  2417. " \"sender-ip\": \"0.0.0.0\",\n"
  2418. " \"sender-port\": 0,\n"
  2419. " \"server-ip\": \"127.0.0.1\",\n"
  2420. " \"server-port\": 53001\n"
  2421. " },\n"
  2422. " \"dhcp4o6-port\": 0,\n"
  2423. " \"echo-client-id\": true,\n"
  2424. " \"expired-leases-processing\": {\n"
  2425. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2426. " \"hold-reclaimed-time\": 3600,\n"
  2427. " \"max-reclaim-leases\": 100,\n"
  2428. " \"max-reclaim-time\": 250,\n"
  2429. " \"reclaim-timer-wait-time\": 10,\n"
  2430. " \"unwarned-reclaim-cycles\": 5\n"
  2431. " },\n"
  2432. " \"hooks-libraries\": [ ],\n"
  2433. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2434. " \"interfaces-config\": {\n"
  2435. " \"interfaces\": [ \"*\" ],\n"
  2436. " \"re-detect\": false\n"
  2437. " },\n"
  2438. " \"lease-database\": {\n"
  2439. " \"type\": \"memfile\"\n"
  2440. " },\n"
  2441. " \"option-data\": [ ],\n"
  2442. " \"option-def\": [ ],\n"
  2443. " \"subnet4\": [\n"
  2444. " {\n"
  2445. " \"4o6-interface\": \"\",\n"
  2446. " \"4o6-interface-id\": \"\",\n"
  2447. " \"4o6-subnet\": \"\",\n"
  2448. " \"id\": 1,\n"
  2449. " \"match-client-id\": true,\n"
  2450. " \"next-server\": \"0.0.0.0\",\n"
  2451. " \"option-data\": [ ],\n"
  2452. " \"pools\": [\n"
  2453. " {\n"
  2454. " \"option-data\": [ ],\n"
  2455. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2456. " }\n"
  2457. " ],\n"
  2458. " \"rebind-timer\": 2000,\n"
  2459. " \"relay\": {\n"
  2460. " \"ip-address\": \"0.0.0.0\"\n"
  2461. " },\n"
  2462. " \"renew-timer\": 1000,\n"
  2463. " \"reservation-mode\": \"all\",\n"
  2464. " \"reservations\": [ ],\n"
  2465. " \"subnet\": \"192.0.2.0/24\",\n"
  2466. " \"valid-lifetime\": 4000\n"
  2467. " },\n"
  2468. " {\n"
  2469. " \"4o6-interface\": \"\",\n"
  2470. " \"4o6-interface-id\": \"\",\n"
  2471. " \"4o6-subnet\": \"\",\n"
  2472. " \"id\": 2,\n"
  2473. " \"match-client-id\": false,\n"
  2474. " \"next-server\": \"0.0.0.0\",\n"
  2475. " \"option-data\": [ ],\n"
  2476. " \"pools\": [\n"
  2477. " {\n"
  2478. " \"option-data\": [ ],\n"
  2479. " \"pool\": \"192.0.3.1-192.0.3.100\"\n"
  2480. " }\n"
  2481. " ],\n"
  2482. " \"rebind-timer\": 2000,\n"
  2483. " \"relay\": {\n"
  2484. " \"ip-address\": \"0.0.0.0\"\n"
  2485. " },\n"
  2486. " \"renew-timer\": 1000,\n"
  2487. " \"reservation-mode\": \"all\",\n"
  2488. " \"reservations\": [ ],\n"
  2489. " \"subnet\": \"192.0.3.0/24\",\n"
  2490. " \"valid-lifetime\": 4000\n"
  2491. " }\n"
  2492. " ]\n"
  2493. " }\n",
  2494. // CONFIGURATION 12
  2495. "{\n"
  2496. " \"decline-probation-period\": 86400,\n"
  2497. " \"dhcp-ddns\": {\n"
  2498. " \"always-include-fqdn\": false,\n"
  2499. " \"enable-updates\": false,\n"
  2500. " \"generated-prefix\": \"myhost\",\n"
  2501. " \"max-queue-size\": 1024,\n"
  2502. " \"ncr-format\": \"JSON\",\n"
  2503. " \"ncr-protocol\": \"UDP\",\n"
  2504. " \"override-client-update\": false,\n"
  2505. " \"override-no-update\": false,\n"
  2506. " \"qualifying-suffix\": \"\",\n"
  2507. " \"replace-client-name\": \"never\",\n"
  2508. " \"sender-ip\": \"0.0.0.0\",\n"
  2509. " \"sender-port\": 0,\n"
  2510. " \"server-ip\": \"127.0.0.1\",\n"
  2511. " \"server-port\": 53001\n"
  2512. " },\n"
  2513. " \"dhcp4o6-port\": 0,\n"
  2514. " \"echo-client-id\": true,\n"
  2515. " \"expired-leases-processing\": {\n"
  2516. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2517. " \"hold-reclaimed-time\": 3600,\n"
  2518. " \"max-reclaim-leases\": 100,\n"
  2519. " \"max-reclaim-time\": 250,\n"
  2520. " \"reclaim-timer-wait-time\": 10,\n"
  2521. " \"unwarned-reclaim-cycles\": 5\n"
  2522. " },\n"
  2523. " \"hooks-libraries\": [ ],\n"
  2524. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2525. " \"interfaces-config\": {\n"
  2526. " \"interfaces\": [ \"*\" ],\n"
  2527. " \"re-detect\": false\n"
  2528. " },\n"
  2529. " \"lease-database\": {\n"
  2530. " \"type\": \"memfile\"\n"
  2531. " },\n"
  2532. " \"option-data\": [ ],\n"
  2533. " \"option-def\": [ ],\n"
  2534. " \"subnet4\": [\n"
  2535. " {\n"
  2536. " \"4o6-interface\": \"\",\n"
  2537. " \"4o6-interface-id\": \"\",\n"
  2538. " \"4o6-subnet\": \"\",\n"
  2539. " \"id\": 1,\n"
  2540. " \"match-client-id\": false,\n"
  2541. " \"next-server\": \"0.0.0.0\",\n"
  2542. " \"option-data\": [ ],\n"
  2543. " \"pools\": [\n"
  2544. " {\n"
  2545. " \"option-data\": [ ],\n"
  2546. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2547. " }\n"
  2548. " ],\n"
  2549. " \"rebind-timer\": 2000,\n"
  2550. " \"relay\": {\n"
  2551. " \"ip-address\": \"0.0.0.0\"\n"
  2552. " },\n"
  2553. " \"renew-timer\": 1000,\n"
  2554. " \"reservation-mode\": \"all\",\n"
  2555. " \"reservations\": [ ],\n"
  2556. " \"subnet\": \"192.0.2.0/24\",\n"
  2557. " \"valid-lifetime\": 4000\n"
  2558. " },\n"
  2559. " {\n"
  2560. " \"4o6-interface\": \"\",\n"
  2561. " \"4o6-interface-id\": \"\",\n"
  2562. " \"4o6-subnet\": \"\",\n"
  2563. " \"id\": 2,\n"
  2564. " \"match-client-id\": true,\n"
  2565. " \"next-server\": \"0.0.0.0\",\n"
  2566. " \"option-data\": [ ],\n"
  2567. " \"pools\": [\n"
  2568. " {\n"
  2569. " \"option-data\": [ ],\n"
  2570. " \"pool\": \"192.0.3.1-192.0.3.100\"\n"
  2571. " }\n"
  2572. " ],\n"
  2573. " \"rebind-timer\": 2000,\n"
  2574. " \"relay\": {\n"
  2575. " \"ip-address\": \"0.0.0.0\"\n"
  2576. " },\n"
  2577. " \"renew-timer\": 1000,\n"
  2578. " \"reservation-mode\": \"all\",\n"
  2579. " \"reservations\": [ ],\n"
  2580. " \"subnet\": \"192.0.3.0/24\",\n"
  2581. " \"valid-lifetime\": 4000\n"
  2582. " }\n"
  2583. " ]\n"
  2584. " }\n",
  2585. // CONFIGURATION 13
  2586. "{\n"
  2587. " \"decline-probation-period\": 86400,\n"
  2588. " \"dhcp-ddns\": {\n"
  2589. " \"always-include-fqdn\": false,\n"
  2590. " \"enable-updates\": false,\n"
  2591. " \"generated-prefix\": \"myhost\",\n"
  2592. " \"max-queue-size\": 1024,\n"
  2593. " \"ncr-format\": \"JSON\",\n"
  2594. " \"ncr-protocol\": \"UDP\",\n"
  2595. " \"override-client-update\": false,\n"
  2596. " \"override-no-update\": false,\n"
  2597. " \"qualifying-suffix\": \"\",\n"
  2598. " \"replace-client-name\": \"never\",\n"
  2599. " \"sender-ip\": \"0.0.0.0\",\n"
  2600. " \"sender-port\": 0,\n"
  2601. " \"server-ip\": \"127.0.0.1\",\n"
  2602. " \"server-port\": 53001\n"
  2603. " },\n"
  2604. " \"dhcp4o6-port\": 0,\n"
  2605. " \"echo-client-id\": true,\n"
  2606. " \"expired-leases-processing\": {\n"
  2607. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2608. " \"hold-reclaimed-time\": 3600,\n"
  2609. " \"max-reclaim-leases\": 100,\n"
  2610. " \"max-reclaim-time\": 250,\n"
  2611. " \"reclaim-timer-wait-time\": 10,\n"
  2612. " \"unwarned-reclaim-cycles\": 5\n"
  2613. " },\n"
  2614. " \"hooks-libraries\": [ ],\n"
  2615. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2616. " \"interfaces-config\": {\n"
  2617. " \"interfaces\": [ \"*\" ],\n"
  2618. " \"re-detect\": false\n"
  2619. " },\n"
  2620. " \"lease-database\": {\n"
  2621. " \"type\": \"memfile\"\n"
  2622. " },\n"
  2623. " \"option-data\": [ ],\n"
  2624. " \"option-def\": [ ],\n"
  2625. " \"subnet4\": [\n"
  2626. " {\n"
  2627. " \"4o6-interface\": \"\",\n"
  2628. " \"4o6-interface-id\": \"\",\n"
  2629. " \"4o6-subnet\": \"\",\n"
  2630. " \"id\": 1,\n"
  2631. " \"match-client-id\": true,\n"
  2632. " \"next-server\": \"0.0.0.0\",\n"
  2633. " \"option-data\": [ ],\n"
  2634. " \"pools\": [\n"
  2635. " {\n"
  2636. " \"option-data\": [ ],\n"
  2637. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2638. " }\n"
  2639. " ],\n"
  2640. " \"rebind-timer\": 2,\n"
  2641. " \"relay\": {\n"
  2642. " \"ip-address\": \"0.0.0.0\"\n"
  2643. " },\n"
  2644. " \"renew-timer\": 1,\n"
  2645. " \"reservation-mode\": \"all\",\n"
  2646. " \"reservations\": [ ],\n"
  2647. " \"subnet\": \"192.0.2.0/24\",\n"
  2648. " \"valid-lifetime\": 4\n"
  2649. " }\n"
  2650. " ]\n"
  2651. " }\n",
  2652. // CONFIGURATION 14
  2653. "{\n"
  2654. " \"decline-probation-period\": 86400,\n"
  2655. " \"dhcp-ddns\": {\n"
  2656. " \"always-include-fqdn\": false,\n"
  2657. " \"enable-updates\": false,\n"
  2658. " \"generated-prefix\": \"myhost\",\n"
  2659. " \"max-queue-size\": 1024,\n"
  2660. " \"ncr-format\": \"JSON\",\n"
  2661. " \"ncr-protocol\": \"UDP\",\n"
  2662. " \"override-client-update\": false,\n"
  2663. " \"override-no-update\": false,\n"
  2664. " \"qualifying-suffix\": \"\",\n"
  2665. " \"replace-client-name\": \"never\",\n"
  2666. " \"sender-ip\": \"0.0.0.0\",\n"
  2667. " \"sender-port\": 0,\n"
  2668. " \"server-ip\": \"127.0.0.1\",\n"
  2669. " \"server-port\": 53001\n"
  2670. " },\n"
  2671. " \"dhcp4o6-port\": 0,\n"
  2672. " \"echo-client-id\": true,\n"
  2673. " \"expired-leases-processing\": {\n"
  2674. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2675. " \"hold-reclaimed-time\": 3600,\n"
  2676. " \"max-reclaim-leases\": 100,\n"
  2677. " \"max-reclaim-time\": 250,\n"
  2678. " \"reclaim-timer-wait-time\": 10,\n"
  2679. " \"unwarned-reclaim-cycles\": 5\n"
  2680. " },\n"
  2681. " \"hooks-libraries\": [ ],\n"
  2682. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2683. " \"interfaces-config\": {\n"
  2684. " \"interfaces\": [ \"*\" ],\n"
  2685. " \"re-detect\": false\n"
  2686. " },\n"
  2687. " \"lease-database\": {\n"
  2688. " \"type\": \"memfile\"\n"
  2689. " },\n"
  2690. " \"option-data\": [ ],\n"
  2691. " \"option-def\": [ ],\n"
  2692. " \"subnet4\": [\n"
  2693. " {\n"
  2694. " \"4o6-interface\": \"\",\n"
  2695. " \"4o6-interface-id\": \"\",\n"
  2696. " \"4o6-subnet\": \"\",\n"
  2697. " \"id\": 1,\n"
  2698. " \"match-client-id\": true,\n"
  2699. " \"next-server\": \"0.0.0.0\",\n"
  2700. " \"option-data\": [ ],\n"
  2701. " \"pools\": [\n"
  2702. " {\n"
  2703. " \"option-data\": [ ],\n"
  2704. " \"pool\": \"192.0.2.0/28\"\n"
  2705. " },\n"
  2706. " {\n"
  2707. " \"option-data\": [ ],\n"
  2708. " \"pool\": \"192.0.2.200-192.0.2.255\"\n"
  2709. " }\n"
  2710. " ],\n"
  2711. " \"rebind-timer\": 2000,\n"
  2712. " \"relay\": {\n"
  2713. " \"ip-address\": \"0.0.0.0\"\n"
  2714. " },\n"
  2715. " \"renew-timer\": 1000,\n"
  2716. " \"reservation-mode\": \"all\",\n"
  2717. " \"reservations\": [ ],\n"
  2718. " \"subnet\": \"192.0.2.0/24\",\n"
  2719. " \"valid-lifetime\": 4000\n"
  2720. " },\n"
  2721. " {\n"
  2722. " \"4o6-interface\": \"\",\n"
  2723. " \"4o6-interface-id\": \"\",\n"
  2724. " \"4o6-subnet\": \"\",\n"
  2725. " \"id\": 2,\n"
  2726. " \"match-client-id\": true,\n"
  2727. " \"next-server\": \"0.0.0.0\",\n"
  2728. " \"option-data\": [ ],\n"
  2729. " \"pools\": [\n"
  2730. " {\n"
  2731. " \"option-data\": [ ],\n"
  2732. " \"pool\": \"192.0.3.0/25\"\n"
  2733. " },\n"
  2734. " {\n"
  2735. " \"option-data\": [ ],\n"
  2736. " \"pool\": \"192.0.3.128/25\"\n"
  2737. " }\n"
  2738. " ],\n"
  2739. " \"rebind-timer\": 2000,\n"
  2740. " \"relay\": {\n"
  2741. " \"ip-address\": \"0.0.0.0\"\n"
  2742. " },\n"
  2743. " \"renew-timer\": 1000,\n"
  2744. " \"reservation-mode\": \"all\",\n"
  2745. " \"reservations\": [ ],\n"
  2746. " \"subnet\": \"192.0.3.0/24\",\n"
  2747. " \"valid-lifetime\": 4000\n"
  2748. " }\n"
  2749. " ]\n"
  2750. " }\n",
  2751. // CONFIGURATION 15
  2752. "{\n"
  2753. " \"decline-probation-period\": 86400,\n"
  2754. " \"dhcp-ddns\": {\n"
  2755. " \"always-include-fqdn\": false,\n"
  2756. " \"enable-updates\": false,\n"
  2757. " \"generated-prefix\": \"myhost\",\n"
  2758. " \"max-queue-size\": 1024,\n"
  2759. " \"ncr-format\": \"JSON\",\n"
  2760. " \"ncr-protocol\": \"UDP\",\n"
  2761. " \"override-client-update\": false,\n"
  2762. " \"override-no-update\": false,\n"
  2763. " \"qualifying-suffix\": \"\",\n"
  2764. " \"replace-client-name\": \"never\",\n"
  2765. " \"sender-ip\": \"0.0.0.0\",\n"
  2766. " \"sender-port\": 0,\n"
  2767. " \"server-ip\": \"127.0.0.1\",\n"
  2768. " \"server-port\": 53001\n"
  2769. " },\n"
  2770. " \"dhcp4o6-port\": 0,\n"
  2771. " \"echo-client-id\": true,\n"
  2772. " \"expired-leases-processing\": {\n"
  2773. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2774. " \"hold-reclaimed-time\": 3600,\n"
  2775. " \"max-reclaim-leases\": 100,\n"
  2776. " \"max-reclaim-time\": 250,\n"
  2777. " \"reclaim-timer-wait-time\": 10,\n"
  2778. " \"unwarned-reclaim-cycles\": 5\n"
  2779. " },\n"
  2780. " \"hooks-libraries\": [ ],\n"
  2781. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2782. " \"interfaces-config\": {\n"
  2783. " \"interfaces\": [ \"*\" ],\n"
  2784. " \"re-detect\": false\n"
  2785. " },\n"
  2786. " \"lease-database\": {\n"
  2787. " \"type\": \"memfile\"\n"
  2788. " },\n"
  2789. " \"option-data\": [ ],\n"
  2790. " \"option-def\": [ ],\n"
  2791. " \"subnet4\": [\n"
  2792. " {\n"
  2793. " \"4o6-interface\": \"\",\n"
  2794. " \"4o6-interface-id\": \"\",\n"
  2795. " \"4o6-subnet\": \"\",\n"
  2796. " \"id\": 1,\n"
  2797. " \"match-client-id\": true,\n"
  2798. " \"next-server\": \"0.0.0.0\",\n"
  2799. " \"option-data\": [ ],\n"
  2800. " \"pools\": [\n"
  2801. " {\n"
  2802. " \"option-data\": [ ],\n"
  2803. " \"pool\": \"192.0.2.128/28\"\n"
  2804. " }\n"
  2805. " ],\n"
  2806. " \"rebind-timer\": 2000,\n"
  2807. " \"relay\": {\n"
  2808. " \"ip-address\": \"0.0.0.0\"\n"
  2809. " },\n"
  2810. " \"renew-timer\": 1000,\n"
  2811. " \"reservation-mode\": \"all\",\n"
  2812. " \"reservations\": [ ],\n"
  2813. " \"subnet\": \"192.0.2.0/24\",\n"
  2814. " \"valid-lifetime\": 4000\n"
  2815. " }\n"
  2816. " ]\n"
  2817. " }\n",
  2818. // CONFIGURATION 16
  2819. "{\n"
  2820. " \"decline-probation-period\": 86400,\n"
  2821. " \"dhcp-ddns\": {\n"
  2822. " \"always-include-fqdn\": false,\n"
  2823. " \"enable-updates\": false,\n"
  2824. " \"generated-prefix\": \"myhost\",\n"
  2825. " \"max-queue-size\": 1024,\n"
  2826. " \"ncr-format\": \"JSON\",\n"
  2827. " \"ncr-protocol\": \"UDP\",\n"
  2828. " \"override-client-update\": false,\n"
  2829. " \"override-no-update\": false,\n"
  2830. " \"qualifying-suffix\": \"\",\n"
  2831. " \"replace-client-name\": \"never\",\n"
  2832. " \"sender-ip\": \"0.0.0.0\",\n"
  2833. " \"sender-port\": 0,\n"
  2834. " \"server-ip\": \"127.0.0.1\",\n"
  2835. " \"server-port\": 53001\n"
  2836. " },\n"
  2837. " \"dhcp4o6-port\": 0,\n"
  2838. " \"echo-client-id\": true,\n"
  2839. " \"expired-leases-processing\": {\n"
  2840. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2841. " \"hold-reclaimed-time\": 3600,\n"
  2842. " \"max-reclaim-leases\": 100,\n"
  2843. " \"max-reclaim-time\": 250,\n"
  2844. " \"reclaim-timer-wait-time\": 10,\n"
  2845. " \"unwarned-reclaim-cycles\": 5\n"
  2846. " },\n"
  2847. " \"hooks-libraries\": [ ],\n"
  2848. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2849. " \"interfaces-config\": {\n"
  2850. " \"interfaces\": [ ],\n"
  2851. " \"re-detect\": false\n"
  2852. " },\n"
  2853. " \"lease-database\": {\n"
  2854. " \"type\": \"memfile\"\n"
  2855. " },\n"
  2856. " \"option-data\": [ ],\n"
  2857. " \"option-def\": [\n"
  2858. " {\n"
  2859. " \"array\": false,\n"
  2860. " \"code\": 100,\n"
  2861. " \"encapsulate\": \"\",\n"
  2862. " \"name\": \"foo\",\n"
  2863. " \"record-types\": \"\",\n"
  2864. " \"space\": \"isc\",\n"
  2865. " \"type\": \"ipv4-address\"\n"
  2866. " }\n"
  2867. " ],\n"
  2868. " \"subnet4\": [ ]\n"
  2869. " }\n",
  2870. // CONFIGURATION 17
  2871. "{\n"
  2872. " \"decline-probation-period\": 86400,\n"
  2873. " \"dhcp-ddns\": {\n"
  2874. " \"always-include-fqdn\": false,\n"
  2875. " \"enable-updates\": false,\n"
  2876. " \"generated-prefix\": \"myhost\",\n"
  2877. " \"max-queue-size\": 1024,\n"
  2878. " \"ncr-format\": \"JSON\",\n"
  2879. " \"ncr-protocol\": \"UDP\",\n"
  2880. " \"override-client-update\": false,\n"
  2881. " \"override-no-update\": false,\n"
  2882. " \"qualifying-suffix\": \"\",\n"
  2883. " \"replace-client-name\": \"never\",\n"
  2884. " \"sender-ip\": \"0.0.0.0\",\n"
  2885. " \"sender-port\": 0,\n"
  2886. " \"server-ip\": \"127.0.0.1\",\n"
  2887. " \"server-port\": 53001\n"
  2888. " },\n"
  2889. " \"dhcp4o6-port\": 0,\n"
  2890. " \"echo-client-id\": true,\n"
  2891. " \"expired-leases-processing\": {\n"
  2892. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2893. " \"hold-reclaimed-time\": 3600,\n"
  2894. " \"max-reclaim-leases\": 100,\n"
  2895. " \"max-reclaim-time\": 250,\n"
  2896. " \"reclaim-timer-wait-time\": 10,\n"
  2897. " \"unwarned-reclaim-cycles\": 5\n"
  2898. " },\n"
  2899. " \"hooks-libraries\": [ ],\n"
  2900. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2901. " \"interfaces-config\": {\n"
  2902. " \"interfaces\": [ ],\n"
  2903. " \"re-detect\": false\n"
  2904. " },\n"
  2905. " \"lease-database\": {\n"
  2906. " \"type\": \"memfile\"\n"
  2907. " },\n"
  2908. " \"option-data\": [ ],\n"
  2909. " \"option-def\": [\n"
  2910. " {\n"
  2911. " \"array\": false,\n"
  2912. " \"code\": 100,\n"
  2913. " \"encapsulate\": \"\",\n"
  2914. " \"name\": \"foo\",\n"
  2915. " \"record-types\": \"uint16, ipv4-address, ipv6-address, string\",\n"
  2916. " \"space\": \"isc\",\n"
  2917. " \"type\": \"record\"\n"
  2918. " }\n"
  2919. " ],\n"
  2920. " \"subnet4\": [ ]\n"
  2921. " }\n",
  2922. // CONFIGURATION 18
  2923. "{\n"
  2924. " \"decline-probation-period\": 86400,\n"
  2925. " \"dhcp-ddns\": {\n"
  2926. " \"always-include-fqdn\": false,\n"
  2927. " \"enable-updates\": false,\n"
  2928. " \"generated-prefix\": \"myhost\",\n"
  2929. " \"max-queue-size\": 1024,\n"
  2930. " \"ncr-format\": \"JSON\",\n"
  2931. " \"ncr-protocol\": \"UDP\",\n"
  2932. " \"override-client-update\": false,\n"
  2933. " \"override-no-update\": false,\n"
  2934. " \"qualifying-suffix\": \"\",\n"
  2935. " \"replace-client-name\": \"never\",\n"
  2936. " \"sender-ip\": \"0.0.0.0\",\n"
  2937. " \"sender-port\": 0,\n"
  2938. " \"server-ip\": \"127.0.0.1\",\n"
  2939. " \"server-port\": 53001\n"
  2940. " },\n"
  2941. " \"dhcp4o6-port\": 0,\n"
  2942. " \"echo-client-id\": true,\n"
  2943. " \"expired-leases-processing\": {\n"
  2944. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2945. " \"hold-reclaimed-time\": 3600,\n"
  2946. " \"max-reclaim-leases\": 100,\n"
  2947. " \"max-reclaim-time\": 250,\n"
  2948. " \"reclaim-timer-wait-time\": 10,\n"
  2949. " \"unwarned-reclaim-cycles\": 5\n"
  2950. " },\n"
  2951. " \"hooks-libraries\": [ ],\n"
  2952. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2953. " \"interfaces-config\": {\n"
  2954. " \"interfaces\": [ ],\n"
  2955. " \"re-detect\": false\n"
  2956. " },\n"
  2957. " \"lease-database\": {\n"
  2958. " \"type\": \"memfile\"\n"
  2959. " },\n"
  2960. " \"option-data\": [ ],\n"
  2961. " \"option-def\": [\n"
  2962. " {\n"
  2963. " \"array\": false,\n"
  2964. " \"code\": 100,\n"
  2965. " \"encapsulate\": \"\",\n"
  2966. " \"name\": \"foo\",\n"
  2967. " \"record-types\": \"\",\n"
  2968. " \"space\": \"isc\",\n"
  2969. " \"type\": \"uint32\"\n"
  2970. " },\n"
  2971. " {\n"
  2972. " \"array\": false,\n"
  2973. " \"code\": 101,\n"
  2974. " \"encapsulate\": \"\",\n"
  2975. " \"name\": \"foo-2\",\n"
  2976. " \"record-types\": \"\",\n"
  2977. " \"space\": \"isc\",\n"
  2978. " \"type\": \"ipv4-address\"\n"
  2979. " }\n"
  2980. " ],\n"
  2981. " \"subnet4\": [ ]\n"
  2982. " }\n",
  2983. // CONFIGURATION 19
  2984. "{\n"
  2985. " \"decline-probation-period\": 86400,\n"
  2986. " \"dhcp-ddns\": {\n"
  2987. " \"always-include-fqdn\": false,\n"
  2988. " \"enable-updates\": false,\n"
  2989. " \"generated-prefix\": \"myhost\",\n"
  2990. " \"max-queue-size\": 1024,\n"
  2991. " \"ncr-format\": \"JSON\",\n"
  2992. " \"ncr-protocol\": \"UDP\",\n"
  2993. " \"override-client-update\": false,\n"
  2994. " \"override-no-update\": false,\n"
  2995. " \"qualifying-suffix\": \"\",\n"
  2996. " \"replace-client-name\": \"never\",\n"
  2997. " \"sender-ip\": \"0.0.0.0\",\n"
  2998. " \"sender-port\": 0,\n"
  2999. " \"server-ip\": \"127.0.0.1\",\n"
  3000. " \"server-port\": 53001\n"
  3001. " },\n"
  3002. " \"dhcp4o6-port\": 0,\n"
  3003. " \"echo-client-id\": true,\n"
  3004. " \"expired-leases-processing\": {\n"
  3005. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3006. " \"hold-reclaimed-time\": 3600,\n"
  3007. " \"max-reclaim-leases\": 100,\n"
  3008. " \"max-reclaim-time\": 250,\n"
  3009. " \"reclaim-timer-wait-time\": 10,\n"
  3010. " \"unwarned-reclaim-cycles\": 5\n"
  3011. " },\n"
  3012. " \"hooks-libraries\": [ ],\n"
  3013. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3014. " \"interfaces-config\": {\n"
  3015. " \"interfaces\": [ ],\n"
  3016. " \"re-detect\": false\n"
  3017. " },\n"
  3018. " \"lease-database\": {\n"
  3019. " \"type\": \"memfile\"\n"
  3020. " },\n"
  3021. " \"option-data\": [ ],\n"
  3022. " \"option-def\": [\n"
  3023. " {\n"
  3024. " \"array\": true,\n"
  3025. " \"code\": 100,\n"
  3026. " \"encapsulate\": \"\",\n"
  3027. " \"name\": \"foo\",\n"
  3028. " \"record-types\": \"\",\n"
  3029. " \"space\": \"isc\",\n"
  3030. " \"type\": \"uint32\"\n"
  3031. " }\n"
  3032. " ],\n"
  3033. " \"subnet4\": [ ]\n"
  3034. " }\n",
  3035. // CONFIGURATION 20
  3036. "{\n"
  3037. " \"decline-probation-period\": 86400,\n"
  3038. " \"dhcp-ddns\": {\n"
  3039. " \"always-include-fqdn\": false,\n"
  3040. " \"enable-updates\": false,\n"
  3041. " \"generated-prefix\": \"myhost\",\n"
  3042. " \"max-queue-size\": 1024,\n"
  3043. " \"ncr-format\": \"JSON\",\n"
  3044. " \"ncr-protocol\": \"UDP\",\n"
  3045. " \"override-client-update\": false,\n"
  3046. " \"override-no-update\": false,\n"
  3047. " \"qualifying-suffix\": \"\",\n"
  3048. " \"replace-client-name\": \"never\",\n"
  3049. " \"sender-ip\": \"0.0.0.0\",\n"
  3050. " \"sender-port\": 0,\n"
  3051. " \"server-ip\": \"127.0.0.1\",\n"
  3052. " \"server-port\": 53001\n"
  3053. " },\n"
  3054. " \"dhcp4o6-port\": 0,\n"
  3055. " \"echo-client-id\": true,\n"
  3056. " \"expired-leases-processing\": {\n"
  3057. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3058. " \"hold-reclaimed-time\": 3600,\n"
  3059. " \"max-reclaim-leases\": 100,\n"
  3060. " \"max-reclaim-time\": 250,\n"
  3061. " \"reclaim-timer-wait-time\": 10,\n"
  3062. " \"unwarned-reclaim-cycles\": 5\n"
  3063. " },\n"
  3064. " \"hooks-libraries\": [ ],\n"
  3065. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3066. " \"interfaces-config\": {\n"
  3067. " \"interfaces\": [ ],\n"
  3068. " \"re-detect\": false\n"
  3069. " },\n"
  3070. " \"lease-database\": {\n"
  3071. " \"type\": \"memfile\"\n"
  3072. " },\n"
  3073. " \"option-data\": [ ],\n"
  3074. " \"option-def\": [\n"
  3075. " {\n"
  3076. " \"array\": false,\n"
  3077. " \"code\": 100,\n"
  3078. " \"encapsulate\": \"sub-opts-space\",\n"
  3079. " \"name\": \"foo\",\n"
  3080. " \"record-types\": \"\",\n"
  3081. " \"space\": \"isc\",\n"
  3082. " \"type\": \"uint32\"\n"
  3083. " }\n"
  3084. " ],\n"
  3085. " \"subnet4\": [ ]\n"
  3086. " }\n",
  3087. // CONFIGURATION 21
  3088. "{\n"
  3089. " \"decline-probation-period\": 86400,\n"
  3090. " \"dhcp-ddns\": {\n"
  3091. " \"always-include-fqdn\": false,\n"
  3092. " \"enable-updates\": false,\n"
  3093. " \"generated-prefix\": \"myhost\",\n"
  3094. " \"max-queue-size\": 1024,\n"
  3095. " \"ncr-format\": \"JSON\",\n"
  3096. " \"ncr-protocol\": \"UDP\",\n"
  3097. " \"override-client-update\": false,\n"
  3098. " \"override-no-update\": false,\n"
  3099. " \"qualifying-suffix\": \"\",\n"
  3100. " \"replace-client-name\": \"never\",\n"
  3101. " \"sender-ip\": \"0.0.0.0\",\n"
  3102. " \"sender-port\": 0,\n"
  3103. " \"server-ip\": \"127.0.0.1\",\n"
  3104. " \"server-port\": 53001\n"
  3105. " },\n"
  3106. " \"dhcp4o6-port\": 0,\n"
  3107. " \"echo-client-id\": true,\n"
  3108. " \"expired-leases-processing\": {\n"
  3109. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3110. " \"hold-reclaimed-time\": 3600,\n"
  3111. " \"max-reclaim-leases\": 100,\n"
  3112. " \"max-reclaim-time\": 250,\n"
  3113. " \"reclaim-timer-wait-time\": 10,\n"
  3114. " \"unwarned-reclaim-cycles\": 5\n"
  3115. " },\n"
  3116. " \"hooks-libraries\": [ ],\n"
  3117. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3118. " \"interfaces-config\": {\n"
  3119. " \"interfaces\": [ ],\n"
  3120. " \"re-detect\": false\n"
  3121. " },\n"
  3122. " \"lease-database\": {\n"
  3123. " \"type\": \"memfile\"\n"
  3124. " },\n"
  3125. " \"option-data\": [ ],\n"
  3126. " \"option-def\": [\n"
  3127. " {\n"
  3128. " \"array\": false,\n"
  3129. " \"code\": 109,\n"
  3130. " \"encapsulate\": \"\",\n"
  3131. " \"name\": \"foo\",\n"
  3132. " \"record-types\": \"\",\n"
  3133. " \"space\": \"dhcp4\",\n"
  3134. " \"type\": \"string\"\n"
  3135. " }\n"
  3136. " ],\n"
  3137. " \"subnet4\": [ ]\n"
  3138. " }\n",
  3139. // CONFIGURATION 22
  3140. "{\n"
  3141. " \"decline-probation-period\": 86400,\n"
  3142. " \"dhcp-ddns\": {\n"
  3143. " \"always-include-fqdn\": false,\n"
  3144. " \"enable-updates\": false,\n"
  3145. " \"generated-prefix\": \"myhost\",\n"
  3146. " \"max-queue-size\": 1024,\n"
  3147. " \"ncr-format\": \"JSON\",\n"
  3148. " \"ncr-protocol\": \"UDP\",\n"
  3149. " \"override-client-update\": false,\n"
  3150. " \"override-no-update\": false,\n"
  3151. " \"qualifying-suffix\": \"\",\n"
  3152. " \"replace-client-name\": \"never\",\n"
  3153. " \"sender-ip\": \"0.0.0.0\",\n"
  3154. " \"sender-port\": 0,\n"
  3155. " \"server-ip\": \"127.0.0.1\",\n"
  3156. " \"server-port\": 53001\n"
  3157. " },\n"
  3158. " \"dhcp4o6-port\": 0,\n"
  3159. " \"echo-client-id\": true,\n"
  3160. " \"expired-leases-processing\": {\n"
  3161. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3162. " \"hold-reclaimed-time\": 3600,\n"
  3163. " \"max-reclaim-leases\": 100,\n"
  3164. " \"max-reclaim-time\": 250,\n"
  3165. " \"reclaim-timer-wait-time\": 10,\n"
  3166. " \"unwarned-reclaim-cycles\": 5\n"
  3167. " },\n"
  3168. " \"hooks-libraries\": [ ],\n"
  3169. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3170. " \"interfaces-config\": {\n"
  3171. " \"interfaces\": [ ],\n"
  3172. " \"re-detect\": false\n"
  3173. " },\n"
  3174. " \"lease-database\": {\n"
  3175. " \"type\": \"memfile\"\n"
  3176. " },\n"
  3177. " \"option-data\": [ ],\n"
  3178. " \"option-def\": [\n"
  3179. " {\n"
  3180. " \"array\": false,\n"
  3181. " \"code\": 213,\n"
  3182. " \"encapsulate\": \"\",\n"
  3183. " \"name\": \"access-network-domain-name\",\n"
  3184. " \"record-types\": \"\",\n"
  3185. " \"space\": \"dhcp4\",\n"
  3186. " \"type\": \"string\"\n"
  3187. " }\n"
  3188. " ],\n"
  3189. " \"subnet4\": [ ]\n"
  3190. " }\n",
  3191. // CONFIGURATION 23
  3192. "{\n"
  3193. " \"decline-probation-period\": 86400,\n"
  3194. " \"dhcp-ddns\": {\n"
  3195. " \"always-include-fqdn\": false,\n"
  3196. " \"enable-updates\": false,\n"
  3197. " \"generated-prefix\": \"myhost\",\n"
  3198. " \"max-queue-size\": 1024,\n"
  3199. " \"ncr-format\": \"JSON\",\n"
  3200. " \"ncr-protocol\": \"UDP\",\n"
  3201. " \"override-client-update\": false,\n"
  3202. " \"override-no-update\": false,\n"
  3203. " \"qualifying-suffix\": \"\",\n"
  3204. " \"replace-client-name\": \"never\",\n"
  3205. " \"sender-ip\": \"0.0.0.0\",\n"
  3206. " \"sender-port\": 0,\n"
  3207. " \"server-ip\": \"127.0.0.1\",\n"
  3208. " \"server-port\": 53001\n"
  3209. " },\n"
  3210. " \"dhcp4o6-port\": 0,\n"
  3211. " \"echo-client-id\": true,\n"
  3212. " \"expired-leases-processing\": {\n"
  3213. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3214. " \"hold-reclaimed-time\": 3600,\n"
  3215. " \"max-reclaim-leases\": 100,\n"
  3216. " \"max-reclaim-time\": 250,\n"
  3217. " \"reclaim-timer-wait-time\": 10,\n"
  3218. " \"unwarned-reclaim-cycles\": 5\n"
  3219. " },\n"
  3220. " \"hooks-libraries\": [ ],\n"
  3221. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3222. " \"interfaces-config\": {\n"
  3223. " \"interfaces\": [ \"*\" ],\n"
  3224. " \"re-detect\": false\n"
  3225. " },\n"
  3226. " \"lease-database\": {\n"
  3227. " \"type\": \"memfile\"\n"
  3228. " },\n"
  3229. " \"option-data\": [\n"
  3230. " {\n"
  3231. " \"always-send\": false,\n"
  3232. " \"code\": 56,\n"
  3233. " \"csv-format\": false,\n"
  3234. " \"data\": \"ABCDEF0105\",\n"
  3235. " \"name\": \"dhcp-message\",\n"
  3236. " \"space\": \"dhcp4\"\n"
  3237. " },\n"
  3238. " {\n"
  3239. " \"always-send\": false,\n"
  3240. " \"code\": 23,\n"
  3241. " \"csv-format\": false,\n"
  3242. " \"data\": \"01\",\n"
  3243. " \"name\": \"default-ip-ttl\",\n"
  3244. " \"space\": \"dhcp4\"\n"
  3245. " }\n"
  3246. " ],\n"
  3247. " \"option-def\": [ ],\n"
  3248. " \"subnet4\": [\n"
  3249. " {\n"
  3250. " \"4o6-interface\": \"\",\n"
  3251. " \"4o6-interface-id\": \"\",\n"
  3252. " \"4o6-subnet\": \"\",\n"
  3253. " \"id\": 1,\n"
  3254. " \"match-client-id\": true,\n"
  3255. " \"next-server\": \"0.0.0.0\",\n"
  3256. " \"option-data\": [ ],\n"
  3257. " \"pools\": [\n"
  3258. " {\n"
  3259. " \"option-data\": [ ],\n"
  3260. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3261. " }\n"
  3262. " ],\n"
  3263. " \"rebind-timer\": 2000,\n"
  3264. " \"relay\": {\n"
  3265. " \"ip-address\": \"0.0.0.0\"\n"
  3266. " },\n"
  3267. " \"renew-timer\": 1000,\n"
  3268. " \"reservation-mode\": \"all\",\n"
  3269. " \"reservations\": [ ],\n"
  3270. " \"subnet\": \"192.0.2.0/24\",\n"
  3271. " \"valid-lifetime\": 4000\n"
  3272. " }\n"
  3273. " ]\n"
  3274. " }\n",
  3275. // CONFIGURATION 24
  3276. "{\n"
  3277. " \"decline-probation-period\": 86400,\n"
  3278. " \"dhcp-ddns\": {\n"
  3279. " \"always-include-fqdn\": false,\n"
  3280. " \"enable-updates\": false,\n"
  3281. " \"generated-prefix\": \"myhost\",\n"
  3282. " \"max-queue-size\": 1024,\n"
  3283. " \"ncr-format\": \"JSON\",\n"
  3284. " \"ncr-protocol\": \"UDP\",\n"
  3285. " \"override-client-update\": false,\n"
  3286. " \"override-no-update\": false,\n"
  3287. " \"qualifying-suffix\": \"\",\n"
  3288. " \"replace-client-name\": \"never\",\n"
  3289. " \"sender-ip\": \"0.0.0.0\",\n"
  3290. " \"sender-port\": 0,\n"
  3291. " \"server-ip\": \"127.0.0.1\",\n"
  3292. " \"server-port\": 53001\n"
  3293. " },\n"
  3294. " \"dhcp4o6-port\": 0,\n"
  3295. " \"echo-client-id\": true,\n"
  3296. " \"expired-leases-processing\": {\n"
  3297. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3298. " \"hold-reclaimed-time\": 3600,\n"
  3299. " \"max-reclaim-leases\": 100,\n"
  3300. " \"max-reclaim-time\": 250,\n"
  3301. " \"reclaim-timer-wait-time\": 10,\n"
  3302. " \"unwarned-reclaim-cycles\": 5\n"
  3303. " },\n"
  3304. " \"hooks-libraries\": [ ],\n"
  3305. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3306. " \"interfaces-config\": {\n"
  3307. " \"interfaces\": [ \"*\" ],\n"
  3308. " \"re-detect\": false\n"
  3309. " },\n"
  3310. " \"lease-database\": {\n"
  3311. " \"type\": \"memfile\"\n"
  3312. " },\n"
  3313. " \"option-data\": [ ],\n"
  3314. " \"option-def\": [ ],\n"
  3315. " \"subnet4\": [\n"
  3316. " {\n"
  3317. " \"4o6-interface\": \"\",\n"
  3318. " \"4o6-interface-id\": \"\",\n"
  3319. " \"4o6-subnet\": \"\",\n"
  3320. " \"id\": 1,\n"
  3321. " \"match-client-id\": true,\n"
  3322. " \"next-server\": \"0.0.0.0\",\n"
  3323. " \"option-data\": [\n"
  3324. " {\n"
  3325. " \"always-send\": false,\n"
  3326. " \"code\": 56,\n"
  3327. " \"csv-format\": false,\n"
  3328. " \"data\": \"ABCDEF0105\",\n"
  3329. " \"name\": \"dhcp-message\",\n"
  3330. " \"space\": \"dhcp4\"\n"
  3331. " },\n"
  3332. " {\n"
  3333. " \"always-send\": false,\n"
  3334. " \"code\": 23,\n"
  3335. " \"csv-format\": false,\n"
  3336. " \"data\": \"01\",\n"
  3337. " \"name\": \"default-ip-ttl\",\n"
  3338. " \"space\": \"dhcp4\"\n"
  3339. " }\n"
  3340. " ],\n"
  3341. " \"pools\": [\n"
  3342. " {\n"
  3343. " \"option-data\": [ ],\n"
  3344. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3345. " }\n"
  3346. " ],\n"
  3347. " \"rebind-timer\": 2000,\n"
  3348. " \"relay\": {\n"
  3349. " \"ip-address\": \"0.0.0.0\"\n"
  3350. " },\n"
  3351. " \"renew-timer\": 1000,\n"
  3352. " \"reservation-mode\": \"all\",\n"
  3353. " \"reservations\": [ ],\n"
  3354. " \"subnet\": \"192.0.2.0/24\",\n"
  3355. " \"valid-lifetime\": 4000\n"
  3356. " }\n"
  3357. " ]\n"
  3358. " }\n",
  3359. // CONFIGURATION 25
  3360. "{\n"
  3361. " \"decline-probation-period\": 86400,\n"
  3362. " \"dhcp-ddns\": {\n"
  3363. " \"always-include-fqdn\": false,\n"
  3364. " \"enable-updates\": false,\n"
  3365. " \"generated-prefix\": \"myhost\",\n"
  3366. " \"max-queue-size\": 1024,\n"
  3367. " \"ncr-format\": \"JSON\",\n"
  3368. " \"ncr-protocol\": \"UDP\",\n"
  3369. " \"override-client-update\": false,\n"
  3370. " \"override-no-update\": false,\n"
  3371. " \"qualifying-suffix\": \"\",\n"
  3372. " \"replace-client-name\": \"never\",\n"
  3373. " \"sender-ip\": \"0.0.0.0\",\n"
  3374. " \"sender-port\": 0,\n"
  3375. " \"server-ip\": \"127.0.0.1\",\n"
  3376. " \"server-port\": 53001\n"
  3377. " },\n"
  3378. " \"dhcp4o6-port\": 0,\n"
  3379. " \"echo-client-id\": true,\n"
  3380. " \"expired-leases-processing\": {\n"
  3381. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3382. " \"hold-reclaimed-time\": 3600,\n"
  3383. " \"max-reclaim-leases\": 100,\n"
  3384. " \"max-reclaim-time\": 250,\n"
  3385. " \"reclaim-timer-wait-time\": 10,\n"
  3386. " \"unwarned-reclaim-cycles\": 5\n"
  3387. " },\n"
  3388. " \"hooks-libraries\": [ ],\n"
  3389. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3390. " \"interfaces-config\": {\n"
  3391. " \"interfaces\": [ \"*\" ],\n"
  3392. " \"re-detect\": false\n"
  3393. " },\n"
  3394. " \"lease-database\": {\n"
  3395. " \"type\": \"memfile\"\n"
  3396. " },\n"
  3397. " \"option-data\": [\n"
  3398. " {\n"
  3399. " \"always-send\": false,\n"
  3400. " \"code\": 56,\n"
  3401. " \"csv-format\": false,\n"
  3402. " \"data\": \"ABCDEF0105\",\n"
  3403. " \"name\": \"dhcp-message\",\n"
  3404. " \"space\": \"dhcp4\"\n"
  3405. " },\n"
  3406. " {\n"
  3407. " \"always-send\": false,\n"
  3408. " \"code\": 56,\n"
  3409. " \"csv-format\": true,\n"
  3410. " \"data\": \"1234\",\n"
  3411. " \"name\": \"foo\",\n"
  3412. " \"space\": \"isc\"\n"
  3413. " }\n"
  3414. " ],\n"
  3415. " \"option-def\": [\n"
  3416. " {\n"
  3417. " \"array\": false,\n"
  3418. " \"code\": 56,\n"
  3419. " \"encapsulate\": \"\",\n"
  3420. " \"name\": \"foo\",\n"
  3421. " \"record-types\": \"\",\n"
  3422. " \"space\": \"isc\",\n"
  3423. " \"type\": \"uint32\"\n"
  3424. " }\n"
  3425. " ],\n"
  3426. " \"subnet4\": [\n"
  3427. " {\n"
  3428. " \"4o6-interface\": \"\",\n"
  3429. " \"4o6-interface-id\": \"\",\n"
  3430. " \"4o6-subnet\": \"\",\n"
  3431. " \"id\": 1,\n"
  3432. " \"match-client-id\": true,\n"
  3433. " \"next-server\": \"0.0.0.0\",\n"
  3434. " \"option-data\": [ ],\n"
  3435. " \"pools\": [\n"
  3436. " {\n"
  3437. " \"option-data\": [ ],\n"
  3438. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3439. " }\n"
  3440. " ],\n"
  3441. " \"rebind-timer\": 2000,\n"
  3442. " \"relay\": {\n"
  3443. " \"ip-address\": \"0.0.0.0\"\n"
  3444. " },\n"
  3445. " \"renew-timer\": 1000,\n"
  3446. " \"reservation-mode\": \"all\",\n"
  3447. " \"reservations\": [ ],\n"
  3448. " \"subnet\": \"192.0.2.0/24\",\n"
  3449. " \"valid-lifetime\": 4000\n"
  3450. " }\n"
  3451. " ]\n"
  3452. " }\n",
  3453. // CONFIGURATION 26
  3454. "{\n"
  3455. " \"decline-probation-period\": 86400,\n"
  3456. " \"dhcp-ddns\": {\n"
  3457. " \"always-include-fqdn\": false,\n"
  3458. " \"enable-updates\": false,\n"
  3459. " \"generated-prefix\": \"myhost\",\n"
  3460. " \"max-queue-size\": 1024,\n"
  3461. " \"ncr-format\": \"JSON\",\n"
  3462. " \"ncr-protocol\": \"UDP\",\n"
  3463. " \"override-client-update\": false,\n"
  3464. " \"override-no-update\": false,\n"
  3465. " \"qualifying-suffix\": \"\",\n"
  3466. " \"replace-client-name\": \"never\",\n"
  3467. " \"sender-ip\": \"0.0.0.0\",\n"
  3468. " \"sender-port\": 0,\n"
  3469. " \"server-ip\": \"127.0.0.1\",\n"
  3470. " \"server-port\": 53001\n"
  3471. " },\n"
  3472. " \"dhcp4o6-port\": 0,\n"
  3473. " \"echo-client-id\": true,\n"
  3474. " \"expired-leases-processing\": {\n"
  3475. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3476. " \"hold-reclaimed-time\": 3600,\n"
  3477. " \"max-reclaim-leases\": 100,\n"
  3478. " \"max-reclaim-time\": 250,\n"
  3479. " \"reclaim-timer-wait-time\": 10,\n"
  3480. " \"unwarned-reclaim-cycles\": 5\n"
  3481. " },\n"
  3482. " \"hooks-libraries\": [ ],\n"
  3483. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3484. " \"interfaces-config\": {\n"
  3485. " \"interfaces\": [ \"*\" ],\n"
  3486. " \"re-detect\": false\n"
  3487. " },\n"
  3488. " \"lease-database\": {\n"
  3489. " \"type\": \"memfile\"\n"
  3490. " },\n"
  3491. " \"option-data\": [\n"
  3492. " {\n"
  3493. " \"always-send\": false,\n"
  3494. " \"code\": 1,\n"
  3495. " \"csv-format\": true,\n"
  3496. " \"data\": \"1234\",\n"
  3497. " \"name\": \"foo\",\n"
  3498. " \"space\": \"isc\"\n"
  3499. " },\n"
  3500. " {\n"
  3501. " \"always-send\": false,\n"
  3502. " \"code\": 2,\n"
  3503. " \"csv-format\": true,\n"
  3504. " \"data\": \"192.168.2.1\",\n"
  3505. " \"name\": \"foo2\",\n"
  3506. " \"space\": \"isc\"\n"
  3507. " }\n"
  3508. " ],\n"
  3509. " \"option-def\": [\n"
  3510. " {\n"
  3511. " \"array\": false,\n"
  3512. " \"code\": 1,\n"
  3513. " \"encapsulate\": \"\",\n"
  3514. " \"name\": \"foo\",\n"
  3515. " \"record-types\": \"\",\n"
  3516. " \"space\": \"isc\",\n"
  3517. " \"type\": \"uint32\"\n"
  3518. " },\n"
  3519. " {\n"
  3520. " \"array\": false,\n"
  3521. " \"code\": 2,\n"
  3522. " \"encapsulate\": \"\",\n"
  3523. " \"name\": \"foo2\",\n"
  3524. " \"record-types\": \"\",\n"
  3525. " \"space\": \"isc\",\n"
  3526. " \"type\": \"ipv4-address\"\n"
  3527. " }\n"
  3528. " ],\n"
  3529. " \"subnet4\": [ ]\n"
  3530. " }\n",
  3531. // CONFIGURATION 27
  3532. "{\n"
  3533. " \"decline-probation-period\": 86400,\n"
  3534. " \"dhcp-ddns\": {\n"
  3535. " \"always-include-fqdn\": false,\n"
  3536. " \"enable-updates\": false,\n"
  3537. " \"generated-prefix\": \"myhost\",\n"
  3538. " \"max-queue-size\": 1024,\n"
  3539. " \"ncr-format\": \"JSON\",\n"
  3540. " \"ncr-protocol\": \"UDP\",\n"
  3541. " \"override-client-update\": false,\n"
  3542. " \"override-no-update\": false,\n"
  3543. " \"qualifying-suffix\": \"\",\n"
  3544. " \"replace-client-name\": \"never\",\n"
  3545. " \"sender-ip\": \"0.0.0.0\",\n"
  3546. " \"sender-port\": 0,\n"
  3547. " \"server-ip\": \"127.0.0.1\",\n"
  3548. " \"server-port\": 53001\n"
  3549. " },\n"
  3550. " \"dhcp4o6-port\": 0,\n"
  3551. " \"echo-client-id\": true,\n"
  3552. " \"expired-leases-processing\": {\n"
  3553. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3554. " \"hold-reclaimed-time\": 3600,\n"
  3555. " \"max-reclaim-leases\": 100,\n"
  3556. " \"max-reclaim-time\": 250,\n"
  3557. " \"reclaim-timer-wait-time\": 10,\n"
  3558. " \"unwarned-reclaim-cycles\": 5\n"
  3559. " },\n"
  3560. " \"hooks-libraries\": [ ],\n"
  3561. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3562. " \"interfaces-config\": {\n"
  3563. " \"interfaces\": [ \"*\" ],\n"
  3564. " \"re-detect\": false\n"
  3565. " },\n"
  3566. " \"lease-database\": {\n"
  3567. " \"type\": \"memfile\"\n"
  3568. " },\n"
  3569. " \"option-data\": [\n"
  3570. " {\n"
  3571. " \"always-send\": false,\n"
  3572. " \"code\": 222,\n"
  3573. " \"csv-format\": true,\n"
  3574. " \"data\": \"11\",\n"
  3575. " \"name\": \"base-option\",\n"
  3576. " \"space\": \"dhcp4\"\n"
  3577. " },\n"
  3578. " {\n"
  3579. " \"always-send\": false,\n"
  3580. " \"code\": 1,\n"
  3581. " \"csv-format\": true,\n"
  3582. " \"data\": \"1234\",\n"
  3583. " \"name\": \"foo\",\n"
  3584. " \"space\": \"isc\"\n"
  3585. " },\n"
  3586. " {\n"
  3587. " \"always-send\": false,\n"
  3588. " \"code\": 2,\n"
  3589. " \"csv-format\": true,\n"
  3590. " \"data\": \"192.168.2.1\",\n"
  3591. " \"name\": \"foo2\",\n"
  3592. " \"space\": \"isc\"\n"
  3593. " }\n"
  3594. " ],\n"
  3595. " \"option-def\": [\n"
  3596. " {\n"
  3597. " \"array\": false,\n"
  3598. " \"code\": 222,\n"
  3599. " \"encapsulate\": \"isc\",\n"
  3600. " \"name\": \"base-option\",\n"
  3601. " \"record-types\": \"\",\n"
  3602. " \"space\": \"dhcp4\",\n"
  3603. " \"type\": \"uint8\"\n"
  3604. " },\n"
  3605. " {\n"
  3606. " \"array\": false,\n"
  3607. " \"code\": 1,\n"
  3608. " \"encapsulate\": \"\",\n"
  3609. " \"name\": \"foo\",\n"
  3610. " \"record-types\": \"\",\n"
  3611. " \"space\": \"isc\",\n"
  3612. " \"type\": \"uint32\"\n"
  3613. " },\n"
  3614. " {\n"
  3615. " \"array\": false,\n"
  3616. " \"code\": 2,\n"
  3617. " \"encapsulate\": \"\",\n"
  3618. " \"name\": \"foo2\",\n"
  3619. " \"record-types\": \"\",\n"
  3620. " \"space\": \"isc\",\n"
  3621. " \"type\": \"ipv4-address\"\n"
  3622. " }\n"
  3623. " ],\n"
  3624. " \"subnet4\": [\n"
  3625. " {\n"
  3626. " \"4o6-interface\": \"\",\n"
  3627. " \"4o6-interface-id\": \"\",\n"
  3628. " \"4o6-subnet\": \"\",\n"
  3629. " \"id\": 1,\n"
  3630. " \"match-client-id\": true,\n"
  3631. " \"next-server\": \"0.0.0.0\",\n"
  3632. " \"option-data\": [ ],\n"
  3633. " \"pools\": [\n"
  3634. " {\n"
  3635. " \"option-data\": [ ],\n"
  3636. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3637. " }\n"
  3638. " ],\n"
  3639. " \"rebind-timer\": 2000,\n"
  3640. " \"relay\": {\n"
  3641. " \"ip-address\": \"0.0.0.0\"\n"
  3642. " },\n"
  3643. " \"renew-timer\": 1000,\n"
  3644. " \"reservation-mode\": \"all\",\n"
  3645. " \"reservations\": [ ],\n"
  3646. " \"subnet\": \"192.0.2.0/24\",\n"
  3647. " \"valid-lifetime\": 3000\n"
  3648. " }\n"
  3649. " ]\n"
  3650. " }\n",
  3651. // CONFIGURATION 28
  3652. "{\n"
  3653. " \"decline-probation-period\": 86400,\n"
  3654. " \"dhcp-ddns\": {\n"
  3655. " \"always-include-fqdn\": false,\n"
  3656. " \"enable-updates\": false,\n"
  3657. " \"generated-prefix\": \"myhost\",\n"
  3658. " \"max-queue-size\": 1024,\n"
  3659. " \"ncr-format\": \"JSON\",\n"
  3660. " \"ncr-protocol\": \"UDP\",\n"
  3661. " \"override-client-update\": false,\n"
  3662. " \"override-no-update\": false,\n"
  3663. " \"qualifying-suffix\": \"\",\n"
  3664. " \"replace-client-name\": \"never\",\n"
  3665. " \"sender-ip\": \"0.0.0.0\",\n"
  3666. " \"sender-port\": 0,\n"
  3667. " \"server-ip\": \"127.0.0.1\",\n"
  3668. " \"server-port\": 53001\n"
  3669. " },\n"
  3670. " \"dhcp4o6-port\": 0,\n"
  3671. " \"echo-client-id\": true,\n"
  3672. " \"expired-leases-processing\": {\n"
  3673. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3674. " \"hold-reclaimed-time\": 3600,\n"
  3675. " \"max-reclaim-leases\": 100,\n"
  3676. " \"max-reclaim-time\": 250,\n"
  3677. " \"reclaim-timer-wait-time\": 10,\n"
  3678. " \"unwarned-reclaim-cycles\": 5\n"
  3679. " },\n"
  3680. " \"hooks-libraries\": [ ],\n"
  3681. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3682. " \"interfaces-config\": {\n"
  3683. " \"interfaces\": [ \"*\" ],\n"
  3684. " \"re-detect\": false\n"
  3685. " },\n"
  3686. " \"lease-database\": {\n"
  3687. " \"type\": \"memfile\"\n"
  3688. " },\n"
  3689. " \"option-data\": [\n"
  3690. " {\n"
  3691. " \"always-send\": false,\n"
  3692. " \"code\": 56,\n"
  3693. " \"csv-format\": false,\n"
  3694. " \"data\": \"AB\",\n"
  3695. " \"name\": \"dhcp-message\",\n"
  3696. " \"space\": \"dhcp4\"\n"
  3697. " }\n"
  3698. " ],\n"
  3699. " \"option-def\": [ ],\n"
  3700. " \"subnet4\": [\n"
  3701. " {\n"
  3702. " \"4o6-interface\": \"\",\n"
  3703. " \"4o6-interface-id\": \"\",\n"
  3704. " \"4o6-subnet\": \"\",\n"
  3705. " \"id\": 1,\n"
  3706. " \"match-client-id\": true,\n"
  3707. " \"next-server\": \"0.0.0.0\",\n"
  3708. " \"option-data\": [\n"
  3709. " {\n"
  3710. " \"always-send\": false,\n"
  3711. " \"code\": 56,\n"
  3712. " \"csv-format\": false,\n"
  3713. " \"data\": \"ABCDEF0105\",\n"
  3714. " \"name\": \"dhcp-message\",\n"
  3715. " \"space\": \"dhcp4\"\n"
  3716. " },\n"
  3717. " {\n"
  3718. " \"always-send\": false,\n"
  3719. " \"code\": 23,\n"
  3720. " \"csv-format\": false,\n"
  3721. " \"data\": \"01\",\n"
  3722. " \"name\": \"default-ip-ttl\",\n"
  3723. " \"space\": \"dhcp4\"\n"
  3724. " }\n"
  3725. " ],\n"
  3726. " \"pools\": [\n"
  3727. " {\n"
  3728. " \"option-data\": [ ],\n"
  3729. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3730. " }\n"
  3731. " ],\n"
  3732. " \"rebind-timer\": 2000,\n"
  3733. " \"relay\": {\n"
  3734. " \"ip-address\": \"0.0.0.0\"\n"
  3735. " },\n"
  3736. " \"renew-timer\": 1000,\n"
  3737. " \"reservation-mode\": \"all\",\n"
  3738. " \"reservations\": [ ],\n"
  3739. " \"subnet\": \"192.0.2.0/24\",\n"
  3740. " \"valid-lifetime\": 4000\n"
  3741. " }\n"
  3742. " ]\n"
  3743. " }\n",
  3744. // CONFIGURATION 29
  3745. "{\n"
  3746. " \"decline-probation-period\": 86400,\n"
  3747. " \"dhcp-ddns\": {\n"
  3748. " \"always-include-fqdn\": false,\n"
  3749. " \"enable-updates\": false,\n"
  3750. " \"generated-prefix\": \"myhost\",\n"
  3751. " \"max-queue-size\": 1024,\n"
  3752. " \"ncr-format\": \"JSON\",\n"
  3753. " \"ncr-protocol\": \"UDP\",\n"
  3754. " \"override-client-update\": false,\n"
  3755. " \"override-no-update\": false,\n"
  3756. " \"qualifying-suffix\": \"\",\n"
  3757. " \"replace-client-name\": \"never\",\n"
  3758. " \"sender-ip\": \"0.0.0.0\",\n"
  3759. " \"sender-port\": 0,\n"
  3760. " \"server-ip\": \"127.0.0.1\",\n"
  3761. " \"server-port\": 53001\n"
  3762. " },\n"
  3763. " \"dhcp4o6-port\": 0,\n"
  3764. " \"echo-client-id\": true,\n"
  3765. " \"expired-leases-processing\": {\n"
  3766. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3767. " \"hold-reclaimed-time\": 3600,\n"
  3768. " \"max-reclaim-leases\": 100,\n"
  3769. " \"max-reclaim-time\": 250,\n"
  3770. " \"reclaim-timer-wait-time\": 10,\n"
  3771. " \"unwarned-reclaim-cycles\": 5\n"
  3772. " },\n"
  3773. " \"hooks-libraries\": [ ],\n"
  3774. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3775. " \"interfaces-config\": {\n"
  3776. " \"interfaces\": [ \"*\" ],\n"
  3777. " \"re-detect\": false\n"
  3778. " },\n"
  3779. " \"lease-database\": {\n"
  3780. " \"type\": \"memfile\"\n"
  3781. " },\n"
  3782. " \"option-data\": [ ],\n"
  3783. " \"option-def\": [ ],\n"
  3784. " \"subnet4\": [\n"
  3785. " {\n"
  3786. " \"4o6-interface\": \"\",\n"
  3787. " \"4o6-interface-id\": \"\",\n"
  3788. " \"4o6-subnet\": \"\",\n"
  3789. " \"id\": 1,\n"
  3790. " \"match-client-id\": true,\n"
  3791. " \"next-server\": \"0.0.0.0\",\n"
  3792. " \"option-data\": [\n"
  3793. " {\n"
  3794. " \"always-send\": false,\n"
  3795. " \"code\": 56,\n"
  3796. " \"csv-format\": false,\n"
  3797. " \"data\": \"0102030405060708090A\",\n"
  3798. " \"name\": \"dhcp-message\",\n"
  3799. " \"space\": \"dhcp4\"\n"
  3800. " }\n"
  3801. " ],\n"
  3802. " \"pools\": [\n"
  3803. " {\n"
  3804. " \"option-data\": [ ],\n"
  3805. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3806. " }\n"
  3807. " ],\n"
  3808. " \"rebind-timer\": 2000,\n"
  3809. " \"relay\": {\n"
  3810. " \"ip-address\": \"0.0.0.0\"\n"
  3811. " },\n"
  3812. " \"renew-timer\": 1000,\n"
  3813. " \"reservation-mode\": \"all\",\n"
  3814. " \"reservations\": [ ],\n"
  3815. " \"subnet\": \"192.0.2.0/24\",\n"
  3816. " \"valid-lifetime\": 4000\n"
  3817. " },\n"
  3818. " {\n"
  3819. " \"4o6-interface\": \"\",\n"
  3820. " \"4o6-interface-id\": \"\",\n"
  3821. " \"4o6-subnet\": \"\",\n"
  3822. " \"id\": 2,\n"
  3823. " \"match-client-id\": true,\n"
  3824. " \"next-server\": \"0.0.0.0\",\n"
  3825. " \"option-data\": [\n"
  3826. " {\n"
  3827. " \"always-send\": false,\n"
  3828. " \"code\": 23,\n"
  3829. " \"csv-format\": false,\n"
  3830. " \"data\": \"FF\",\n"
  3831. " \"name\": \"default-ip-ttl\",\n"
  3832. " \"space\": \"dhcp4\"\n"
  3833. " }\n"
  3834. " ],\n"
  3835. " \"pools\": [\n"
  3836. " {\n"
  3837. " \"option-data\": [ ],\n"
  3838. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  3839. " }\n"
  3840. " ],\n"
  3841. " \"rebind-timer\": 2000,\n"
  3842. " \"relay\": {\n"
  3843. " \"ip-address\": \"0.0.0.0\"\n"
  3844. " },\n"
  3845. " \"renew-timer\": 1000,\n"
  3846. " \"reservation-mode\": \"all\",\n"
  3847. " \"reservations\": [ ],\n"
  3848. " \"subnet\": \"192.0.3.0/24\",\n"
  3849. " \"valid-lifetime\": 4000\n"
  3850. " }\n"
  3851. " ]\n"
  3852. " }\n",
  3853. // CONFIGURATION 30
  3854. "{\n"
  3855. " \"decline-probation-period\": 86400,\n"
  3856. " \"dhcp-ddns\": {\n"
  3857. " \"always-include-fqdn\": false,\n"
  3858. " \"enable-updates\": false,\n"
  3859. " \"generated-prefix\": \"myhost\",\n"
  3860. " \"max-queue-size\": 1024,\n"
  3861. " \"ncr-format\": \"JSON\",\n"
  3862. " \"ncr-protocol\": \"UDP\",\n"
  3863. " \"override-client-update\": false,\n"
  3864. " \"override-no-update\": false,\n"
  3865. " \"qualifying-suffix\": \"\",\n"
  3866. " \"replace-client-name\": \"never\",\n"
  3867. " \"sender-ip\": \"0.0.0.0\",\n"
  3868. " \"sender-port\": 0,\n"
  3869. " \"server-ip\": \"127.0.0.1\",\n"
  3870. " \"server-port\": 53001\n"
  3871. " },\n"
  3872. " \"dhcp4o6-port\": 0,\n"
  3873. " \"echo-client-id\": true,\n"
  3874. " \"expired-leases-processing\": {\n"
  3875. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3876. " \"hold-reclaimed-time\": 3600,\n"
  3877. " \"max-reclaim-leases\": 100,\n"
  3878. " \"max-reclaim-time\": 250,\n"
  3879. " \"reclaim-timer-wait-time\": 10,\n"
  3880. " \"unwarned-reclaim-cycles\": 5\n"
  3881. " },\n"
  3882. " \"hooks-libraries\": [ ],\n"
  3883. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3884. " \"interfaces-config\": {\n"
  3885. " \"interfaces\": [ \"*\" ],\n"
  3886. " \"re-detect\": false\n"
  3887. " },\n"
  3888. " \"lease-database\": {\n"
  3889. " \"type\": \"memfile\"\n"
  3890. " },\n"
  3891. " \"option-data\": [ ],\n"
  3892. " \"option-def\": [ ],\n"
  3893. " \"subnet4\": [\n"
  3894. " {\n"
  3895. " \"4o6-interface\": \"\",\n"
  3896. " \"4o6-interface-id\": \"\",\n"
  3897. " \"4o6-subnet\": \"\",\n"
  3898. " \"id\": 1,\n"
  3899. " \"match-client-id\": true,\n"
  3900. " \"next-server\": \"0.0.0.0\",\n"
  3901. " \"option-data\": [ ],\n"
  3902. " \"pools\": [\n"
  3903. " {\n"
  3904. " \"option-data\": [\n"
  3905. " {\n"
  3906. " \"always-send\": false,\n"
  3907. " \"code\": 56,\n"
  3908. " \"csv-format\": false,\n"
  3909. " \"data\": \"ABCDEF0105\",\n"
  3910. " \"name\": \"dhcp-message\",\n"
  3911. " \"space\": \"dhcp4\"\n"
  3912. " },\n"
  3913. " {\n"
  3914. " \"always-send\": false,\n"
  3915. " \"code\": 23,\n"
  3916. " \"csv-format\": false,\n"
  3917. " \"data\": \"01\",\n"
  3918. " \"name\": \"default-ip-ttl\",\n"
  3919. " \"space\": \"dhcp4\"\n"
  3920. " }\n"
  3921. " ],\n"
  3922. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3923. " }\n"
  3924. " ],\n"
  3925. " \"rebind-timer\": 2000,\n"
  3926. " \"relay\": {\n"
  3927. " \"ip-address\": \"0.0.0.0\"\n"
  3928. " },\n"
  3929. " \"renew-timer\": 1000,\n"
  3930. " \"reservation-mode\": \"all\",\n"
  3931. " \"reservations\": [ ],\n"
  3932. " \"subnet\": \"192.0.2.0/24\",\n"
  3933. " \"valid-lifetime\": 4000\n"
  3934. " }\n"
  3935. " ]\n"
  3936. " }\n",
  3937. // CONFIGURATION 31
  3938. "{\n"
  3939. " \"decline-probation-period\": 86400,\n"
  3940. " \"dhcp-ddns\": {\n"
  3941. " \"always-include-fqdn\": false,\n"
  3942. " \"enable-updates\": false,\n"
  3943. " \"generated-prefix\": \"myhost\",\n"
  3944. " \"max-queue-size\": 1024,\n"
  3945. " \"ncr-format\": \"JSON\",\n"
  3946. " \"ncr-protocol\": \"UDP\",\n"
  3947. " \"override-client-update\": false,\n"
  3948. " \"override-no-update\": false,\n"
  3949. " \"qualifying-suffix\": \"\",\n"
  3950. " \"replace-client-name\": \"never\",\n"
  3951. " \"sender-ip\": \"0.0.0.0\",\n"
  3952. " \"sender-port\": 0,\n"
  3953. " \"server-ip\": \"127.0.0.1\",\n"
  3954. " \"server-port\": 53001\n"
  3955. " },\n"
  3956. " \"dhcp4o6-port\": 0,\n"
  3957. " \"echo-client-id\": true,\n"
  3958. " \"expired-leases-processing\": {\n"
  3959. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3960. " \"hold-reclaimed-time\": 3600,\n"
  3961. " \"max-reclaim-leases\": 100,\n"
  3962. " \"max-reclaim-time\": 250,\n"
  3963. " \"reclaim-timer-wait-time\": 10,\n"
  3964. " \"unwarned-reclaim-cycles\": 5\n"
  3965. " },\n"
  3966. " \"hooks-libraries\": [ ],\n"
  3967. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3968. " \"interfaces-config\": {\n"
  3969. " \"interfaces\": [ \"*\" ],\n"
  3970. " \"re-detect\": false\n"
  3971. " },\n"
  3972. " \"lease-database\": {\n"
  3973. " \"type\": \"memfile\"\n"
  3974. " },\n"
  3975. " \"option-data\": [ ],\n"
  3976. " \"option-def\": [ ],\n"
  3977. " \"subnet4\": [\n"
  3978. " {\n"
  3979. " \"4o6-interface\": \"\",\n"
  3980. " \"4o6-interface-id\": \"\",\n"
  3981. " \"4o6-subnet\": \"\",\n"
  3982. " \"id\": 1,\n"
  3983. " \"match-client-id\": true,\n"
  3984. " \"next-server\": \"0.0.0.0\",\n"
  3985. " \"option-data\": [ ],\n"
  3986. " \"pools\": [\n"
  3987. " {\n"
  3988. " \"option-data\": [\n"
  3989. " {\n"
  3990. " \"always-send\": false,\n"
  3991. " \"code\": 56,\n"
  3992. " \"csv-format\": false,\n"
  3993. " \"data\": \"ABCDEF0105\",\n"
  3994. " \"name\": \"dhcp-message\",\n"
  3995. " \"space\": \"dhcp4\"\n"
  3996. " }\n"
  3997. " ],\n"
  3998. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3999. " },\n"
  4000. " {\n"
  4001. " \"option-data\": [\n"
  4002. " {\n"
  4003. " \"always-send\": false,\n"
  4004. " \"code\": 23,\n"
  4005. " \"csv-format\": false,\n"
  4006. " \"data\": \"01\",\n"
  4007. " \"name\": \"default-ip-ttl\",\n"
  4008. " \"space\": \"dhcp4\"\n"
  4009. " }\n"
  4010. " ],\n"
  4011. " \"pool\": \"192.0.2.200-192.0.2.250\"\n"
  4012. " }\n"
  4013. " ],\n"
  4014. " \"rebind-timer\": 2000,\n"
  4015. " \"relay\": {\n"
  4016. " \"ip-address\": \"0.0.0.0\"\n"
  4017. " },\n"
  4018. " \"renew-timer\": 1000,\n"
  4019. " \"reservation-mode\": \"all\",\n"
  4020. " \"reservations\": [ ],\n"
  4021. " \"subnet\": \"192.0.2.0/24\",\n"
  4022. " \"valid-lifetime\": 4000\n"
  4023. " }\n"
  4024. " ]\n"
  4025. " }\n",
  4026. // CONFIGURATION 32
  4027. "{\n"
  4028. " \"decline-probation-period\": 86400,\n"
  4029. " \"dhcp-ddns\": {\n"
  4030. " \"always-include-fqdn\": false,\n"
  4031. " \"enable-updates\": false,\n"
  4032. " \"generated-prefix\": \"myhost\",\n"
  4033. " \"max-queue-size\": 1024,\n"
  4034. " \"ncr-format\": \"JSON\",\n"
  4035. " \"ncr-protocol\": \"UDP\",\n"
  4036. " \"override-client-update\": false,\n"
  4037. " \"override-no-update\": false,\n"
  4038. " \"qualifying-suffix\": \"\",\n"
  4039. " \"replace-client-name\": \"never\",\n"
  4040. " \"sender-ip\": \"0.0.0.0\",\n"
  4041. " \"sender-port\": 0,\n"
  4042. " \"server-ip\": \"127.0.0.1\",\n"
  4043. " \"server-port\": 53001\n"
  4044. " },\n"
  4045. " \"dhcp4o6-port\": 0,\n"
  4046. " \"echo-client-id\": true,\n"
  4047. " \"expired-leases-processing\": {\n"
  4048. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4049. " \"hold-reclaimed-time\": 3600,\n"
  4050. " \"max-reclaim-leases\": 100,\n"
  4051. " \"max-reclaim-time\": 250,\n"
  4052. " \"reclaim-timer-wait-time\": 10,\n"
  4053. " \"unwarned-reclaim-cycles\": 5\n"
  4054. " },\n"
  4055. " \"hooks-libraries\": [ ],\n"
  4056. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4057. " \"interfaces-config\": {\n"
  4058. " \"interfaces\": [ \"*\" ],\n"
  4059. " \"re-detect\": false\n"
  4060. " },\n"
  4061. " \"lease-database\": {\n"
  4062. " \"type\": \"memfile\"\n"
  4063. " },\n"
  4064. " \"option-data\": [\n"
  4065. " {\n"
  4066. " \"always-send\": false,\n"
  4067. " \"code\": 1,\n"
  4068. " \"csv-format\": true,\n"
  4069. " \"data\": \"1234\",\n"
  4070. " \"name\": \"foo\",\n"
  4071. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4072. " },\n"
  4073. " {\n"
  4074. " \"always-send\": false,\n"
  4075. " \"code\": 2,\n"
  4076. " \"csv-format\": true,\n"
  4077. " \"data\": \"192.168.2.1\",\n"
  4078. " \"name\": \"foo2\",\n"
  4079. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4080. " }\n"
  4081. " ],\n"
  4082. " \"option-def\": [\n"
  4083. " {\n"
  4084. " \"array\": false,\n"
  4085. " \"code\": 1,\n"
  4086. " \"encapsulate\": \"\",\n"
  4087. " \"name\": \"foo\",\n"
  4088. " \"record-types\": \"\",\n"
  4089. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4090. " \"type\": \"uint32\"\n"
  4091. " },\n"
  4092. " {\n"
  4093. " \"array\": false,\n"
  4094. " \"code\": 2,\n"
  4095. " \"encapsulate\": \"\",\n"
  4096. " \"name\": \"foo2\",\n"
  4097. " \"record-types\": \"\",\n"
  4098. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4099. " \"type\": \"ipv4-address\"\n"
  4100. " }\n"
  4101. " ],\n"
  4102. " \"subnet4\": [ ]\n"
  4103. " }\n",
  4104. // CONFIGURATION 33
  4105. "{\n"
  4106. " \"decline-probation-period\": 86400,\n"
  4107. " \"dhcp-ddns\": {\n"
  4108. " \"always-include-fqdn\": false,\n"
  4109. " \"enable-updates\": false,\n"
  4110. " \"generated-prefix\": \"myhost\",\n"
  4111. " \"max-queue-size\": 1024,\n"
  4112. " \"ncr-format\": \"JSON\",\n"
  4113. " \"ncr-protocol\": \"UDP\",\n"
  4114. " \"override-client-update\": false,\n"
  4115. " \"override-no-update\": false,\n"
  4116. " \"qualifying-suffix\": \"\",\n"
  4117. " \"replace-client-name\": \"never\",\n"
  4118. " \"sender-ip\": \"0.0.0.0\",\n"
  4119. " \"sender-port\": 0,\n"
  4120. " \"server-ip\": \"127.0.0.1\",\n"
  4121. " \"server-port\": 53001\n"
  4122. " },\n"
  4123. " \"dhcp4o6-port\": 0,\n"
  4124. " \"echo-client-id\": true,\n"
  4125. " \"expired-leases-processing\": {\n"
  4126. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4127. " \"hold-reclaimed-time\": 3600,\n"
  4128. " \"max-reclaim-leases\": 100,\n"
  4129. " \"max-reclaim-time\": 250,\n"
  4130. " \"reclaim-timer-wait-time\": 10,\n"
  4131. " \"unwarned-reclaim-cycles\": 5\n"
  4132. " },\n"
  4133. " \"hooks-libraries\": [ ],\n"
  4134. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4135. " \"interfaces-config\": {\n"
  4136. " \"interfaces\": [ \"*\" ],\n"
  4137. " \"re-detect\": false\n"
  4138. " },\n"
  4139. " \"lease-database\": {\n"
  4140. " \"type\": \"memfile\"\n"
  4141. " },\n"
  4142. " \"option-data\": [\n"
  4143. " {\n"
  4144. " \"always-send\": false,\n"
  4145. " \"code\": 43,\n"
  4146. " \"csv-format\": false,\n"
  4147. " \"data\": \"0104000004D20204C0A80201\",\n"
  4148. " \"name\": \"vendor-encapsulated-options\",\n"
  4149. " \"space\": \"dhcp4\"\n"
  4150. " },\n"
  4151. " {\n"
  4152. " \"always-send\": false,\n"
  4153. " \"code\": 1,\n"
  4154. " \"csv-format\": true,\n"
  4155. " \"data\": \"1234\",\n"
  4156. " \"name\": \"foo\",\n"
  4157. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4158. " },\n"
  4159. " {\n"
  4160. " \"always-send\": false,\n"
  4161. " \"code\": 2,\n"
  4162. " \"csv-format\": true,\n"
  4163. " \"data\": \"192.168.2.1\",\n"
  4164. " \"name\": \"foo2\",\n"
  4165. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4166. " }\n"
  4167. " ],\n"
  4168. " \"option-def\": [\n"
  4169. " {\n"
  4170. " \"array\": false,\n"
  4171. " \"code\": 1,\n"
  4172. " \"encapsulate\": \"\",\n"
  4173. " \"name\": \"foo\",\n"
  4174. " \"record-types\": \"\",\n"
  4175. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4176. " \"type\": \"uint32\"\n"
  4177. " },\n"
  4178. " {\n"
  4179. " \"array\": false,\n"
  4180. " \"code\": 2,\n"
  4181. " \"encapsulate\": \"\",\n"
  4182. " \"name\": \"foo2\",\n"
  4183. " \"record-types\": \"\",\n"
  4184. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4185. " \"type\": \"ipv4-address\"\n"
  4186. " }\n"
  4187. " ],\n"
  4188. " \"subnet4\": [\n"
  4189. " {\n"
  4190. " \"4o6-interface\": \"\",\n"
  4191. " \"4o6-interface-id\": \"\",\n"
  4192. " \"4o6-subnet\": \"\",\n"
  4193. " \"id\": 1,\n"
  4194. " \"match-client-id\": true,\n"
  4195. " \"next-server\": \"0.0.0.0\",\n"
  4196. " \"option-data\": [ ],\n"
  4197. " \"pools\": [\n"
  4198. " {\n"
  4199. " \"option-data\": [ ],\n"
  4200. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4201. " }\n"
  4202. " ],\n"
  4203. " \"rebind-timer\": 2000,\n"
  4204. " \"relay\": {\n"
  4205. " \"ip-address\": \"0.0.0.0\"\n"
  4206. " },\n"
  4207. " \"renew-timer\": 1000,\n"
  4208. " \"reservation-mode\": \"all\",\n"
  4209. " \"reservations\": [ ],\n"
  4210. " \"subnet\": \"192.0.2.0/24\",\n"
  4211. " \"valid-lifetime\": 3000\n"
  4212. " }\n"
  4213. " ]\n"
  4214. " }\n",
  4215. // CONFIGURATION 34
  4216. "{\n"
  4217. " \"decline-probation-period\": 86400,\n"
  4218. " \"dhcp-ddns\": {\n"
  4219. " \"always-include-fqdn\": false,\n"
  4220. " \"enable-updates\": false,\n"
  4221. " \"generated-prefix\": \"myhost\",\n"
  4222. " \"max-queue-size\": 1024,\n"
  4223. " \"ncr-format\": \"JSON\",\n"
  4224. " \"ncr-protocol\": \"UDP\",\n"
  4225. " \"override-client-update\": false,\n"
  4226. " \"override-no-update\": false,\n"
  4227. " \"qualifying-suffix\": \"\",\n"
  4228. " \"replace-client-name\": \"never\",\n"
  4229. " \"sender-ip\": \"0.0.0.0\",\n"
  4230. " \"sender-port\": 0,\n"
  4231. " \"server-ip\": \"127.0.0.1\",\n"
  4232. " \"server-port\": 53001\n"
  4233. " },\n"
  4234. " \"dhcp4o6-port\": 0,\n"
  4235. " \"echo-client-id\": true,\n"
  4236. " \"expired-leases-processing\": {\n"
  4237. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4238. " \"hold-reclaimed-time\": 3600,\n"
  4239. " \"max-reclaim-leases\": 100,\n"
  4240. " \"max-reclaim-time\": 250,\n"
  4241. " \"reclaim-timer-wait-time\": 10,\n"
  4242. " \"unwarned-reclaim-cycles\": 5\n"
  4243. " },\n"
  4244. " \"hooks-libraries\": [ ],\n"
  4245. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4246. " \"interfaces-config\": {\n"
  4247. " \"interfaces\": [ \"*\" ],\n"
  4248. " \"re-detect\": false\n"
  4249. " },\n"
  4250. " \"lease-database\": {\n"
  4251. " \"type\": \"memfile\"\n"
  4252. " },\n"
  4253. " \"option-data\": [\n"
  4254. " {\n"
  4255. " \"always-send\": false,\n"
  4256. " \"code\": 100,\n"
  4257. " \"csv-format\": false,\n"
  4258. " \"data\": \"1234\",\n"
  4259. " \"space\": \"vendor-1234\"\n"
  4260. " },\n"
  4261. " {\n"
  4262. " \"always-send\": false,\n"
  4263. " \"code\": 100,\n"
  4264. " \"csv-format\": false,\n"
  4265. " \"data\": \"ABCDEF0105\",\n"
  4266. " \"space\": \"vendor-4491\"\n"
  4267. " }\n"
  4268. " ],\n"
  4269. " \"option-def\": [ ],\n"
  4270. " \"subnet4\": [\n"
  4271. " {\n"
  4272. " \"4o6-interface\": \"\",\n"
  4273. " \"4o6-interface-id\": \"\",\n"
  4274. " \"4o6-subnet\": \"\",\n"
  4275. " \"id\": 1,\n"
  4276. " \"match-client-id\": true,\n"
  4277. " \"next-server\": \"0.0.0.0\",\n"
  4278. " \"option-data\": [ ],\n"
  4279. " \"pools\": [\n"
  4280. " {\n"
  4281. " \"option-data\": [ ],\n"
  4282. " \"pool\": \"192.0.2.1-192.0.2.10\"\n"
  4283. " }\n"
  4284. " ],\n"
  4285. " \"rebind-timer\": 2000,\n"
  4286. " \"relay\": {\n"
  4287. " \"ip-address\": \"0.0.0.0\"\n"
  4288. " },\n"
  4289. " \"renew-timer\": 1000,\n"
  4290. " \"reservation-mode\": \"all\",\n"
  4291. " \"reservations\": [ ],\n"
  4292. " \"subnet\": \"192.0.2.0/24\",\n"
  4293. " \"valid-lifetime\": 4000\n"
  4294. " }\n"
  4295. " ]\n"
  4296. " }\n",
  4297. // CONFIGURATION 35
  4298. "{\n"
  4299. " \"decline-probation-period\": 86400,\n"
  4300. " \"dhcp-ddns\": {\n"
  4301. " \"always-include-fqdn\": false,\n"
  4302. " \"enable-updates\": false,\n"
  4303. " \"generated-prefix\": \"myhost\",\n"
  4304. " \"max-queue-size\": 1024,\n"
  4305. " \"ncr-format\": \"JSON\",\n"
  4306. " \"ncr-protocol\": \"UDP\",\n"
  4307. " \"override-client-update\": false,\n"
  4308. " \"override-no-update\": false,\n"
  4309. " \"qualifying-suffix\": \"\",\n"
  4310. " \"replace-client-name\": \"never\",\n"
  4311. " \"sender-ip\": \"0.0.0.0\",\n"
  4312. " \"sender-port\": 0,\n"
  4313. " \"server-ip\": \"127.0.0.1\",\n"
  4314. " \"server-port\": 53001\n"
  4315. " },\n"
  4316. " \"dhcp4o6-port\": 0,\n"
  4317. " \"echo-client-id\": true,\n"
  4318. " \"expired-leases-processing\": {\n"
  4319. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4320. " \"hold-reclaimed-time\": 3600,\n"
  4321. " \"max-reclaim-leases\": 100,\n"
  4322. " \"max-reclaim-time\": 250,\n"
  4323. " \"reclaim-timer-wait-time\": 10,\n"
  4324. " \"unwarned-reclaim-cycles\": 5\n"
  4325. " },\n"
  4326. " \"hooks-libraries\": [ ],\n"
  4327. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4328. " \"interfaces-config\": {\n"
  4329. " \"interfaces\": [ \"*\" ],\n"
  4330. " \"re-detect\": false\n"
  4331. " },\n"
  4332. " \"lease-database\": {\n"
  4333. " \"type\": \"memfile\"\n"
  4334. " },\n"
  4335. " \"option-data\": [\n"
  4336. " {\n"
  4337. " \"always-send\": false,\n"
  4338. " \"code\": 100,\n"
  4339. " \"csv-format\": true,\n"
  4340. " \"data\": \"this is a string vendor-opt\",\n"
  4341. " \"name\": \"foo\",\n"
  4342. " \"space\": \"vendor-4491\"\n"
  4343. " }\n"
  4344. " ],\n"
  4345. " \"option-def\": [\n"
  4346. " {\n"
  4347. " \"array\": false,\n"
  4348. " \"code\": 100,\n"
  4349. " \"encapsulate\": \"\",\n"
  4350. " \"name\": \"foo\",\n"
  4351. " \"record-types\": \"\",\n"
  4352. " \"space\": \"vendor-4491\",\n"
  4353. " \"type\": \"string\"\n"
  4354. " }\n"
  4355. " ],\n"
  4356. " \"subnet4\": [\n"
  4357. " {\n"
  4358. " \"4o6-interface\": \"\",\n"
  4359. " \"4o6-interface-id\": \"\",\n"
  4360. " \"4o6-subnet\": \"\",\n"
  4361. " \"id\": 1,\n"
  4362. " \"match-client-id\": true,\n"
  4363. " \"next-server\": \"0.0.0.0\",\n"
  4364. " \"option-data\": [ ],\n"
  4365. " \"pools\": [\n"
  4366. " {\n"
  4367. " \"option-data\": [ ],\n"
  4368. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4369. " }\n"
  4370. " ],\n"
  4371. " \"rebind-timer\": 2000,\n"
  4372. " \"relay\": {\n"
  4373. " \"ip-address\": \"0.0.0.0\"\n"
  4374. " },\n"
  4375. " \"renew-timer\": 1000,\n"
  4376. " \"reservation-mode\": \"all\",\n"
  4377. " \"reservations\": [ ],\n"
  4378. " \"subnet\": \"192.0.2.0/24\",\n"
  4379. " \"valid-lifetime\": 4000\n"
  4380. " }\n"
  4381. " ]\n"
  4382. " }\n",
  4383. // CONFIGURATION 36
  4384. "{\n"
  4385. " \"decline-probation-period\": 86400,\n"
  4386. " \"dhcp-ddns\": {\n"
  4387. " \"always-include-fqdn\": false,\n"
  4388. " \"enable-updates\": false,\n"
  4389. " \"generated-prefix\": \"myhost\",\n"
  4390. " \"max-queue-size\": 1024,\n"
  4391. " \"ncr-format\": \"JSON\",\n"
  4392. " \"ncr-protocol\": \"UDP\",\n"
  4393. " \"override-client-update\": false,\n"
  4394. " \"override-no-update\": false,\n"
  4395. " \"qualifying-suffix\": \"\",\n"
  4396. " \"replace-client-name\": \"never\",\n"
  4397. " \"sender-ip\": \"0.0.0.0\",\n"
  4398. " \"sender-port\": 0,\n"
  4399. " \"server-ip\": \"127.0.0.1\",\n"
  4400. " \"server-port\": 53001\n"
  4401. " },\n"
  4402. " \"dhcp4o6-port\": 0,\n"
  4403. " \"echo-client-id\": true,\n"
  4404. " \"expired-leases-processing\": {\n"
  4405. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4406. " \"hold-reclaimed-time\": 3600,\n"
  4407. " \"max-reclaim-leases\": 100,\n"
  4408. " \"max-reclaim-time\": 250,\n"
  4409. " \"reclaim-timer-wait-time\": 10,\n"
  4410. " \"unwarned-reclaim-cycles\": 5\n"
  4411. " },\n"
  4412. " \"hooks-libraries\": [ ],\n"
  4413. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4414. " \"interfaces-config\": {\n"
  4415. " \"interfaces\": [ \"eth0\", \"eth1\" ],\n"
  4416. " \"re-detect\": false\n"
  4417. " },\n"
  4418. " \"lease-database\": {\n"
  4419. " \"type\": \"memfile\"\n"
  4420. " },\n"
  4421. " \"option-data\": [ ],\n"
  4422. " \"option-def\": [ ],\n"
  4423. " \"subnet4\": [ ]\n"
  4424. " }\n",
  4425. // CONFIGURATION 37
  4426. "{\n"
  4427. " \"decline-probation-period\": 86400,\n"
  4428. " \"dhcp-ddns\": {\n"
  4429. " \"always-include-fqdn\": false,\n"
  4430. " \"enable-updates\": false,\n"
  4431. " \"generated-prefix\": \"myhost\",\n"
  4432. " \"max-queue-size\": 1024,\n"
  4433. " \"ncr-format\": \"JSON\",\n"
  4434. " \"ncr-protocol\": \"UDP\",\n"
  4435. " \"override-client-update\": false,\n"
  4436. " \"override-no-update\": false,\n"
  4437. " \"qualifying-suffix\": \"\",\n"
  4438. " \"replace-client-name\": \"never\",\n"
  4439. " \"sender-ip\": \"0.0.0.0\",\n"
  4440. " \"sender-port\": 0,\n"
  4441. " \"server-ip\": \"127.0.0.1\",\n"
  4442. " \"server-port\": 53001\n"
  4443. " },\n"
  4444. " \"dhcp4o6-port\": 0,\n"
  4445. " \"echo-client-id\": true,\n"
  4446. " \"expired-leases-processing\": {\n"
  4447. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4448. " \"hold-reclaimed-time\": 3600,\n"
  4449. " \"max-reclaim-leases\": 100,\n"
  4450. " \"max-reclaim-time\": 250,\n"
  4451. " \"reclaim-timer-wait-time\": 10,\n"
  4452. " \"unwarned-reclaim-cycles\": 5\n"
  4453. " },\n"
  4454. " \"hooks-libraries\": [ ],\n"
  4455. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4456. " \"interfaces-config\": {\n"
  4457. " \"interfaces\": [ \"*\", \"eth0\", \"eth1\" ],\n"
  4458. " \"re-detect\": false\n"
  4459. " },\n"
  4460. " \"lease-database\": {\n"
  4461. " \"type\": \"memfile\"\n"
  4462. " },\n"
  4463. " \"option-data\": [ ],\n"
  4464. " \"option-def\": [ ],\n"
  4465. " \"subnet4\": [ ]\n"
  4466. " }\n",
  4467. // CONFIGURATION 38
  4468. "{\n"
  4469. " \"decline-probation-period\": 86400,\n"
  4470. " \"dhcp-ddns\": {\n"
  4471. " \"always-include-fqdn\": true,\n"
  4472. " \"enable-updates\": true,\n"
  4473. " \"generated-prefix\": \"test.prefix\",\n"
  4474. " \"max-queue-size\": 2048,\n"
  4475. " \"ncr-format\": \"JSON\",\n"
  4476. " \"ncr-protocol\": \"UDP\",\n"
  4477. " \"override-client-update\": true,\n"
  4478. " \"override-no-update\": true,\n"
  4479. " \"qualifying-suffix\": \"test.suffix.\",\n"
  4480. " \"replace-client-name\": \"when-present\",\n"
  4481. " \"sender-ip\": \"192.168.2.2\",\n"
  4482. " \"sender-port\": 778,\n"
  4483. " \"server-ip\": \"192.168.2.1\",\n"
  4484. " \"server-port\": 777\n"
  4485. " },\n"
  4486. " \"dhcp4o6-port\": 0,\n"
  4487. " \"echo-client-id\": true,\n"
  4488. " \"expired-leases-processing\": {\n"
  4489. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4490. " \"hold-reclaimed-time\": 3600,\n"
  4491. " \"max-reclaim-leases\": 100,\n"
  4492. " \"max-reclaim-time\": 250,\n"
  4493. " \"reclaim-timer-wait-time\": 10,\n"
  4494. " \"unwarned-reclaim-cycles\": 5\n"
  4495. " },\n"
  4496. " \"hooks-libraries\": [ ],\n"
  4497. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4498. " \"interfaces-config\": {\n"
  4499. " \"interfaces\": [ \"*\" ],\n"
  4500. " \"re-detect\": false\n"
  4501. " },\n"
  4502. " \"lease-database\": {\n"
  4503. " \"type\": \"memfile\"\n"
  4504. " },\n"
  4505. " \"option-data\": [ ],\n"
  4506. " \"option-def\": [ ],\n"
  4507. " \"subnet4\": [\n"
  4508. " {\n"
  4509. " \"4o6-interface\": \"\",\n"
  4510. " \"4o6-interface-id\": \"\",\n"
  4511. " \"4o6-subnet\": \"\",\n"
  4512. " \"id\": 1,\n"
  4513. " \"match-client-id\": true,\n"
  4514. " \"next-server\": \"0.0.0.0\",\n"
  4515. " \"option-data\": [ ],\n"
  4516. " \"pools\": [\n"
  4517. " {\n"
  4518. " \"option-data\": [ ],\n"
  4519. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4520. " }\n"
  4521. " ],\n"
  4522. " \"rebind-timer\": 2000,\n"
  4523. " \"relay\": {\n"
  4524. " \"ip-address\": \"0.0.0.0\"\n"
  4525. " },\n"
  4526. " \"renew-timer\": 1000,\n"
  4527. " \"reservation-mode\": \"all\",\n"
  4528. " \"reservations\": [ ],\n"
  4529. " \"subnet\": \"192.0.2.0/24\",\n"
  4530. " \"valid-lifetime\": 4000\n"
  4531. " }\n"
  4532. " ]\n"
  4533. " }\n",
  4534. // CONFIGURATION 39
  4535. "{\n"
  4536. " \"decline-probation-period\": 86400,\n"
  4537. " \"dhcp-ddns\": {\n"
  4538. " \"always-include-fqdn\": false,\n"
  4539. " \"enable-updates\": false,\n"
  4540. " \"generated-prefix\": \"myhost\",\n"
  4541. " \"max-queue-size\": 1024,\n"
  4542. " \"ncr-format\": \"JSON\",\n"
  4543. " \"ncr-protocol\": \"UDP\",\n"
  4544. " \"override-client-update\": false,\n"
  4545. " \"override-no-update\": false,\n"
  4546. " \"qualifying-suffix\": \"\",\n"
  4547. " \"replace-client-name\": \"never\",\n"
  4548. " \"sender-ip\": \"0.0.0.0\",\n"
  4549. " \"sender-port\": 0,\n"
  4550. " \"server-ip\": \"127.0.0.1\",\n"
  4551. " \"server-port\": 53001\n"
  4552. " },\n"
  4553. " \"dhcp4o6-port\": 0,\n"
  4554. " \"echo-client-id\": true,\n"
  4555. " \"expired-leases-processing\": {\n"
  4556. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4557. " \"hold-reclaimed-time\": 3600,\n"
  4558. " \"max-reclaim-leases\": 100,\n"
  4559. " \"max-reclaim-time\": 250,\n"
  4560. " \"reclaim-timer-wait-time\": 10,\n"
  4561. " \"unwarned-reclaim-cycles\": 5\n"
  4562. " },\n"
  4563. " \"hooks-libraries\": [ ],\n"
  4564. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4565. " \"interfaces-config\": {\n"
  4566. " \"interfaces\": [ \"*\" ],\n"
  4567. " \"re-detect\": false\n"
  4568. " },\n"
  4569. " \"lease-database\": {\n"
  4570. " \"type\": \"memfile\"\n"
  4571. " },\n"
  4572. " \"option-data\": [ ],\n"
  4573. " \"option-def\": [ ],\n"
  4574. " \"subnet4\": [\n"
  4575. " {\n"
  4576. " \"4o6-interface\": \"\",\n"
  4577. " \"4o6-interface-id\": \"\",\n"
  4578. " \"4o6-subnet\": \"\",\n"
  4579. " \"id\": 1,\n"
  4580. " \"match-client-id\": true,\n"
  4581. " \"next-server\": \"0.0.0.0\",\n"
  4582. " \"option-data\": [ ],\n"
  4583. " \"pools\": [\n"
  4584. " {\n"
  4585. " \"option-data\": [ ],\n"
  4586. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4587. " }\n"
  4588. " ],\n"
  4589. " \"rebind-timer\": 2,\n"
  4590. " \"relay\": {\n"
  4591. " \"ip-address\": \"192.0.2.123\"\n"
  4592. " },\n"
  4593. " \"renew-timer\": 1,\n"
  4594. " \"reservation-mode\": \"all\",\n"
  4595. " \"reservations\": [ ],\n"
  4596. " \"subnet\": \"192.0.2.0/24\",\n"
  4597. " \"valid-lifetime\": 4\n"
  4598. " }\n"
  4599. " ]\n"
  4600. " }\n",
  4601. // CONFIGURATION 40
  4602. "{\n"
  4603. " \"decline-probation-period\": 86400,\n"
  4604. " \"dhcp-ddns\": {\n"
  4605. " \"always-include-fqdn\": false,\n"
  4606. " \"enable-updates\": false,\n"
  4607. " \"generated-prefix\": \"myhost\",\n"
  4608. " \"max-queue-size\": 1024,\n"
  4609. " \"ncr-format\": \"JSON\",\n"
  4610. " \"ncr-protocol\": \"UDP\",\n"
  4611. " \"override-client-update\": false,\n"
  4612. " \"override-no-update\": false,\n"
  4613. " \"qualifying-suffix\": \"\",\n"
  4614. " \"replace-client-name\": \"never\",\n"
  4615. " \"sender-ip\": \"0.0.0.0\",\n"
  4616. " \"sender-port\": 0,\n"
  4617. " \"server-ip\": \"127.0.0.1\",\n"
  4618. " \"server-port\": 53001\n"
  4619. " },\n"
  4620. " \"dhcp4o6-port\": 0,\n"
  4621. " \"echo-client-id\": true,\n"
  4622. " \"expired-leases-processing\": {\n"
  4623. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4624. " \"hold-reclaimed-time\": 3600,\n"
  4625. " \"max-reclaim-leases\": 100,\n"
  4626. " \"max-reclaim-time\": 250,\n"
  4627. " \"reclaim-timer-wait-time\": 10,\n"
  4628. " \"unwarned-reclaim-cycles\": 5\n"
  4629. " },\n"
  4630. " \"hooks-libraries\": [ ],\n"
  4631. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4632. " \"interfaces-config\": {\n"
  4633. " \"interfaces\": [ \"*\" ],\n"
  4634. " \"re-detect\": false\n"
  4635. " },\n"
  4636. " \"lease-database\": {\n"
  4637. " \"type\": \"memfile\"\n"
  4638. " },\n"
  4639. " \"option-data\": [ ],\n"
  4640. " \"option-def\": [ ],\n"
  4641. " \"subnet4\": [\n"
  4642. " {\n"
  4643. " \"4o6-interface\": \"\",\n"
  4644. " \"4o6-interface-id\": \"\",\n"
  4645. " \"4o6-subnet\": \"\",\n"
  4646. " \"id\": 123,\n"
  4647. " \"match-client-id\": true,\n"
  4648. " \"next-server\": \"0.0.0.0\",\n"
  4649. " \"option-data\": [ ],\n"
  4650. " \"pools\": [\n"
  4651. " {\n"
  4652. " \"option-data\": [ ],\n"
  4653. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4654. " }\n"
  4655. " ],\n"
  4656. " \"rebind-timer\": 2000,\n"
  4657. " \"relay\": {\n"
  4658. " \"ip-address\": \"0.0.0.0\"\n"
  4659. " },\n"
  4660. " \"renew-timer\": 1000,\n"
  4661. " \"reservation-mode\": \"all\",\n"
  4662. " \"reservations\": [ ],\n"
  4663. " \"subnet\": \"192.0.2.0/24\",\n"
  4664. " \"valid-lifetime\": 4000\n"
  4665. " },\n"
  4666. " {\n"
  4667. " \"4o6-interface\": \"\",\n"
  4668. " \"4o6-interface-id\": \"\",\n"
  4669. " \"4o6-subnet\": \"\",\n"
  4670. " \"id\": 234,\n"
  4671. " \"match-client-id\": true,\n"
  4672. " \"next-server\": \"0.0.0.0\",\n"
  4673. " \"option-data\": [ ],\n"
  4674. " \"pools\": [\n"
  4675. " {\n"
  4676. " \"option-data\": [ ],\n"
  4677. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  4678. " }\n"
  4679. " ],\n"
  4680. " \"rebind-timer\": 2000,\n"
  4681. " \"relay\": {\n"
  4682. " \"ip-address\": \"0.0.0.0\"\n"
  4683. " },\n"
  4684. " \"renew-timer\": 1000,\n"
  4685. " \"reservation-mode\": \"all\",\n"
  4686. " \"reservations\": [\n"
  4687. " {\n"
  4688. " \"boot-file-name\": \"\",\n"
  4689. " \"client-classes\": [ ],\n"
  4690. " \"hostname\": \"\",\n"
  4691. " \"hw-address\": \"01:02:03:04:05:06\",\n"
  4692. " \"ip-address\": \"192.0.3.120\",\n"
  4693. " \"next-server\": \"0.0.0.0\",\n"
  4694. " \"option-data\": [\n"
  4695. " {\n"
  4696. " \"always-send\": false,\n"
  4697. " \"code\": 5,\n"
  4698. " \"csv-format\": true,\n"
  4699. " \"data\": \"192.0.3.95\",\n"
  4700. " \"name\": \"name-servers\",\n"
  4701. " \"space\": \"dhcp4\"\n"
  4702. " },\n"
  4703. " {\n"
  4704. " \"always-send\": false,\n"
  4705. " \"code\": 23,\n"
  4706. " \"csv-format\": true,\n"
  4707. " \"data\": \"11\",\n"
  4708. " \"name\": \"default-ip-ttl\",\n"
  4709. " \"space\": \"dhcp4\"\n"
  4710. " }\n"
  4711. " ],\n"
  4712. " \"server-hostname\": \"\"\n"
  4713. " },\n"
  4714. " {\n"
  4715. " \"boot-file-name\": \"\",\n"
  4716. " \"client-classes\": [ ],\n"
  4717. " \"duid\": \"01:02:03:04:05:06:07:08:09:0a\",\n"
  4718. " \"hostname\": \"\",\n"
  4719. " \"ip-address\": \"192.0.3.112\",\n"
  4720. " \"next-server\": \"0.0.0.0\",\n"
  4721. " \"option-data\": [\n"
  4722. " {\n"
  4723. " \"always-send\": false,\n"
  4724. " \"code\": 5,\n"
  4725. " \"csv-format\": true,\n"
  4726. " \"data\": \"192.0.3.15\",\n"
  4727. " \"name\": \"name-servers\",\n"
  4728. " \"space\": \"dhcp4\"\n"
  4729. " },\n"
  4730. " {\n"
  4731. " \"always-send\": false,\n"
  4732. " \"code\": 23,\n"
  4733. " \"csv-format\": true,\n"
  4734. " \"data\": \"32\",\n"
  4735. " \"name\": \"default-ip-ttl\",\n"
  4736. " \"space\": \"dhcp4\"\n"
  4737. " }\n"
  4738. " ],\n"
  4739. " \"server-hostname\": \"\"\n"
  4740. " }\n"
  4741. " ],\n"
  4742. " \"subnet\": \"192.0.3.0/24\",\n"
  4743. " \"valid-lifetime\": 4000\n"
  4744. " },\n"
  4745. " {\n"
  4746. " \"4o6-interface\": \"\",\n"
  4747. " \"4o6-interface-id\": \"\",\n"
  4748. " \"4o6-subnet\": \"\",\n"
  4749. " \"id\": 542,\n"
  4750. " \"match-client-id\": true,\n"
  4751. " \"next-server\": \"0.0.0.0\",\n"
  4752. " \"option-data\": [ ],\n"
  4753. " \"pools\": [\n"
  4754. " {\n"
  4755. " \"option-data\": [ ],\n"
  4756. " \"pool\": \"192.0.4.101-192.0.4.150\"\n"
  4757. " }\n"
  4758. " ],\n"
  4759. " \"rebind-timer\": 2000,\n"
  4760. " \"relay\": {\n"
  4761. " \"ip-address\": \"0.0.0.0\"\n"
  4762. " },\n"
  4763. " \"renew-timer\": 1000,\n"
  4764. " \"reservation-mode\": \"all\",\n"
  4765. " \"reservations\": [\n"
  4766. " {\n"
  4767. " \"boot-file-name\": \"\",\n"
  4768. " \"client-classes\": [ ],\n"
  4769. " \"client-id\": \"05010203040506\",\n"
  4770. " \"hostname\": \"\",\n"
  4771. " \"ip-address\": \"192.0.4.103\",\n"
  4772. " \"next-server\": \"0.0.0.0\",\n"
  4773. " \"option-data\": [ ],\n"
  4774. " \"server-hostname\": \"\"\n"
  4775. " },\n"
  4776. " {\n"
  4777. " \"boot-file-name\": \"\",\n"
  4778. " \"circuit-id\": \"060504030201\",\n"
  4779. " \"client-classes\": [ ],\n"
  4780. " \"hostname\": \"\",\n"
  4781. " \"ip-address\": \"192.0.4.102\",\n"
  4782. " \"next-server\": \"0.0.0.0\",\n"
  4783. " \"option-data\": [ ],\n"
  4784. " \"server-hostname\": \"\"\n"
  4785. " },\n"
  4786. " {\n"
  4787. " \"boot-file-name\": \"\",\n"
  4788. " \"client-classes\": [ ],\n"
  4789. " \"duid\": \"0a:09:08:07:06:05:04:03:02:01\",\n"
  4790. " \"hostname\": \"\",\n"
  4791. " \"ip-address\": \"192.0.4.101\",\n"
  4792. " \"next-server\": \"0.0.0.0\",\n"
  4793. " \"option-data\": [\n"
  4794. " {\n"
  4795. " \"always-send\": false,\n"
  4796. " \"code\": 5,\n"
  4797. " \"csv-format\": true,\n"
  4798. " \"data\": \"192.0.4.11\",\n"
  4799. " \"name\": \"name-servers\",\n"
  4800. " \"space\": \"dhcp4\"\n"
  4801. " },\n"
  4802. " {\n"
  4803. " \"always-send\": false,\n"
  4804. " \"code\": 23,\n"
  4805. " \"csv-format\": true,\n"
  4806. " \"data\": \"95\",\n"
  4807. " \"name\": \"default-ip-ttl\",\n"
  4808. " \"space\": \"dhcp4\"\n"
  4809. " }\n"
  4810. " ],\n"
  4811. " \"server-hostname\": \"\"\n"
  4812. " }\n"
  4813. " ],\n"
  4814. " \"subnet\": \"192.0.4.0/24\",\n"
  4815. " \"valid-lifetime\": 4000\n"
  4816. " }\n"
  4817. " ]\n"
  4818. " }\n",
  4819. // CONFIGURATION 41
  4820. "{\n"
  4821. " \"decline-probation-period\": 86400,\n"
  4822. " \"dhcp-ddns\": {\n"
  4823. " \"always-include-fqdn\": false,\n"
  4824. " \"enable-updates\": false,\n"
  4825. " \"generated-prefix\": \"myhost\",\n"
  4826. " \"max-queue-size\": 1024,\n"
  4827. " \"ncr-format\": \"JSON\",\n"
  4828. " \"ncr-protocol\": \"UDP\",\n"
  4829. " \"override-client-update\": false,\n"
  4830. " \"override-no-update\": false,\n"
  4831. " \"qualifying-suffix\": \"\",\n"
  4832. " \"replace-client-name\": \"never\",\n"
  4833. " \"sender-ip\": \"0.0.0.0\",\n"
  4834. " \"sender-port\": 0,\n"
  4835. " \"server-ip\": \"127.0.0.1\",\n"
  4836. " \"server-port\": 53001\n"
  4837. " },\n"
  4838. " \"dhcp4o6-port\": 0,\n"
  4839. " \"echo-client-id\": true,\n"
  4840. " \"expired-leases-processing\": {\n"
  4841. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4842. " \"hold-reclaimed-time\": 3600,\n"
  4843. " \"max-reclaim-leases\": 100,\n"
  4844. " \"max-reclaim-time\": 250,\n"
  4845. " \"reclaim-timer-wait-time\": 10,\n"
  4846. " \"unwarned-reclaim-cycles\": 5\n"
  4847. " },\n"
  4848. " \"hooks-libraries\": [ ],\n"
  4849. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4850. " \"interfaces-config\": {\n"
  4851. " \"interfaces\": [ \"*\" ],\n"
  4852. " \"re-detect\": false\n"
  4853. " },\n"
  4854. " \"lease-database\": {\n"
  4855. " \"type\": \"memfile\"\n"
  4856. " },\n"
  4857. " \"option-data\": [ ],\n"
  4858. " \"option-def\": [\n"
  4859. " {\n"
  4860. " \"array\": false,\n"
  4861. " \"code\": 100,\n"
  4862. " \"encapsulate\": \"\",\n"
  4863. " \"name\": \"foo\",\n"
  4864. " \"record-types\": \"\",\n"
  4865. " \"space\": \"isc\",\n"
  4866. " \"type\": \"uint32\"\n"
  4867. " }\n"
  4868. " ],\n"
  4869. " \"subnet4\": [\n"
  4870. " {\n"
  4871. " \"4o6-interface\": \"\",\n"
  4872. " \"4o6-interface-id\": \"\",\n"
  4873. " \"4o6-subnet\": \"\",\n"
  4874. " \"id\": 234,\n"
  4875. " \"match-client-id\": true,\n"
  4876. " \"next-server\": \"0.0.0.0\",\n"
  4877. " \"option-data\": [ ],\n"
  4878. " \"pools\": [\n"
  4879. " {\n"
  4880. " \"option-data\": [ ],\n"
  4881. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  4882. " }\n"
  4883. " ],\n"
  4884. " \"rebind-timer\": 2000,\n"
  4885. " \"relay\": {\n"
  4886. " \"ip-address\": \"0.0.0.0\"\n"
  4887. " },\n"
  4888. " \"renew-timer\": 1000,\n"
  4889. " \"reservation-mode\": \"all\",\n"
  4890. " \"reservations\": [\n"
  4891. " {\n"
  4892. " \"boot-file-name\": \"\",\n"
  4893. " \"client-classes\": [ ],\n"
  4894. " \"duid\": \"01:02:03:04:05:06:07:08:09:0a\",\n"
  4895. " \"hostname\": \"\",\n"
  4896. " \"ip-address\": \"192.0.3.112\",\n"
  4897. " \"next-server\": \"0.0.0.0\",\n"
  4898. " \"option-data\": [\n"
  4899. " {\n"
  4900. " \"always-send\": false,\n"
  4901. " \"code\": 100,\n"
  4902. " \"csv-format\": true,\n"
  4903. " \"data\": \"123\",\n"
  4904. " \"name\": \"foo\",\n"
  4905. " \"space\": \"isc\"\n"
  4906. " }\n"
  4907. " ],\n"
  4908. " \"server-hostname\": \"\"\n"
  4909. " }\n"
  4910. " ],\n"
  4911. " \"subnet\": \"192.0.3.0/24\",\n"
  4912. " \"valid-lifetime\": 4000\n"
  4913. " }\n"
  4914. " ]\n"
  4915. " }\n",
  4916. // CONFIGURATION 42
  4917. "{\n"
  4918. " \"decline-probation-period\": 86400,\n"
  4919. " \"dhcp-ddns\": {\n"
  4920. " \"always-include-fqdn\": false,\n"
  4921. " \"enable-updates\": false,\n"
  4922. " \"generated-prefix\": \"myhost\",\n"
  4923. " \"max-queue-size\": 1024,\n"
  4924. " \"ncr-format\": \"JSON\",\n"
  4925. " \"ncr-protocol\": \"UDP\",\n"
  4926. " \"override-client-update\": false,\n"
  4927. " \"override-no-update\": false,\n"
  4928. " \"qualifying-suffix\": \"\",\n"
  4929. " \"replace-client-name\": \"never\",\n"
  4930. " \"sender-ip\": \"0.0.0.0\",\n"
  4931. " \"sender-port\": 0,\n"
  4932. " \"server-ip\": \"127.0.0.1\",\n"
  4933. " \"server-port\": 53001\n"
  4934. " },\n"
  4935. " \"dhcp4o6-port\": 0,\n"
  4936. " \"echo-client-id\": true,\n"
  4937. " \"expired-leases-processing\": {\n"
  4938. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4939. " \"hold-reclaimed-time\": 3600,\n"
  4940. " \"max-reclaim-leases\": 100,\n"
  4941. " \"max-reclaim-time\": 250,\n"
  4942. " \"reclaim-timer-wait-time\": 10,\n"
  4943. " \"unwarned-reclaim-cycles\": 5\n"
  4944. " },\n"
  4945. " \"hooks-libraries\": [ ],\n"
  4946. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4947. " \"interfaces-config\": {\n"
  4948. " \"interfaces\": [ ],\n"
  4949. " \"re-detect\": false\n"
  4950. " },\n"
  4951. " \"lease-database\": {\n"
  4952. " \"type\": \"memfile\"\n"
  4953. " },\n"
  4954. " \"option-data\": [ ],\n"
  4955. " \"option-def\": [ ],\n"
  4956. " \"subnet4\": [\n"
  4957. " {\n"
  4958. " \"4o6-interface\": \"\",\n"
  4959. " \"4o6-interface-id\": \"\",\n"
  4960. " \"4o6-subnet\": \"\",\n"
  4961. " \"id\": 1,\n"
  4962. " \"match-client-id\": true,\n"
  4963. " \"next-server\": \"0.0.0.0\",\n"
  4964. " \"option-data\": [ ],\n"
  4965. " \"pools\": [\n"
  4966. " {\n"
  4967. " \"option-data\": [ ],\n"
  4968. " \"pool\": \"192.0.2.0/24\"\n"
  4969. " }\n"
  4970. " ],\n"
  4971. " \"rebind-timer\": 2000,\n"
  4972. " \"relay\": {\n"
  4973. " \"ip-address\": \"0.0.0.0\"\n"
  4974. " },\n"
  4975. " \"renew-timer\": 1000,\n"
  4976. " \"reservation-mode\": \"all\",\n"
  4977. " \"reservations\": [ ],\n"
  4978. " \"subnet\": \"192.0.2.0/24\",\n"
  4979. " \"valid-lifetime\": 4000\n"
  4980. " },\n"
  4981. " {\n"
  4982. " \"4o6-interface\": \"\",\n"
  4983. " \"4o6-interface-id\": \"\",\n"
  4984. " \"4o6-subnet\": \"\",\n"
  4985. " \"id\": 2,\n"
  4986. " \"match-client-id\": true,\n"
  4987. " \"next-server\": \"0.0.0.0\",\n"
  4988. " \"option-data\": [ ],\n"
  4989. " \"pools\": [\n"
  4990. " {\n"
  4991. " \"option-data\": [ ],\n"
  4992. " \"pool\": \"192.0.3.0/24\"\n"
  4993. " }\n"
  4994. " ],\n"
  4995. " \"rebind-timer\": 2000,\n"
  4996. " \"relay\": {\n"
  4997. " \"ip-address\": \"0.0.0.0\"\n"
  4998. " },\n"
  4999. " \"renew-timer\": 1000,\n"
  5000. " \"reservation-mode\": \"out-of-pool\",\n"
  5001. " \"reservations\": [ ],\n"
  5002. " \"subnet\": \"192.0.3.0/24\",\n"
  5003. " \"valid-lifetime\": 4000\n"
  5004. " },\n"
  5005. " {\n"
  5006. " \"4o6-interface\": \"\",\n"
  5007. " \"4o6-interface-id\": \"\",\n"
  5008. " \"4o6-subnet\": \"\",\n"
  5009. " \"id\": 3,\n"
  5010. " \"match-client-id\": true,\n"
  5011. " \"next-server\": \"0.0.0.0\",\n"
  5012. " \"option-data\": [ ],\n"
  5013. " \"pools\": [\n"
  5014. " {\n"
  5015. " \"option-data\": [ ],\n"
  5016. " \"pool\": \"192.0.4.0/24\"\n"
  5017. " }\n"
  5018. " ],\n"
  5019. " \"rebind-timer\": 2000,\n"
  5020. " \"relay\": {\n"
  5021. " \"ip-address\": \"0.0.0.0\"\n"
  5022. " },\n"
  5023. " \"renew-timer\": 1000,\n"
  5024. " \"reservation-mode\": \"disabled\",\n"
  5025. " \"reservations\": [ ],\n"
  5026. " \"subnet\": \"192.0.4.0/24\",\n"
  5027. " \"valid-lifetime\": 4000\n"
  5028. " },\n"
  5029. " {\n"
  5030. " \"4o6-interface\": \"\",\n"
  5031. " \"4o6-interface-id\": \"\",\n"
  5032. " \"4o6-subnet\": \"\",\n"
  5033. " \"id\": 4,\n"
  5034. " \"match-client-id\": true,\n"
  5035. " \"next-server\": \"0.0.0.0\",\n"
  5036. " \"option-data\": [ ],\n"
  5037. " \"pools\": [\n"
  5038. " {\n"
  5039. " \"option-data\": [ ],\n"
  5040. " \"pool\": \"192.0.5.0/24\"\n"
  5041. " }\n"
  5042. " ],\n"
  5043. " \"rebind-timer\": 2000,\n"
  5044. " \"relay\": {\n"
  5045. " \"ip-address\": \"0.0.0.0\"\n"
  5046. " },\n"
  5047. " \"renew-timer\": 1000,\n"
  5048. " \"reservation-mode\": \"all\",\n"
  5049. " \"reservations\": [ ],\n"
  5050. " \"subnet\": \"192.0.5.0/24\",\n"
  5051. " \"valid-lifetime\": 4000\n"
  5052. " }\n"
  5053. " ]\n"
  5054. " }\n",
  5055. // CONFIGURATION 43
  5056. "{\n"
  5057. " \"decline-probation-period\": 86400,\n"
  5058. " \"dhcp-ddns\": {\n"
  5059. " \"always-include-fqdn\": false,\n"
  5060. " \"enable-updates\": false,\n"
  5061. " \"generated-prefix\": \"myhost\",\n"
  5062. " \"max-queue-size\": 1024,\n"
  5063. " \"ncr-format\": \"JSON\",\n"
  5064. " \"ncr-protocol\": \"UDP\",\n"
  5065. " \"override-client-update\": false,\n"
  5066. " \"override-no-update\": false,\n"
  5067. " \"qualifying-suffix\": \"\",\n"
  5068. " \"replace-client-name\": \"never\",\n"
  5069. " \"sender-ip\": \"0.0.0.0\",\n"
  5070. " \"sender-port\": 0,\n"
  5071. " \"server-ip\": \"127.0.0.1\",\n"
  5072. " \"server-port\": 53001\n"
  5073. " },\n"
  5074. " \"dhcp4o6-port\": 0,\n"
  5075. " \"echo-client-id\": true,\n"
  5076. " \"expired-leases-processing\": {\n"
  5077. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5078. " \"hold-reclaimed-time\": 3600,\n"
  5079. " \"max-reclaim-leases\": 100,\n"
  5080. " \"max-reclaim-time\": 250,\n"
  5081. " \"reclaim-timer-wait-time\": 10,\n"
  5082. " \"unwarned-reclaim-cycles\": 5\n"
  5083. " },\n"
  5084. " \"hooks-libraries\": [ ],\n"
  5085. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5086. " \"interfaces-config\": {\n"
  5087. " \"interfaces\": [ \"*\" ],\n"
  5088. " \"re-detect\": false\n"
  5089. " },\n"
  5090. " \"lease-database\": {\n"
  5091. " \"type\": \"memfile\"\n"
  5092. " },\n"
  5093. " \"option-data\": [ ],\n"
  5094. " \"option-def\": [ ],\n"
  5095. " \"subnet4\": [ ]\n"
  5096. " }\n",
  5097. // CONFIGURATION 44
  5098. "{\n"
  5099. " \"decline-probation-period\": 86400,\n"
  5100. " \"dhcp-ddns\": {\n"
  5101. " \"always-include-fqdn\": false,\n"
  5102. " \"enable-updates\": false,\n"
  5103. " \"generated-prefix\": \"myhost\",\n"
  5104. " \"max-queue-size\": 1024,\n"
  5105. " \"ncr-format\": \"JSON\",\n"
  5106. " \"ncr-protocol\": \"UDP\",\n"
  5107. " \"override-client-update\": false,\n"
  5108. " \"override-no-update\": false,\n"
  5109. " \"qualifying-suffix\": \"\",\n"
  5110. " \"replace-client-name\": \"never\",\n"
  5111. " \"sender-ip\": \"0.0.0.0\",\n"
  5112. " \"sender-port\": 0,\n"
  5113. " \"server-ip\": \"127.0.0.1\",\n"
  5114. " \"server-port\": 53001\n"
  5115. " },\n"
  5116. " \"dhcp4o6-port\": 0,\n"
  5117. " \"echo-client-id\": true,\n"
  5118. " \"expired-leases-processing\": {\n"
  5119. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5120. " \"hold-reclaimed-time\": 3600,\n"
  5121. " \"max-reclaim-leases\": 100,\n"
  5122. " \"max-reclaim-time\": 250,\n"
  5123. " \"reclaim-timer-wait-time\": 10,\n"
  5124. " \"unwarned-reclaim-cycles\": 5\n"
  5125. " },\n"
  5126. " \"hooks-libraries\": [ ],\n"
  5127. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5128. " \"interfaces-config\": {\n"
  5129. " \"interfaces\": [ \"*\" ],\n"
  5130. " \"re-detect\": false\n"
  5131. " },\n"
  5132. " \"lease-database\": {\n"
  5133. " \"type\": \"memfile\"\n"
  5134. " },\n"
  5135. " \"option-data\": [ ],\n"
  5136. " \"option-def\": [ ],\n"
  5137. " \"subnet4\": [ ]\n"
  5138. " }\n",
  5139. // CONFIGURATION 45
  5140. "{\n"
  5141. " \"decline-probation-period\": 12345,\n"
  5142. " \"dhcp-ddns\": {\n"
  5143. " \"always-include-fqdn\": false,\n"
  5144. " \"enable-updates\": false,\n"
  5145. " \"generated-prefix\": \"myhost\",\n"
  5146. " \"max-queue-size\": 1024,\n"
  5147. " \"ncr-format\": \"JSON\",\n"
  5148. " \"ncr-protocol\": \"UDP\",\n"
  5149. " \"override-client-update\": false,\n"
  5150. " \"override-no-update\": false,\n"
  5151. " \"qualifying-suffix\": \"\",\n"
  5152. " \"replace-client-name\": \"never\",\n"
  5153. " \"sender-ip\": \"0.0.0.0\",\n"
  5154. " \"sender-port\": 0,\n"
  5155. " \"server-ip\": \"127.0.0.1\",\n"
  5156. " \"server-port\": 53001\n"
  5157. " },\n"
  5158. " \"dhcp4o6-port\": 0,\n"
  5159. " \"echo-client-id\": true,\n"
  5160. " \"expired-leases-processing\": {\n"
  5161. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5162. " \"hold-reclaimed-time\": 3600,\n"
  5163. " \"max-reclaim-leases\": 100,\n"
  5164. " \"max-reclaim-time\": 250,\n"
  5165. " \"reclaim-timer-wait-time\": 10,\n"
  5166. " \"unwarned-reclaim-cycles\": 5\n"
  5167. " },\n"
  5168. " \"hooks-libraries\": [ ],\n"
  5169. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5170. " \"interfaces-config\": {\n"
  5171. " \"interfaces\": [ \"*\" ],\n"
  5172. " \"re-detect\": false\n"
  5173. " },\n"
  5174. " \"lease-database\": {\n"
  5175. " \"type\": \"memfile\"\n"
  5176. " },\n"
  5177. " \"option-data\": [ ],\n"
  5178. " \"option-def\": [ ],\n"
  5179. " \"subnet4\": [ ]\n"
  5180. " }\n",
  5181. // CONFIGURATION 46
  5182. "{\n"
  5183. " \"decline-probation-period\": 86400,\n"
  5184. " \"dhcp-ddns\": {\n"
  5185. " \"always-include-fqdn\": false,\n"
  5186. " \"enable-updates\": false,\n"
  5187. " \"generated-prefix\": \"myhost\",\n"
  5188. " \"max-queue-size\": 1024,\n"
  5189. " \"ncr-format\": \"JSON\",\n"
  5190. " \"ncr-protocol\": \"UDP\",\n"
  5191. " \"override-client-update\": false,\n"
  5192. " \"override-no-update\": false,\n"
  5193. " \"qualifying-suffix\": \"\",\n"
  5194. " \"replace-client-name\": \"never\",\n"
  5195. " \"sender-ip\": \"0.0.0.0\",\n"
  5196. " \"sender-port\": 0,\n"
  5197. " \"server-ip\": \"127.0.0.1\",\n"
  5198. " \"server-port\": 53001\n"
  5199. " },\n"
  5200. " \"dhcp4o6-port\": 0,\n"
  5201. " \"echo-client-id\": true,\n"
  5202. " \"expired-leases-processing\": {\n"
  5203. " \"flush-reclaimed-timer-wait-time\": 35,\n"
  5204. " \"hold-reclaimed-time\": 1800,\n"
  5205. " \"max-reclaim-leases\": 50,\n"
  5206. " \"max-reclaim-time\": 100,\n"
  5207. " \"reclaim-timer-wait-time\": 20,\n"
  5208. " \"unwarned-reclaim-cycles\": 10\n"
  5209. " },\n"
  5210. " \"hooks-libraries\": [ ],\n"
  5211. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5212. " \"interfaces-config\": {\n"
  5213. " \"interfaces\": [ \"*\" ],\n"
  5214. " \"re-detect\": false\n"
  5215. " },\n"
  5216. " \"lease-database\": {\n"
  5217. " \"type\": \"memfile\"\n"
  5218. " },\n"
  5219. " \"option-data\": [ ],\n"
  5220. " \"option-def\": [ ],\n"
  5221. " \"subnet4\": [ ]\n"
  5222. " }\n",
  5223. // CONFIGURATION 47
  5224. "{\n"
  5225. " \"decline-probation-period\": 86400,\n"
  5226. " \"dhcp-ddns\": {\n"
  5227. " \"always-include-fqdn\": false,\n"
  5228. " \"enable-updates\": false,\n"
  5229. " \"generated-prefix\": \"myhost\",\n"
  5230. " \"max-queue-size\": 1024,\n"
  5231. " \"ncr-format\": \"JSON\",\n"
  5232. " \"ncr-protocol\": \"UDP\",\n"
  5233. " \"override-client-update\": false,\n"
  5234. " \"override-no-update\": false,\n"
  5235. " \"qualifying-suffix\": \"\",\n"
  5236. " \"replace-client-name\": \"never\",\n"
  5237. " \"sender-ip\": \"0.0.0.0\",\n"
  5238. " \"sender-port\": 0,\n"
  5239. " \"server-ip\": \"127.0.0.1\",\n"
  5240. " \"server-port\": 53001\n"
  5241. " },\n"
  5242. " \"dhcp4o6-port\": 0,\n"
  5243. " \"echo-client-id\": true,\n"
  5244. " \"expired-leases-processing\": {\n"
  5245. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5246. " \"hold-reclaimed-time\": 3600,\n"
  5247. " \"max-reclaim-leases\": 100,\n"
  5248. " \"max-reclaim-time\": 250,\n"
  5249. " \"reclaim-timer-wait-time\": 10,\n"
  5250. " \"unwarned-reclaim-cycles\": 5\n"
  5251. " },\n"
  5252. " \"hooks-libraries\": [ ],\n"
  5253. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5254. " \"interfaces-config\": {\n"
  5255. " \"interfaces\": [ \"*\" ],\n"
  5256. " \"re-detect\": false\n"
  5257. " },\n"
  5258. " \"lease-database\": {\n"
  5259. " \"type\": \"memfile\"\n"
  5260. " },\n"
  5261. " \"option-data\": [ ],\n"
  5262. " \"option-def\": [ ],\n"
  5263. " \"subnet4\": [\n"
  5264. " {\n"
  5265. " \"4o6-interface\": \"\",\n"
  5266. " \"4o6-interface-id\": \"\",\n"
  5267. " \"4o6-subnet\": \"\",\n"
  5268. " \"id\": 1,\n"
  5269. " \"match-client-id\": true,\n"
  5270. " \"next-server\": \"0.0.0.0\",\n"
  5271. " \"option-data\": [ ],\n"
  5272. " \"pools\": [\n"
  5273. " {\n"
  5274. " \"option-data\": [ ],\n"
  5275. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5276. " }\n"
  5277. " ],\n"
  5278. " \"rebind-timer\": 2000,\n"
  5279. " \"relay\": {\n"
  5280. " \"ip-address\": \"0.0.0.0\"\n"
  5281. " },\n"
  5282. " \"renew-timer\": 1000,\n"
  5283. " \"reservation-mode\": \"all\",\n"
  5284. " \"reservations\": [ ],\n"
  5285. " \"subnet\": \"192.0.2.0/24\",\n"
  5286. " \"valid-lifetime\": 4000\n"
  5287. " }\n"
  5288. " ]\n"
  5289. " }\n",
  5290. // CONFIGURATION 48
  5291. "{\n"
  5292. " \"decline-probation-period\": 86400,\n"
  5293. " \"dhcp-ddns\": {\n"
  5294. " \"always-include-fqdn\": false,\n"
  5295. " \"enable-updates\": false,\n"
  5296. " \"generated-prefix\": \"myhost\",\n"
  5297. " \"max-queue-size\": 1024,\n"
  5298. " \"ncr-format\": \"JSON\",\n"
  5299. " \"ncr-protocol\": \"UDP\",\n"
  5300. " \"override-client-update\": false,\n"
  5301. " \"override-no-update\": false,\n"
  5302. " \"qualifying-suffix\": \"\",\n"
  5303. " \"replace-client-name\": \"never\",\n"
  5304. " \"sender-ip\": \"0.0.0.0\",\n"
  5305. " \"sender-port\": 0,\n"
  5306. " \"server-ip\": \"127.0.0.1\",\n"
  5307. " \"server-port\": 53001\n"
  5308. " },\n"
  5309. " \"dhcp4o6-port\": 0,\n"
  5310. " \"echo-client-id\": true,\n"
  5311. " \"expired-leases-processing\": {\n"
  5312. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5313. " \"hold-reclaimed-time\": 3600,\n"
  5314. " \"max-reclaim-leases\": 100,\n"
  5315. " \"max-reclaim-time\": 250,\n"
  5316. " \"reclaim-timer-wait-time\": 10,\n"
  5317. " \"unwarned-reclaim-cycles\": 5\n"
  5318. " },\n"
  5319. " \"hooks-libraries\": [ ],\n"
  5320. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5321. " \"interfaces-config\": {\n"
  5322. " \"interfaces\": [ \"*\" ],\n"
  5323. " \"re-detect\": false\n"
  5324. " },\n"
  5325. " \"lease-database\": {\n"
  5326. " \"type\": \"memfile\"\n"
  5327. " },\n"
  5328. " \"option-data\": [ ],\n"
  5329. " \"option-def\": [ ],\n"
  5330. " \"subnet4\": [\n"
  5331. " {\n"
  5332. " \"4o6-interface\": \"\",\n"
  5333. " \"4o6-interface-id\": \"\",\n"
  5334. " \"4o6-subnet\": \"2001:db8::123/45\",\n"
  5335. " \"id\": 1,\n"
  5336. " \"match-client-id\": true,\n"
  5337. " \"next-server\": \"0.0.0.0\",\n"
  5338. " \"option-data\": [ ],\n"
  5339. " \"pools\": [\n"
  5340. " {\n"
  5341. " \"option-data\": [ ],\n"
  5342. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5343. " }\n"
  5344. " ],\n"
  5345. " \"rebind-timer\": 2000,\n"
  5346. " \"relay\": {\n"
  5347. " \"ip-address\": \"0.0.0.0\"\n"
  5348. " },\n"
  5349. " \"renew-timer\": 1000,\n"
  5350. " \"reservation-mode\": \"all\",\n"
  5351. " \"reservations\": [ ],\n"
  5352. " \"subnet\": \"192.0.2.0/24\",\n"
  5353. " \"valid-lifetime\": 4000\n"
  5354. " }\n"
  5355. " ]\n"
  5356. " }\n",
  5357. // CONFIGURATION 49
  5358. "{\n"
  5359. " \"decline-probation-period\": 86400,\n"
  5360. " \"dhcp-ddns\": {\n"
  5361. " \"always-include-fqdn\": false,\n"
  5362. " \"enable-updates\": false,\n"
  5363. " \"generated-prefix\": \"myhost\",\n"
  5364. " \"max-queue-size\": 1024,\n"
  5365. " \"ncr-format\": \"JSON\",\n"
  5366. " \"ncr-protocol\": \"UDP\",\n"
  5367. " \"override-client-update\": false,\n"
  5368. " \"override-no-update\": false,\n"
  5369. " \"qualifying-suffix\": \"\",\n"
  5370. " \"replace-client-name\": \"never\",\n"
  5371. " \"sender-ip\": \"0.0.0.0\",\n"
  5372. " \"sender-port\": 0,\n"
  5373. " \"server-ip\": \"127.0.0.1\",\n"
  5374. " \"server-port\": 53001\n"
  5375. " },\n"
  5376. " \"dhcp4o6-port\": 0,\n"
  5377. " \"echo-client-id\": true,\n"
  5378. " \"expired-leases-processing\": {\n"
  5379. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5380. " \"hold-reclaimed-time\": 3600,\n"
  5381. " \"max-reclaim-leases\": 100,\n"
  5382. " \"max-reclaim-time\": 250,\n"
  5383. " \"reclaim-timer-wait-time\": 10,\n"
  5384. " \"unwarned-reclaim-cycles\": 5\n"
  5385. " },\n"
  5386. " \"hooks-libraries\": [ ],\n"
  5387. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5388. " \"interfaces-config\": {\n"
  5389. " \"interfaces\": [ \"*\" ],\n"
  5390. " \"re-detect\": false\n"
  5391. " },\n"
  5392. " \"lease-database\": {\n"
  5393. " \"type\": \"memfile\"\n"
  5394. " },\n"
  5395. " \"option-data\": [ ],\n"
  5396. " \"option-def\": [ ],\n"
  5397. " \"subnet4\": [\n"
  5398. " {\n"
  5399. " \"4o6-interface\": \"ethX\",\n"
  5400. " \"4o6-interface-id\": \"\",\n"
  5401. " \"4o6-subnet\": \"\",\n"
  5402. " \"id\": 1,\n"
  5403. " \"match-client-id\": true,\n"
  5404. " \"next-server\": \"0.0.0.0\",\n"
  5405. " \"option-data\": [ ],\n"
  5406. " \"pools\": [\n"
  5407. " {\n"
  5408. " \"option-data\": [ ],\n"
  5409. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5410. " }\n"
  5411. " ],\n"
  5412. " \"rebind-timer\": 2000,\n"
  5413. " \"relay\": {\n"
  5414. " \"ip-address\": \"0.0.0.0\"\n"
  5415. " },\n"
  5416. " \"renew-timer\": 1000,\n"
  5417. " \"reservation-mode\": \"all\",\n"
  5418. " \"reservations\": [ ],\n"
  5419. " \"subnet\": \"192.0.2.0/24\",\n"
  5420. " \"valid-lifetime\": 4000\n"
  5421. " }\n"
  5422. " ]\n"
  5423. " }\n",
  5424. // CONFIGURATION 50
  5425. "{\n"
  5426. " \"decline-probation-period\": 86400,\n"
  5427. " \"dhcp-ddns\": {\n"
  5428. " \"always-include-fqdn\": false,\n"
  5429. " \"enable-updates\": false,\n"
  5430. " \"generated-prefix\": \"myhost\",\n"
  5431. " \"max-queue-size\": 1024,\n"
  5432. " \"ncr-format\": \"JSON\",\n"
  5433. " \"ncr-protocol\": \"UDP\",\n"
  5434. " \"override-client-update\": false,\n"
  5435. " \"override-no-update\": false,\n"
  5436. " \"qualifying-suffix\": \"\",\n"
  5437. " \"replace-client-name\": \"never\",\n"
  5438. " \"sender-ip\": \"0.0.0.0\",\n"
  5439. " \"sender-port\": 0,\n"
  5440. " \"server-ip\": \"127.0.0.1\",\n"
  5441. " \"server-port\": 53001\n"
  5442. " },\n"
  5443. " \"dhcp4o6-port\": 0,\n"
  5444. " \"echo-client-id\": true,\n"
  5445. " \"expired-leases-processing\": {\n"
  5446. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5447. " \"hold-reclaimed-time\": 3600,\n"
  5448. " \"max-reclaim-leases\": 100,\n"
  5449. " \"max-reclaim-time\": 250,\n"
  5450. " \"reclaim-timer-wait-time\": 10,\n"
  5451. " \"unwarned-reclaim-cycles\": 5\n"
  5452. " },\n"
  5453. " \"hooks-libraries\": [ ],\n"
  5454. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5455. " \"interfaces-config\": {\n"
  5456. " \"interfaces\": [ \"*\" ],\n"
  5457. " \"re-detect\": false\n"
  5458. " },\n"
  5459. " \"lease-database\": {\n"
  5460. " \"type\": \"memfile\"\n"
  5461. " },\n"
  5462. " \"option-data\": [ ],\n"
  5463. " \"option-def\": [ ],\n"
  5464. " \"subnet4\": [\n"
  5465. " {\n"
  5466. " \"4o6-interface\": \"ethX\",\n"
  5467. " \"4o6-interface-id\": \"\",\n"
  5468. " \"4o6-subnet\": \"2001:db8::543/21\",\n"
  5469. " \"id\": 1,\n"
  5470. " \"match-client-id\": true,\n"
  5471. " \"next-server\": \"0.0.0.0\",\n"
  5472. " \"option-data\": [ ],\n"
  5473. " \"pools\": [\n"
  5474. " {\n"
  5475. " \"option-data\": [ ],\n"
  5476. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5477. " }\n"
  5478. " ],\n"
  5479. " \"rebind-timer\": 2000,\n"
  5480. " \"relay\": {\n"
  5481. " \"ip-address\": \"0.0.0.0\"\n"
  5482. " },\n"
  5483. " \"renew-timer\": 1000,\n"
  5484. " \"reservation-mode\": \"all\",\n"
  5485. " \"reservations\": [ ],\n"
  5486. " \"subnet\": \"192.0.2.0/24\",\n"
  5487. " \"valid-lifetime\": 4000\n"
  5488. " }\n"
  5489. " ]\n"
  5490. " }\n",
  5491. // CONFIGURATION 51
  5492. "{\n"
  5493. " \"decline-probation-period\": 86400,\n"
  5494. " \"dhcp-ddns\": {\n"
  5495. " \"always-include-fqdn\": false,\n"
  5496. " \"enable-updates\": false,\n"
  5497. " \"generated-prefix\": \"myhost\",\n"
  5498. " \"max-queue-size\": 1024,\n"
  5499. " \"ncr-format\": \"JSON\",\n"
  5500. " \"ncr-protocol\": \"UDP\",\n"
  5501. " \"override-client-update\": false,\n"
  5502. " \"override-no-update\": false,\n"
  5503. " \"qualifying-suffix\": \"\",\n"
  5504. " \"replace-client-name\": \"never\",\n"
  5505. " \"sender-ip\": \"0.0.0.0\",\n"
  5506. " \"sender-port\": 0,\n"
  5507. " \"server-ip\": \"127.0.0.1\",\n"
  5508. " \"server-port\": 53001\n"
  5509. " },\n"
  5510. " \"dhcp4o6-port\": 0,\n"
  5511. " \"echo-client-id\": true,\n"
  5512. " \"expired-leases-processing\": {\n"
  5513. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5514. " \"hold-reclaimed-time\": 3600,\n"
  5515. " \"max-reclaim-leases\": 100,\n"
  5516. " \"max-reclaim-time\": 250,\n"
  5517. " \"reclaim-timer-wait-time\": 10,\n"
  5518. " \"unwarned-reclaim-cycles\": 5\n"
  5519. " },\n"
  5520. " \"hooks-libraries\": [ ],\n"
  5521. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5522. " \"interfaces-config\": {\n"
  5523. " \"interfaces\": [ \"*\" ],\n"
  5524. " \"re-detect\": false\n"
  5525. " },\n"
  5526. " \"lease-database\": {\n"
  5527. " \"type\": \"memfile\"\n"
  5528. " },\n"
  5529. " \"option-data\": [ ],\n"
  5530. " \"option-def\": [ ],\n"
  5531. " \"subnet4\": [\n"
  5532. " {\n"
  5533. " \"4o6-interface\": \"\",\n"
  5534. " \"4o6-interface-id\": \"vlan123\",\n"
  5535. " \"4o6-subnet\": \"\",\n"
  5536. " \"id\": 1,\n"
  5537. " \"match-client-id\": true,\n"
  5538. " \"next-server\": \"0.0.0.0\",\n"
  5539. " \"option-data\": [ ],\n"
  5540. " \"pools\": [\n"
  5541. " {\n"
  5542. " \"option-data\": [ ],\n"
  5543. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5544. " }\n"
  5545. " ],\n"
  5546. " \"rebind-timer\": 2000,\n"
  5547. " \"relay\": {\n"
  5548. " \"ip-address\": \"0.0.0.0\"\n"
  5549. " },\n"
  5550. " \"renew-timer\": 1000,\n"
  5551. " \"reservation-mode\": \"all\",\n"
  5552. " \"reservations\": [ ],\n"
  5553. " \"subnet\": \"192.0.2.0/24\",\n"
  5554. " \"valid-lifetime\": 4000\n"
  5555. " }\n"
  5556. " ]\n"
  5557. " }\n",
  5558. // CONFIGURATION 52
  5559. "{\n"
  5560. " \"client-classes\": [\n"
  5561. " {\n"
  5562. " \"boot-file-name\": \"\",\n"
  5563. " \"name\": \"one\",\n"
  5564. " \"next-server\": \"0.0.0.0\",\n"
  5565. " \"option-data\": [ ],\n"
  5566. " \"server-hostname\": \"\"\n"
  5567. " },\n"
  5568. " {\n"
  5569. " \"boot-file-name\": \"\",\n"
  5570. " \"name\": \"three\",\n"
  5571. " \"next-server\": \"0.0.0.0\",\n"
  5572. " \"option-data\": [ ],\n"
  5573. " \"server-hostname\": \"\"\n"
  5574. " },\n"
  5575. " {\n"
  5576. " \"boot-file-name\": \"\",\n"
  5577. " \"name\": \"two\",\n"
  5578. " \"next-server\": \"0.0.0.0\",\n"
  5579. " \"option-data\": [ ],\n"
  5580. " \"server-hostname\": \"\"\n"
  5581. " }\n"
  5582. " ],\n"
  5583. " \"decline-probation-period\": 86400,\n"
  5584. " \"dhcp-ddns\": {\n"
  5585. " \"always-include-fqdn\": false,\n"
  5586. " \"enable-updates\": false,\n"
  5587. " \"generated-prefix\": \"myhost\",\n"
  5588. " \"max-queue-size\": 1024,\n"
  5589. " \"ncr-format\": \"JSON\",\n"
  5590. " \"ncr-protocol\": \"UDP\",\n"
  5591. " \"override-client-update\": false,\n"
  5592. " \"override-no-update\": false,\n"
  5593. " \"qualifying-suffix\": \"\",\n"
  5594. " \"replace-client-name\": \"never\",\n"
  5595. " \"sender-ip\": \"0.0.0.0\",\n"
  5596. " \"sender-port\": 0,\n"
  5597. " \"server-ip\": \"127.0.0.1\",\n"
  5598. " \"server-port\": 53001\n"
  5599. " },\n"
  5600. " \"dhcp4o6-port\": 0,\n"
  5601. " \"echo-client-id\": true,\n"
  5602. " \"expired-leases-processing\": {\n"
  5603. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5604. " \"hold-reclaimed-time\": 3600,\n"
  5605. " \"max-reclaim-leases\": 100,\n"
  5606. " \"max-reclaim-time\": 250,\n"
  5607. " \"reclaim-timer-wait-time\": 10,\n"
  5608. " \"unwarned-reclaim-cycles\": 5\n"
  5609. " },\n"
  5610. " \"hooks-libraries\": [ ],\n"
  5611. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5612. " \"interfaces-config\": {\n"
  5613. " \"interfaces\": [ \"*\" ],\n"
  5614. " \"re-detect\": false\n"
  5615. " },\n"
  5616. " \"lease-database\": {\n"
  5617. " \"type\": \"memfile\"\n"
  5618. " },\n"
  5619. " \"option-data\": [ ],\n"
  5620. " \"option-def\": [ ],\n"
  5621. " \"subnet4\": [\n"
  5622. " {\n"
  5623. " \"4o6-interface\": \"\",\n"
  5624. " \"4o6-interface-id\": \"\",\n"
  5625. " \"4o6-subnet\": \"\",\n"
  5626. " \"id\": 1,\n"
  5627. " \"match-client-id\": true,\n"
  5628. " \"next-server\": \"0.0.0.0\",\n"
  5629. " \"option-data\": [ ],\n"
  5630. " \"pools\": [\n"
  5631. " {\n"
  5632. " \"option-data\": [ ],\n"
  5633. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5634. " }\n"
  5635. " ],\n"
  5636. " \"rebind-timer\": 2000,\n"
  5637. " \"relay\": {\n"
  5638. " \"ip-address\": \"0.0.0.0\"\n"
  5639. " },\n"
  5640. " \"renew-timer\": 1000,\n"
  5641. " \"reservation-mode\": \"all\",\n"
  5642. " \"reservations\": [ ],\n"
  5643. " \"subnet\": \"192.0.2.0/24\",\n"
  5644. " \"valid-lifetime\": 4000\n"
  5645. " }\n"
  5646. " ]\n"
  5647. " }\n",
  5648. // CONFIGURATION 53
  5649. "{\n"
  5650. " \"decline-probation-period\": 86400,\n"
  5651. " \"dhcp-ddns\": {\n"
  5652. " \"always-include-fqdn\": false,\n"
  5653. " \"enable-updates\": false,\n"
  5654. " \"generated-prefix\": \"myhost\",\n"
  5655. " \"max-queue-size\": 1024,\n"
  5656. " \"ncr-format\": \"JSON\",\n"
  5657. " \"ncr-protocol\": \"UDP\",\n"
  5658. " \"override-client-update\": false,\n"
  5659. " \"override-no-update\": false,\n"
  5660. " \"qualifying-suffix\": \"\",\n"
  5661. " \"replace-client-name\": \"never\",\n"
  5662. " \"sender-ip\": \"0.0.0.0\",\n"
  5663. " \"sender-port\": 0,\n"
  5664. " \"server-ip\": \"127.0.0.1\",\n"
  5665. " \"server-port\": 53001\n"
  5666. " },\n"
  5667. " \"dhcp4o6-port\": 0,\n"
  5668. " \"echo-client-id\": true,\n"
  5669. " \"expired-leases-processing\": {\n"
  5670. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5671. " \"hold-reclaimed-time\": 3600,\n"
  5672. " \"max-reclaim-leases\": 100,\n"
  5673. " \"max-reclaim-time\": 250,\n"
  5674. " \"reclaim-timer-wait-time\": 10,\n"
  5675. " \"unwarned-reclaim-cycles\": 5\n"
  5676. " },\n"
  5677. " \"hooks-libraries\": [ ],\n"
  5678. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5679. " \"interfaces-config\": {\n"
  5680. " \"interfaces\": [ \"*\" ],\n"
  5681. " \"re-detect\": false\n"
  5682. " },\n"
  5683. " \"lease-database\": {\n"
  5684. " \"type\": \"memfile\"\n"
  5685. " },\n"
  5686. " \"option-data\": [ ],\n"
  5687. " \"option-def\": [ ],\n"
  5688. " \"subnet4\": [\n"
  5689. " {\n"
  5690. " \"4o6-interface\": \"\",\n"
  5691. " \"4o6-interface-id\": \"\",\n"
  5692. " \"4o6-subnet\": \"\",\n"
  5693. " \"id\": 1,\n"
  5694. " \"match-client-id\": true,\n"
  5695. " \"next-server\": \"0.0.0.0\",\n"
  5696. " \"option-data\": [ ],\n"
  5697. " \"pools\": [\n"
  5698. " {\n"
  5699. " \"option-data\": [ ],\n"
  5700. " \"pool\": \"192.0.2.0/28\"\n"
  5701. " }\n"
  5702. " ],\n"
  5703. " \"rebind-timer\": 2000,\n"
  5704. " \"relay\": {\n"
  5705. " \"ip-address\": \"0.0.0.0\"\n"
  5706. " },\n"
  5707. " \"renew-timer\": 1000,\n"
  5708. " \"reservation-mode\": \"all\",\n"
  5709. " \"reservations\": [ ],\n"
  5710. " \"subnet\": \"192.0.2.0/24\",\n"
  5711. " \"valid-lifetime\": 4000\n"
  5712. " }\n"
  5713. " ]\n"
  5714. " }\n",
  5715. // CONFIGURATION 54
  5716. "{\n"
  5717. " \"decline-probation-period\": 86400,\n"
  5718. " \"dhcp-ddns\": {\n"
  5719. " \"always-include-fqdn\": false,\n"
  5720. " \"enable-updates\": false,\n"
  5721. " \"generated-prefix\": \"myhost\",\n"
  5722. " \"max-queue-size\": 1024,\n"
  5723. " \"ncr-format\": \"JSON\",\n"
  5724. " \"ncr-protocol\": \"UDP\",\n"
  5725. " \"override-client-update\": false,\n"
  5726. " \"override-no-update\": false,\n"
  5727. " \"qualifying-suffix\": \"\",\n"
  5728. " \"replace-client-name\": \"never\",\n"
  5729. " \"sender-ip\": \"0.0.0.0\",\n"
  5730. " \"sender-port\": 0,\n"
  5731. " \"server-ip\": \"127.0.0.1\",\n"
  5732. " \"server-port\": 53001\n"
  5733. " },\n"
  5734. " \"dhcp4o6-port\": 0,\n"
  5735. " \"echo-client-id\": true,\n"
  5736. " \"expired-leases-processing\": {\n"
  5737. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5738. " \"hold-reclaimed-time\": 3600,\n"
  5739. " \"max-reclaim-leases\": 100,\n"
  5740. " \"max-reclaim-time\": 250,\n"
  5741. " \"reclaim-timer-wait-time\": 10,\n"
  5742. " \"unwarned-reclaim-cycles\": 5\n"
  5743. " },\n"
  5744. " \"hooks-libraries\": [ ],\n"
  5745. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5746. " \"interfaces-config\": {\n"
  5747. " \"interfaces\": [ \"*\" ],\n"
  5748. " \"re-detect\": false\n"
  5749. " },\n"
  5750. " \"lease-database\": {\n"
  5751. " \"type\": \"memfile\"\n"
  5752. " },\n"
  5753. " \"option-data\": [ ],\n"
  5754. " \"option-def\": [ ],\n"
  5755. " \"subnet4\": [\n"
  5756. " {\n"
  5757. " \"4o6-interface\": \"\",\n"
  5758. " \"4o6-interface-id\": \"\",\n"
  5759. " \"4o6-subnet\": \"\",\n"
  5760. " \"id\": 1,\n"
  5761. " \"match-client-id\": true,\n"
  5762. " \"next-server\": \"0.0.0.0\",\n"
  5763. " \"option-data\": [ ],\n"
  5764. " \"pools\": [\n"
  5765. " {\n"
  5766. " \"option-data\": [ ],\n"
  5767. " \"pool\": \"192.0.2.0/28\",\n"
  5768. " \"user-context\": { }\n"
  5769. " }\n"
  5770. " ],\n"
  5771. " \"rebind-timer\": 2000,\n"
  5772. " \"relay\": {\n"
  5773. " \"ip-address\": \"0.0.0.0\"\n"
  5774. " },\n"
  5775. " \"renew-timer\": 1000,\n"
  5776. " \"reservation-mode\": \"all\",\n"
  5777. " \"reservations\": [ ],\n"
  5778. " \"subnet\": \"192.0.2.0/24\",\n"
  5779. " \"valid-lifetime\": 4000\n"
  5780. " }\n"
  5781. " ]\n"
  5782. " }\n",
  5783. // CONFIGURATION 55
  5784. "{\n"
  5785. " \"decline-probation-period\": 86400,\n"
  5786. " \"dhcp-ddns\": {\n"
  5787. " \"always-include-fqdn\": false,\n"
  5788. " \"enable-updates\": false,\n"
  5789. " \"generated-prefix\": \"myhost\",\n"
  5790. " \"max-queue-size\": 1024,\n"
  5791. " \"ncr-format\": \"JSON\",\n"
  5792. " \"ncr-protocol\": \"UDP\",\n"
  5793. " \"override-client-update\": false,\n"
  5794. " \"override-no-update\": false,\n"
  5795. " \"qualifying-suffix\": \"\",\n"
  5796. " \"replace-client-name\": \"never\",\n"
  5797. " \"sender-ip\": \"0.0.0.0\",\n"
  5798. " \"sender-port\": 0,\n"
  5799. " \"server-ip\": \"127.0.0.1\",\n"
  5800. " \"server-port\": 53001\n"
  5801. " },\n"
  5802. " \"dhcp4o6-port\": 0,\n"
  5803. " \"echo-client-id\": true,\n"
  5804. " \"expired-leases-processing\": {\n"
  5805. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5806. " \"hold-reclaimed-time\": 3600,\n"
  5807. " \"max-reclaim-leases\": 100,\n"
  5808. " \"max-reclaim-time\": 250,\n"
  5809. " \"reclaim-timer-wait-time\": 10,\n"
  5810. " \"unwarned-reclaim-cycles\": 5\n"
  5811. " },\n"
  5812. " \"hooks-libraries\": [ ],\n"
  5813. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5814. " \"interfaces-config\": {\n"
  5815. " \"interfaces\": [ \"*\" ],\n"
  5816. " \"re-detect\": false\n"
  5817. " },\n"
  5818. " \"lease-database\": {\n"
  5819. " \"type\": \"memfile\"\n"
  5820. " },\n"
  5821. " \"option-data\": [ ],\n"
  5822. " \"option-def\": [ ],\n"
  5823. " \"subnet4\": [\n"
  5824. " {\n"
  5825. " \"4o6-interface\": \"\",\n"
  5826. " \"4o6-interface-id\": \"\",\n"
  5827. " \"4o6-subnet\": \"\",\n"
  5828. " \"id\": 1,\n"
  5829. " \"match-client-id\": true,\n"
  5830. " \"next-server\": \"0.0.0.0\",\n"
  5831. " \"option-data\": [ ],\n"
  5832. " \"pools\": [\n"
  5833. " {\n"
  5834. " \"option-data\": [ ],\n"
  5835. " \"pool\": \"192.0.2.0/28\",\n"
  5836. " \"user-context\": {\n"
  5837. " \"bool-param\": true,\n"
  5838. " \"integer-param\": 42,\n"
  5839. " \"string-param\": \"Sagittarius\"\n"
  5840. " }\n"
  5841. " }\n"
  5842. " ],\n"
  5843. " \"rebind-timer\": 2000,\n"
  5844. " \"relay\": {\n"
  5845. " \"ip-address\": \"0.0.0.0\"\n"
  5846. " },\n"
  5847. " \"renew-timer\": 1000,\n"
  5848. " \"reservation-mode\": \"all\",\n"
  5849. " \"reservations\": [ ],\n"
  5850. " \"subnet\": \"192.0.2.0/24\",\n"
  5851. " \"valid-lifetime\": 4000\n"
  5852. " }\n"
  5853. " ]\n"
  5854. " }\n",
  5855. // CONFIGURATION 56
  5856. "{\n"
  5857. " \"decline-probation-period\": 86400,\n"
  5858. " \"dhcp-ddns\": {\n"
  5859. " \"always-include-fqdn\": false,\n"
  5860. " \"enable-updates\": false,\n"
  5861. " \"generated-prefix\": \"myhost\",\n"
  5862. " \"max-queue-size\": 1024,\n"
  5863. " \"ncr-format\": \"JSON\",\n"
  5864. " \"ncr-protocol\": \"UDP\",\n"
  5865. " \"override-client-update\": false,\n"
  5866. " \"override-no-update\": false,\n"
  5867. " \"qualifying-suffix\": \"\",\n"
  5868. " \"replace-client-name\": \"never\",\n"
  5869. " \"sender-ip\": \"0.0.0.0\",\n"
  5870. " \"sender-port\": 0,\n"
  5871. " \"server-ip\": \"127.0.0.1\",\n"
  5872. " \"server-port\": 53001\n"
  5873. " },\n"
  5874. " \"dhcp4o6-port\": 0,\n"
  5875. " \"echo-client-id\": true,\n"
  5876. " \"expired-leases-processing\": {\n"
  5877. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5878. " \"hold-reclaimed-time\": 3600,\n"
  5879. " \"max-reclaim-leases\": 100,\n"
  5880. " \"max-reclaim-time\": 250,\n"
  5881. " \"reclaim-timer-wait-time\": 10,\n"
  5882. " \"unwarned-reclaim-cycles\": 5\n"
  5883. " },\n"
  5884. " \"hooks-libraries\": [ ],\n"
  5885. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5886. " \"interfaces-config\": {\n"
  5887. " \"interfaces\": [ \"*\" ],\n"
  5888. " \"re-detect\": false\n"
  5889. " },\n"
  5890. " \"lease-database\": {\n"
  5891. " \"type\": \"memfile\"\n"
  5892. " },\n"
  5893. " \"option-data\": [ ],\n"
  5894. " \"option-def\": [ ],\n"
  5895. " \"subnet4\": [\n"
  5896. " {\n"
  5897. " \"4o6-interface\": \"\",\n"
  5898. " \"4o6-interface-id\": \"\",\n"
  5899. " \"4o6-subnet\": \"\",\n"
  5900. " \"id\": 1,\n"
  5901. " \"match-client-id\": true,\n"
  5902. " \"next-server\": \"0.0.0.0\",\n"
  5903. " \"option-data\": [ ],\n"
  5904. " \"pools\": [\n"
  5905. " {\n"
  5906. " \"option-data\": [ ],\n"
  5907. " \"pool\": \"192.0.2.0/28\",\n"
  5908. " \"user-context\": {\n"
  5909. " \"bool-param\": true,\n"
  5910. " \"integer-param\": 42,\n"
  5911. " \"string-param\": \"Sagittarius\"\n"
  5912. " }\n"
  5913. " }\n"
  5914. " ],\n"
  5915. " \"rebind-timer\": 2000,\n"
  5916. " \"relay\": {\n"
  5917. " \"ip-address\": \"0.0.0.0\"\n"
  5918. " },\n"
  5919. " \"renew-timer\": 1000,\n"
  5920. " \"reservation-mode\": \"all\",\n"
  5921. " \"reservations\": [ ],\n"
  5922. " \"subnet\": \"192.0.2.0/24\",\n"
  5923. " \"valid-lifetime\": 4000\n"
  5924. " }\n"
  5925. " ]\n"
  5926. " }\n"
  5927. };
  5928. /// @brief the number of configurations
  5929. const size_t max_config_counter = sizeof(EXTRACTED_CONFIGS) / sizeof(char*);
  5930. ///@}
  5931. /// @brief the extraction counter
  5932. ///
  5933. /// < 0 means do not extract, >= 0 means extract on extractConfig() calls
  5934. /// and increment
  5935. #ifdef EXTRACT_CONFIG
  5936. int extract_count = 0;
  5937. #else
  5938. int extract_count = -1;
  5939. #endif
  5940. /// @brief the generate action
  5941. /// false means do nothing, true means unparse extracted configurations
  5942. #ifdef GENERATE_ACTION
  5943. const bool generate_action = true;
  5944. #else
  5945. const bool generate_action = false;
  5946. static_assert(max_config_counter == sizeof(UNPARSED_CONFIGS) / sizeof(char*),
  5947. "unparsed configurations must be generated");
  5948. #endif
  5949. /// @brief format and output a configuration
  5950. void
  5951. outputFormatted(const std::string& config) {
  5952. // pretty print it
  5953. ConstElementPtr json = parseJSON(config);
  5954. std::string prettier = prettyPrint(json, 4, 4);
  5955. // get it as a line array
  5956. std::list<std::string> lines;
  5957. boost::split(lines, prettier, boost::is_any_of("\n"));
  5958. // add escapes using again JSON
  5959. std::list<std::string> escapes;
  5960. while (!lines.empty()) {
  5961. const std::string& line = lines.front();
  5962. ConstElementPtr escaping = Element::create(line + "\n");
  5963. escapes.push_back(escaping->str());
  5964. lines.pop_front();
  5965. }
  5966. // output them on std::cerr
  5967. while (!escapes.empty()) {
  5968. std::cerr << "\n" << escapes.front();
  5969. escapes.pop_front();
  5970. }
  5971. }
  5972. };
  5973. namespace isc {
  5974. namespace dhcp {
  5975. namespace test {
  5976. /// @ref isc::dhcp::test::extractConfig in the header
  5977. void
  5978. extractConfig(const std::string& config) {
  5979. // skip when disable
  5980. if (extract_count < 0) {
  5981. return;
  5982. }
  5983. // mark beginning
  5984. if (extract_count == 0) {
  5985. // header (note there is no trailer)
  5986. std::cerr << "/// put this after const char* EXTRACTED_CONFIGS[] = {\n";
  5987. } else {
  5988. // end of previous configuration
  5989. std::cerr << ",\n";
  5990. }
  5991. std::cerr << " // CONFIGURATION " << extract_count;
  5992. try {
  5993. outputFormatted(config);
  5994. } catch (...) {
  5995. // mark error
  5996. std::cerr << "\n//// got an error\n";
  5997. }
  5998. ++extract_count;
  5999. }
  6000. };
  6001. };
  6002. };
  6003. namespace {
  6004. /// Test fixture class (code from Dhcp4ParserTest)
  6005. class Dhcp4GetConfigTest : public ::testing::TestWithParam<size_t> {
  6006. public:
  6007. Dhcp4GetConfigTest()
  6008. : rcode_(-1) {
  6009. // Open port 0 means to not do anything at all. We don't want to
  6010. // deal with sockets here, just check if configuration handling
  6011. // is sane.
  6012. srv_.reset(new Dhcpv4Srv(0));
  6013. // Create fresh context.
  6014. resetConfiguration();
  6015. }
  6016. ~Dhcp4GetConfigTest() {
  6017. resetConfiguration();
  6018. };
  6019. /// @brief Parse and Execute configuration
  6020. ///
  6021. /// Parses a configuration and executes a configuration of the server.
  6022. /// If the operation fails, the current test will register a failure.
  6023. ///
  6024. /// @param config Configuration to parse
  6025. /// @param operation Operation being performed. In the case of an error,
  6026. /// the error text will include the string "unable to <operation>.".
  6027. ///
  6028. /// @return true if the configuration succeeded, false if not.
  6029. bool
  6030. executeConfiguration(const std::string& config, const char* operation) {
  6031. // clear config manager
  6032. CfgMgr::instance().clear();
  6033. // enable fake network interfaces
  6034. IfaceMgrTestConfig test_config(true);
  6035. // try JSON parser
  6036. ConstElementPtr json;
  6037. try {
  6038. json = parseJSON(config);
  6039. } catch (const std::exception& ex) {
  6040. ADD_FAILURE() << "invalid JSON for " << operation
  6041. << " failed with " << ex.what()
  6042. << " on\n" << config << "\n";
  6043. return (false);
  6044. }
  6045. // try DHCP4 parser
  6046. try {
  6047. json = parseDHCP4(config, true);
  6048. } catch (...) {
  6049. ADD_FAILURE() << "parsing failed for " << operation
  6050. << " on\n" << prettyPrint(json) << "\n";
  6051. return (false);
  6052. }
  6053. // try DHCP4 configure
  6054. ConstElementPtr status;
  6055. try {
  6056. status = configureDhcp4Server(*srv_, json);
  6057. } catch (const std::exception& ex) {
  6058. ADD_FAILURE() << "configure for " << operation
  6059. << " failed with " << ex.what()
  6060. << " on\n" << prettyPrint(json) << "\n";
  6061. return (false);
  6062. }
  6063. // The status object must not be NULL
  6064. if (!status) {
  6065. ADD_FAILURE() << "configure for " << operation
  6066. << " returned null on\n"
  6067. << prettyPrint(json) << "\n";
  6068. return (false);
  6069. }
  6070. // Returned value should be 0 (configuration success)
  6071. comment_ = parseAnswer(rcode_, status);
  6072. if (rcode_ != 0) {
  6073. string reason = "";
  6074. if (comment_) {
  6075. reason = string(" (") + comment_->stringValue() + string(")");
  6076. }
  6077. ADD_FAILURE() << "configure for " << operation
  6078. << " returned error code "
  6079. << rcode_ << reason << " on\n"
  6080. << prettyPrint(json) << "\n";
  6081. return (false);
  6082. }
  6083. return (true);
  6084. }
  6085. /// @brief Reset configuration database.
  6086. ///
  6087. /// This function resets configuration data base by
  6088. /// removing all subnets and option-data. Reset must
  6089. /// be performed after each test to make sure that
  6090. /// contents of the database do not affect result of
  6091. /// subsequent tests.
  6092. void resetConfiguration() {
  6093. string config = "{"
  6094. "\"interfaces-config\": { \"interfaces\": [ \"*\" ] },"
  6095. "\"valid-lifetime\": 4000, "
  6096. "\"subnet4\": [ ], "
  6097. "\"dhcp-ddns\": { \"enable-updates\" : false }, "
  6098. "\"option-def\": [ ], "
  6099. "\"option-data\": [ ] }";
  6100. EXPECT_TRUE(executeConfiguration(config, "reset configuration"));
  6101. CfgMgr::instance().clear();
  6102. CfgMgr::instance().setFamily(AF_INET);
  6103. }
  6104. boost::scoped_ptr<Dhcpv4Srv> srv_; ///< DHCP4 server under test
  6105. int rcode_; ///< Return code from element parsing
  6106. ConstElementPtr comment_; ///< Reason for parse fail
  6107. };
  6108. /// Test a configuration
  6109. TEST_P(Dhcp4GetConfigTest, run) {
  6110. // configurations have not been extracted yet
  6111. if (max_config_counter == 0) {
  6112. return;
  6113. }
  6114. // get the index of configurations to test
  6115. size_t config_counter = GetParam();
  6116. // emit unparsed header if wanted
  6117. if ((config_counter == 0) && generate_action) {
  6118. std::cerr << "///put this after const char* UNPARSED_CONFIGS[] = {\n";
  6119. }
  6120. // get the extracted configuration
  6121. std::string config = EXTRACTED_CONFIGS[config_counter];
  6122. std::ostringstream ss;
  6123. ss << "extracted config #" << config_counter;
  6124. // execute the extracted configuration
  6125. ASSERT_TRUE(executeConfiguration(config, ss.str().c_str()));
  6126. // unparse it
  6127. ConstSrvConfigPtr extracted = CfgMgr::instance().getStagingCfg();
  6128. ConstElementPtr unparsed;
  6129. ASSERT_NO_THROW(unparsed = extracted->toElement());
  6130. ConstElementPtr dhcp;
  6131. ASSERT_NO_THROW(dhcp = unparsed->get("Dhcp4"));
  6132. ASSERT_TRUE(dhcp);
  6133. // dump if wanted else check
  6134. std::string expected;
  6135. if (generate_action) {
  6136. if (config_counter > 0) {
  6137. std::cerr << ",\n";
  6138. }
  6139. std::cerr << " // CONFIGURATION " << config_counter;
  6140. ASSERT_NO_THROW(expected = prettyPrint(dhcp));
  6141. ASSERT_NO_THROW(outputFormatted(dhcp->str()));
  6142. } else {
  6143. expected = UNPARSED_CONFIGS[config_counter];
  6144. ConstElementPtr json;
  6145. ASSERT_NO_THROW(json = parseDHCP4(expected, true));
  6146. EXPECT_TRUE(isEquivalent(dhcp, json));
  6147. std::string current = prettyPrint(dhcp, 4, 4) + "\n";
  6148. EXPECT_EQ(expected, current);
  6149. if (expected != current) {
  6150. expected = current;
  6151. }
  6152. }
  6153. // execute the dhcp configuration
  6154. ss.str("");
  6155. ss << "unparsed config #" << config_counter;
  6156. EXPECT_TRUE(executeConfiguration(expected, ss.str().c_str()));
  6157. // is it a fixed point?
  6158. ConstSrvConfigPtr extracted2 = CfgMgr::instance().getStagingCfg();
  6159. ConstElementPtr unparsed2;
  6160. ASSERT_NO_THROW(unparsed2 = extracted2->toElement());
  6161. ASSERT_TRUE(unparsed2);
  6162. EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
  6163. }
  6164. #if 0
  6165. // This test is temporarily disabled. The shared subnets structures have been
  6166. // implemented (#5305), but the parsers are not there yet, so grammar will fail
  6167. // when parseDHCP4 is called. That's comping up in #5357.
  6168. /// Define the parameterized test loop
  6169. INSTANTIATE_TEST_CASE_P(Dhcp4GetConfigTest, Dhcp4GetConfigTest,
  6170. ::testing::Range(static_cast<size_t>(0), max_config_counter));
  6171. #endif
  6172. };