get_config_unittest.cc 225 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262
  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 <dhcp4/tests/dhcp4_test_utils.h>
  14. #include <dhcp4/tests/get_config_unittest.h>
  15. #include <dhcp4/dhcp4_srv.h>
  16. #include <dhcp4/json_config_parser.h>
  17. #include <dhcp4/simple_parser4.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. " \"interface\": \"\",\n"
  1636. " \"match-client-id\": true,\n"
  1637. " \"next-server\": \"0.0.0.0\",\n"
  1638. " \"option-data\": [ ],\n"
  1639. " \"pools\": [\n"
  1640. " {\n"
  1641. " \"option-data\": [ ],\n"
  1642. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1643. " }\n"
  1644. " ],\n"
  1645. " \"rebind-timer\": 2000,\n"
  1646. " \"relay\": {\n"
  1647. " \"ip-address\": \"0.0.0.0\"\n"
  1648. " },\n"
  1649. " \"renew-timer\": 900,\n"
  1650. " \"reservation-mode\": \"all\",\n"
  1651. " \"reservations\": [ ],\n"
  1652. " \"subnet\": \"192.0.2.0/24\",\n"
  1653. " \"valid-lifetime\": 4000\n"
  1654. " }\n"
  1655. " ]\n"
  1656. " }\n",
  1657. // CONFIGURATION 2
  1658. "{\n"
  1659. " \"decline-probation-period\": 86400,\n"
  1660. " \"dhcp-ddns\": {\n"
  1661. " \"always-include-fqdn\": false,\n"
  1662. " \"enable-updates\": false,\n"
  1663. " \"generated-prefix\": \"myhost\",\n"
  1664. " \"max-queue-size\": 1024,\n"
  1665. " \"ncr-format\": \"JSON\",\n"
  1666. " \"ncr-protocol\": \"UDP\",\n"
  1667. " \"override-client-update\": false,\n"
  1668. " \"override-no-update\": false,\n"
  1669. " \"qualifying-suffix\": \"\",\n"
  1670. " \"replace-client-name\": \"never\",\n"
  1671. " \"sender-ip\": \"0.0.0.0\",\n"
  1672. " \"sender-port\": 0,\n"
  1673. " \"server-ip\": \"127.0.0.1\",\n"
  1674. " \"server-port\": 53001\n"
  1675. " },\n"
  1676. " \"dhcp4o6-port\": 0,\n"
  1677. " \"echo-client-id\": true,\n"
  1678. " \"expired-leases-processing\": {\n"
  1679. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1680. " \"hold-reclaimed-time\": 3600,\n"
  1681. " \"max-reclaim-leases\": 100,\n"
  1682. " \"max-reclaim-time\": 250,\n"
  1683. " \"reclaim-timer-wait-time\": 10,\n"
  1684. " \"unwarned-reclaim-cycles\": 5\n"
  1685. " },\n"
  1686. " \"hooks-libraries\": [ ],\n"
  1687. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1688. " \"interfaces-config\": {\n"
  1689. " \"interfaces\": [ \"*\" ],\n"
  1690. " \"re-detect\": false\n"
  1691. " },\n"
  1692. " \"lease-database\": {\n"
  1693. " \"type\": \"memfile\"\n"
  1694. " },\n"
  1695. " \"option-data\": [ ],\n"
  1696. " \"option-def\": [ ],\n"
  1697. " \"subnet4\": [\n"
  1698. " {\n"
  1699. " \"4o6-interface\": \"\",\n"
  1700. " \"4o6-interface-id\": \"\",\n"
  1701. " \"4o6-subnet\": \"\",\n"
  1702. " \"id\": 1,\n"
  1703. " \"interface\": \"\",\n"
  1704. " \"match-client-id\": true,\n"
  1705. " \"next-server\": \"0.0.0.0\",\n"
  1706. " \"option-data\": [ ],\n"
  1707. " \"pools\": [\n"
  1708. " {\n"
  1709. " \"option-data\": [ ],\n"
  1710. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1711. " }\n"
  1712. " ],\n"
  1713. " \"rebind-timer\": 1800,\n"
  1714. " \"relay\": {\n"
  1715. " \"ip-address\": \"0.0.0.0\"\n"
  1716. " },\n"
  1717. " \"renew-timer\": 1000,\n"
  1718. " \"reservation-mode\": \"all\",\n"
  1719. " \"reservations\": [ ],\n"
  1720. " \"subnet\": \"192.0.2.0/24\",\n"
  1721. " \"valid-lifetime\": 4000\n"
  1722. " }\n"
  1723. " ]\n"
  1724. " }\n",
  1725. // CONFIGURATION 3
  1726. "{\n"
  1727. " \"decline-probation-period\": 86400,\n"
  1728. " \"dhcp-ddns\": {\n"
  1729. " \"always-include-fqdn\": false,\n"
  1730. " \"enable-updates\": false,\n"
  1731. " \"generated-prefix\": \"myhost\",\n"
  1732. " \"max-queue-size\": 1024,\n"
  1733. " \"ncr-format\": \"JSON\",\n"
  1734. " \"ncr-protocol\": \"UDP\",\n"
  1735. " \"override-client-update\": false,\n"
  1736. " \"override-no-update\": false,\n"
  1737. " \"qualifying-suffix\": \"\",\n"
  1738. " \"replace-client-name\": \"never\",\n"
  1739. " \"sender-ip\": \"0.0.0.0\",\n"
  1740. " \"sender-port\": 0,\n"
  1741. " \"server-ip\": \"127.0.0.1\",\n"
  1742. " \"server-port\": 53001\n"
  1743. " },\n"
  1744. " \"dhcp4o6-port\": 0,\n"
  1745. " \"echo-client-id\": true,\n"
  1746. " \"expired-leases-processing\": {\n"
  1747. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1748. " \"hold-reclaimed-time\": 3600,\n"
  1749. " \"max-reclaim-leases\": 100,\n"
  1750. " \"max-reclaim-time\": 250,\n"
  1751. " \"reclaim-timer-wait-time\": 10,\n"
  1752. " \"unwarned-reclaim-cycles\": 5\n"
  1753. " },\n"
  1754. " \"hooks-libraries\": [ ],\n"
  1755. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1756. " \"interfaces-config\": {\n"
  1757. " \"interfaces\": [ \"*\" ],\n"
  1758. " \"re-detect\": false\n"
  1759. " },\n"
  1760. " \"lease-database\": {\n"
  1761. " \"type\": \"memfile\"\n"
  1762. " },\n"
  1763. " \"option-data\": [ ],\n"
  1764. " \"option-def\": [ ],\n"
  1765. " \"subnet4\": [\n"
  1766. " {\n"
  1767. " \"4o6-interface\": \"\",\n"
  1768. " \"4o6-interface-id\": \"\",\n"
  1769. " \"4o6-subnet\": \"\",\n"
  1770. " \"id\": 1,\n"
  1771. " \"interface\": \"\",\n"
  1772. " \"match-client-id\": true,\n"
  1773. " \"next-server\": \"0.0.0.0\",\n"
  1774. " \"option-data\": [ ],\n"
  1775. " \"pools\": [\n"
  1776. " {\n"
  1777. " \"option-data\": [ ],\n"
  1778. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1779. " }\n"
  1780. " ],\n"
  1781. " \"rebind-timer\": 2000,\n"
  1782. " \"relay\": {\n"
  1783. " \"ip-address\": \"0.0.0.0\"\n"
  1784. " },\n"
  1785. " \"renew-timer\": 1000,\n"
  1786. " \"reservation-mode\": \"all\",\n"
  1787. " \"reservations\": [ ],\n"
  1788. " \"subnet\": \"192.0.2.0/24\",\n"
  1789. " \"valid-lifetime\": 4000\n"
  1790. " }\n"
  1791. " ]\n"
  1792. " }\n",
  1793. // CONFIGURATION 4
  1794. "{\n"
  1795. " \"decline-probation-period\": 86400,\n"
  1796. " \"dhcp-ddns\": {\n"
  1797. " \"always-include-fqdn\": false,\n"
  1798. " \"enable-updates\": false,\n"
  1799. " \"generated-prefix\": \"myhost\",\n"
  1800. " \"max-queue-size\": 1024,\n"
  1801. " \"ncr-format\": \"JSON\",\n"
  1802. " \"ncr-protocol\": \"UDP\",\n"
  1803. " \"override-client-update\": false,\n"
  1804. " \"override-no-update\": false,\n"
  1805. " \"qualifying-suffix\": \"\",\n"
  1806. " \"replace-client-name\": \"never\",\n"
  1807. " \"sender-ip\": \"0.0.0.0\",\n"
  1808. " \"sender-port\": 0,\n"
  1809. " \"server-ip\": \"127.0.0.1\",\n"
  1810. " \"server-port\": 53001\n"
  1811. " },\n"
  1812. " \"dhcp4o6-port\": 0,\n"
  1813. " \"echo-client-id\": true,\n"
  1814. " \"expired-leases-processing\": {\n"
  1815. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1816. " \"hold-reclaimed-time\": 3600,\n"
  1817. " \"max-reclaim-leases\": 100,\n"
  1818. " \"max-reclaim-time\": 250,\n"
  1819. " \"reclaim-timer-wait-time\": 10,\n"
  1820. " \"unwarned-reclaim-cycles\": 5\n"
  1821. " },\n"
  1822. " \"hooks-libraries\": [ ],\n"
  1823. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1824. " \"interfaces-config\": {\n"
  1825. " \"interfaces\": [ \"*\" ],\n"
  1826. " \"re-detect\": false\n"
  1827. " },\n"
  1828. " \"lease-database\": {\n"
  1829. " \"type\": \"memfile\"\n"
  1830. " },\n"
  1831. " \"option-data\": [ ],\n"
  1832. " \"option-def\": [ ],\n"
  1833. " \"subnet4\": [\n"
  1834. " {\n"
  1835. " \"4o6-interface\": \"\",\n"
  1836. " \"4o6-interface-id\": \"\",\n"
  1837. " \"4o6-subnet\": \"\",\n"
  1838. " \"id\": 1,\n"
  1839. " \"interface\": \"\",\n"
  1840. " \"match-client-id\": true,\n"
  1841. " \"next-server\": \"0.0.0.0\",\n"
  1842. " \"option-data\": [ ],\n"
  1843. " \"pools\": [\n"
  1844. " {\n"
  1845. " \"option-data\": [ ],\n"
  1846. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1847. " }\n"
  1848. " ],\n"
  1849. " \"rebind-timer\": 2000,\n"
  1850. " \"relay\": {\n"
  1851. " \"ip-address\": \"0.0.0.0\"\n"
  1852. " },\n"
  1853. " \"renew-timer\": 1000,\n"
  1854. " \"reservation-mode\": \"all\",\n"
  1855. " \"reservations\": [ ],\n"
  1856. " \"subnet\": \"192.0.2.0/24\",\n"
  1857. " \"valid-lifetime\": 4000\n"
  1858. " },\n"
  1859. " {\n"
  1860. " \"4o6-interface\": \"\",\n"
  1861. " \"4o6-interface-id\": \"\",\n"
  1862. " \"4o6-subnet\": \"\",\n"
  1863. " \"id\": 2,\n"
  1864. " \"interface\": \"\",\n"
  1865. " \"match-client-id\": true,\n"
  1866. " \"next-server\": \"0.0.0.0\",\n"
  1867. " \"option-data\": [ ],\n"
  1868. " \"pools\": [\n"
  1869. " {\n"
  1870. " \"option-data\": [ ],\n"
  1871. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  1872. " }\n"
  1873. " ],\n"
  1874. " \"rebind-timer\": 2000,\n"
  1875. " \"relay\": {\n"
  1876. " \"ip-address\": \"0.0.0.0\"\n"
  1877. " },\n"
  1878. " \"renew-timer\": 1000,\n"
  1879. " \"reservation-mode\": \"all\",\n"
  1880. " \"reservations\": [ ],\n"
  1881. " \"subnet\": \"192.0.3.0/24\",\n"
  1882. " \"valid-lifetime\": 4000\n"
  1883. " },\n"
  1884. " {\n"
  1885. " \"4o6-interface\": \"\",\n"
  1886. " \"4o6-interface-id\": \"\",\n"
  1887. " \"4o6-subnet\": \"\",\n"
  1888. " \"id\": 3,\n"
  1889. " \"interface\": \"\",\n"
  1890. " \"match-client-id\": true,\n"
  1891. " \"next-server\": \"0.0.0.0\",\n"
  1892. " \"option-data\": [ ],\n"
  1893. " \"pools\": [\n"
  1894. " {\n"
  1895. " \"option-data\": [ ],\n"
  1896. " \"pool\": \"192.0.4.101-192.0.4.150\"\n"
  1897. " }\n"
  1898. " ],\n"
  1899. " \"rebind-timer\": 2000,\n"
  1900. " \"relay\": {\n"
  1901. " \"ip-address\": \"0.0.0.0\"\n"
  1902. " },\n"
  1903. " \"renew-timer\": 1000,\n"
  1904. " \"reservation-mode\": \"all\",\n"
  1905. " \"reservations\": [ ],\n"
  1906. " \"subnet\": \"192.0.4.0/24\",\n"
  1907. " \"valid-lifetime\": 4000\n"
  1908. " },\n"
  1909. " {\n"
  1910. " \"4o6-interface\": \"\",\n"
  1911. " \"4o6-interface-id\": \"\",\n"
  1912. " \"4o6-subnet\": \"\",\n"
  1913. " \"id\": 4,\n"
  1914. " \"interface\": \"\",\n"
  1915. " \"match-client-id\": true,\n"
  1916. " \"next-server\": \"0.0.0.0\",\n"
  1917. " \"option-data\": [ ],\n"
  1918. " \"pools\": [\n"
  1919. " {\n"
  1920. " \"option-data\": [ ],\n"
  1921. " \"pool\": \"192.0.5.101-192.0.5.150\"\n"
  1922. " }\n"
  1923. " ],\n"
  1924. " \"rebind-timer\": 2000,\n"
  1925. " \"relay\": {\n"
  1926. " \"ip-address\": \"0.0.0.0\"\n"
  1927. " },\n"
  1928. " \"renew-timer\": 1000,\n"
  1929. " \"reservation-mode\": \"all\",\n"
  1930. " \"reservations\": [ ],\n"
  1931. " \"subnet\": \"192.0.5.0/24\",\n"
  1932. " \"valid-lifetime\": 4000\n"
  1933. " }\n"
  1934. " ]\n"
  1935. " }\n",
  1936. // CONFIGURATION 5
  1937. "{\n"
  1938. " \"decline-probation-period\": 86400,\n"
  1939. " \"dhcp-ddns\": {\n"
  1940. " \"always-include-fqdn\": false,\n"
  1941. " \"enable-updates\": false,\n"
  1942. " \"generated-prefix\": \"myhost\",\n"
  1943. " \"max-queue-size\": 1024,\n"
  1944. " \"ncr-format\": \"JSON\",\n"
  1945. " \"ncr-protocol\": \"UDP\",\n"
  1946. " \"override-client-update\": false,\n"
  1947. " \"override-no-update\": false,\n"
  1948. " \"qualifying-suffix\": \"\",\n"
  1949. " \"replace-client-name\": \"never\",\n"
  1950. " \"sender-ip\": \"0.0.0.0\",\n"
  1951. " \"sender-port\": 0,\n"
  1952. " \"server-ip\": \"127.0.0.1\",\n"
  1953. " \"server-port\": 53001\n"
  1954. " },\n"
  1955. " \"dhcp4o6-port\": 0,\n"
  1956. " \"echo-client-id\": true,\n"
  1957. " \"expired-leases-processing\": {\n"
  1958. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  1959. " \"hold-reclaimed-time\": 3600,\n"
  1960. " \"max-reclaim-leases\": 100,\n"
  1961. " \"max-reclaim-time\": 250,\n"
  1962. " \"reclaim-timer-wait-time\": 10,\n"
  1963. " \"unwarned-reclaim-cycles\": 5\n"
  1964. " },\n"
  1965. " \"hooks-libraries\": [ ],\n"
  1966. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  1967. " \"interfaces-config\": {\n"
  1968. " \"interfaces\": [ \"*\" ],\n"
  1969. " \"re-detect\": false\n"
  1970. " },\n"
  1971. " \"lease-database\": {\n"
  1972. " \"type\": \"memfile\"\n"
  1973. " },\n"
  1974. " \"option-data\": [ ],\n"
  1975. " \"option-def\": [ ],\n"
  1976. " \"subnet4\": [\n"
  1977. " {\n"
  1978. " \"4o6-interface\": \"\",\n"
  1979. " \"4o6-interface-id\": \"\",\n"
  1980. " \"4o6-subnet\": \"\",\n"
  1981. " \"id\": 1024,\n"
  1982. " \"interface\": \"\",\n"
  1983. " \"match-client-id\": true,\n"
  1984. " \"next-server\": \"0.0.0.0\",\n"
  1985. " \"option-data\": [ ],\n"
  1986. " \"pools\": [\n"
  1987. " {\n"
  1988. " \"option-data\": [ ],\n"
  1989. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  1990. " }\n"
  1991. " ],\n"
  1992. " \"rebind-timer\": 2000,\n"
  1993. " \"relay\": {\n"
  1994. " \"ip-address\": \"0.0.0.0\"\n"
  1995. " },\n"
  1996. " \"renew-timer\": 1000,\n"
  1997. " \"reservation-mode\": \"all\",\n"
  1998. " \"reservations\": [ ],\n"
  1999. " \"subnet\": \"192.0.2.0/24\",\n"
  2000. " \"valid-lifetime\": 4000\n"
  2001. " },\n"
  2002. " {\n"
  2003. " \"4o6-interface\": \"\",\n"
  2004. " \"4o6-interface-id\": \"\",\n"
  2005. " \"4o6-subnet\": \"\",\n"
  2006. " \"id\": 100,\n"
  2007. " \"interface\": \"\",\n"
  2008. " \"match-client-id\": true,\n"
  2009. " \"next-server\": \"0.0.0.0\",\n"
  2010. " \"option-data\": [ ],\n"
  2011. " \"pools\": [\n"
  2012. " {\n"
  2013. " \"option-data\": [ ],\n"
  2014. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  2015. " }\n"
  2016. " ],\n"
  2017. " \"rebind-timer\": 2000,\n"
  2018. " \"relay\": {\n"
  2019. " \"ip-address\": \"0.0.0.0\"\n"
  2020. " },\n"
  2021. " \"renew-timer\": 1000,\n"
  2022. " \"reservation-mode\": \"all\",\n"
  2023. " \"reservations\": [ ],\n"
  2024. " \"subnet\": \"192.0.3.0/24\",\n"
  2025. " \"valid-lifetime\": 4000\n"
  2026. " },\n"
  2027. " {\n"
  2028. " \"4o6-interface\": \"\",\n"
  2029. " \"4o6-interface-id\": \"\",\n"
  2030. " \"4o6-subnet\": \"\",\n"
  2031. " \"id\": 1,\n"
  2032. " \"interface\": \"\",\n"
  2033. " \"match-client-id\": true,\n"
  2034. " \"next-server\": \"0.0.0.0\",\n"
  2035. " \"option-data\": [ ],\n"
  2036. " \"pools\": [\n"
  2037. " {\n"
  2038. " \"option-data\": [ ],\n"
  2039. " \"pool\": \"192.0.4.101-192.0.4.150\"\n"
  2040. " }\n"
  2041. " ],\n"
  2042. " \"rebind-timer\": 2000,\n"
  2043. " \"relay\": {\n"
  2044. " \"ip-address\": \"0.0.0.0\"\n"
  2045. " },\n"
  2046. " \"renew-timer\": 1000,\n"
  2047. " \"reservation-mode\": \"all\",\n"
  2048. " \"reservations\": [ ],\n"
  2049. " \"subnet\": \"192.0.4.0/24\",\n"
  2050. " \"valid-lifetime\": 4000\n"
  2051. " },\n"
  2052. " {\n"
  2053. " \"4o6-interface\": \"\",\n"
  2054. " \"4o6-interface-id\": \"\",\n"
  2055. " \"4o6-subnet\": \"\",\n"
  2056. " \"id\": 34,\n"
  2057. " \"interface\": \"\",\n"
  2058. " \"match-client-id\": true,\n"
  2059. " \"next-server\": \"0.0.0.0\",\n"
  2060. " \"option-data\": [ ],\n"
  2061. " \"pools\": [\n"
  2062. " {\n"
  2063. " \"option-data\": [ ],\n"
  2064. " \"pool\": \"192.0.5.101-192.0.5.150\"\n"
  2065. " }\n"
  2066. " ],\n"
  2067. " \"rebind-timer\": 2000,\n"
  2068. " \"relay\": {\n"
  2069. " \"ip-address\": \"0.0.0.0\"\n"
  2070. " },\n"
  2071. " \"renew-timer\": 1000,\n"
  2072. " \"reservation-mode\": \"all\",\n"
  2073. " \"reservations\": [ ],\n"
  2074. " \"subnet\": \"192.0.5.0/24\",\n"
  2075. " \"valid-lifetime\": 4000\n"
  2076. " }\n"
  2077. " ]\n"
  2078. " }\n",
  2079. // CONFIGURATION 6
  2080. "{\n"
  2081. " \"decline-probation-period\": 86400,\n"
  2082. " \"dhcp-ddns\": {\n"
  2083. " \"always-include-fqdn\": false,\n"
  2084. " \"enable-updates\": false,\n"
  2085. " \"generated-prefix\": \"myhost\",\n"
  2086. " \"max-queue-size\": 1024,\n"
  2087. " \"ncr-format\": \"JSON\",\n"
  2088. " \"ncr-protocol\": \"UDP\",\n"
  2089. " \"override-client-update\": false,\n"
  2090. " \"override-no-update\": false,\n"
  2091. " \"qualifying-suffix\": \"\",\n"
  2092. " \"replace-client-name\": \"never\",\n"
  2093. " \"sender-ip\": \"0.0.0.0\",\n"
  2094. " \"sender-port\": 0,\n"
  2095. " \"server-ip\": \"127.0.0.1\",\n"
  2096. " \"server-port\": 53001\n"
  2097. " },\n"
  2098. " \"dhcp4o6-port\": 0,\n"
  2099. " \"echo-client-id\": true,\n"
  2100. " \"expired-leases-processing\": {\n"
  2101. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2102. " \"hold-reclaimed-time\": 3600,\n"
  2103. " \"max-reclaim-leases\": 100,\n"
  2104. " \"max-reclaim-time\": 250,\n"
  2105. " \"reclaim-timer-wait-time\": 10,\n"
  2106. " \"unwarned-reclaim-cycles\": 5\n"
  2107. " },\n"
  2108. " \"hooks-libraries\": [ ],\n"
  2109. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2110. " \"interfaces-config\": {\n"
  2111. " \"interfaces\": [ \"*\" ],\n"
  2112. " \"re-detect\": false\n"
  2113. " },\n"
  2114. " \"lease-database\": {\n"
  2115. " \"type\": \"memfile\"\n"
  2116. " },\n"
  2117. " \"option-data\": [ ],\n"
  2118. " \"option-def\": [ ],\n"
  2119. " \"subnet4\": [\n"
  2120. " {\n"
  2121. " \"4o6-interface\": \"\",\n"
  2122. " \"4o6-interface-id\": \"\",\n"
  2123. " \"4o6-subnet\": \"\",\n"
  2124. " \"id\": 1,\n"
  2125. " \"interface\": \"\",\n"
  2126. " \"match-client-id\": true,\n"
  2127. " \"next-server\": \"1.2.3.4\",\n"
  2128. " \"option-data\": [ ],\n"
  2129. " \"pools\": [\n"
  2130. " {\n"
  2131. " \"option-data\": [ ],\n"
  2132. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2133. " }\n"
  2134. " ],\n"
  2135. " \"rebind-timer\": 2000,\n"
  2136. " \"relay\": {\n"
  2137. " \"ip-address\": \"0.0.0.0\"\n"
  2138. " },\n"
  2139. " \"renew-timer\": 1000,\n"
  2140. " \"reservation-mode\": \"all\",\n"
  2141. " \"reservations\": [ ],\n"
  2142. " \"subnet\": \"192.0.2.0/24\",\n"
  2143. " \"valid-lifetime\": 4000\n"
  2144. " }\n"
  2145. " ]\n"
  2146. " }\n",
  2147. // CONFIGURATION 7
  2148. "{\n"
  2149. " \"decline-probation-period\": 86400,\n"
  2150. " \"dhcp-ddns\": {\n"
  2151. " \"always-include-fqdn\": false,\n"
  2152. " \"enable-updates\": false,\n"
  2153. " \"generated-prefix\": \"myhost\",\n"
  2154. " \"max-queue-size\": 1024,\n"
  2155. " \"ncr-format\": \"JSON\",\n"
  2156. " \"ncr-protocol\": \"UDP\",\n"
  2157. " \"override-client-update\": false,\n"
  2158. " \"override-no-update\": false,\n"
  2159. " \"qualifying-suffix\": \"\",\n"
  2160. " \"replace-client-name\": \"never\",\n"
  2161. " \"sender-ip\": \"0.0.0.0\",\n"
  2162. " \"sender-port\": 0,\n"
  2163. " \"server-ip\": \"127.0.0.1\",\n"
  2164. " \"server-port\": 53001\n"
  2165. " },\n"
  2166. " \"dhcp4o6-port\": 0,\n"
  2167. " \"echo-client-id\": true,\n"
  2168. " \"expired-leases-processing\": {\n"
  2169. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2170. " \"hold-reclaimed-time\": 3600,\n"
  2171. " \"max-reclaim-leases\": 100,\n"
  2172. " \"max-reclaim-time\": 250,\n"
  2173. " \"reclaim-timer-wait-time\": 10,\n"
  2174. " \"unwarned-reclaim-cycles\": 5\n"
  2175. " },\n"
  2176. " \"hooks-libraries\": [ ],\n"
  2177. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2178. " \"interfaces-config\": {\n"
  2179. " \"interfaces\": [ \"*\" ],\n"
  2180. " \"re-detect\": false\n"
  2181. " },\n"
  2182. " \"lease-database\": {\n"
  2183. " \"type\": \"memfile\"\n"
  2184. " },\n"
  2185. " \"option-data\": [ ],\n"
  2186. " \"option-def\": [ ],\n"
  2187. " \"subnet4\": [\n"
  2188. " {\n"
  2189. " \"4o6-interface\": \"\",\n"
  2190. " \"4o6-interface-id\": \"\",\n"
  2191. " \"4o6-subnet\": \"\",\n"
  2192. " \"id\": 1,\n"
  2193. " \"interface\": \"\",\n"
  2194. " \"match-client-id\": true,\n"
  2195. " \"next-server\": \"1.2.3.4\",\n"
  2196. " \"option-data\": [ ],\n"
  2197. " \"pools\": [\n"
  2198. " {\n"
  2199. " \"option-data\": [ ],\n"
  2200. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2201. " }\n"
  2202. " ],\n"
  2203. " \"rebind-timer\": 2000,\n"
  2204. " \"relay\": {\n"
  2205. " \"ip-address\": \"0.0.0.0\"\n"
  2206. " },\n"
  2207. " \"renew-timer\": 1000,\n"
  2208. " \"reservation-mode\": \"all\",\n"
  2209. " \"reservations\": [ ],\n"
  2210. " \"subnet\": \"192.0.2.0/24\",\n"
  2211. " \"valid-lifetime\": 4000\n"
  2212. " }\n"
  2213. " ]\n"
  2214. " }\n",
  2215. // CONFIGURATION 8
  2216. "{\n"
  2217. " \"decline-probation-period\": 86400,\n"
  2218. " \"dhcp-ddns\": {\n"
  2219. " \"always-include-fqdn\": false,\n"
  2220. " \"enable-updates\": false,\n"
  2221. " \"generated-prefix\": \"myhost\",\n"
  2222. " \"max-queue-size\": 1024,\n"
  2223. " \"ncr-format\": \"JSON\",\n"
  2224. " \"ncr-protocol\": \"UDP\",\n"
  2225. " \"override-client-update\": false,\n"
  2226. " \"override-no-update\": false,\n"
  2227. " \"qualifying-suffix\": \"\",\n"
  2228. " \"replace-client-name\": \"never\",\n"
  2229. " \"sender-ip\": \"0.0.0.0\",\n"
  2230. " \"sender-port\": 0,\n"
  2231. " \"server-ip\": \"127.0.0.1\",\n"
  2232. " \"server-port\": 53001\n"
  2233. " },\n"
  2234. " \"dhcp4o6-port\": 0,\n"
  2235. " \"echo-client-id\": true,\n"
  2236. " \"expired-leases-processing\": {\n"
  2237. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2238. " \"hold-reclaimed-time\": 3600,\n"
  2239. " \"max-reclaim-leases\": 100,\n"
  2240. " \"max-reclaim-time\": 250,\n"
  2241. " \"reclaim-timer-wait-time\": 10,\n"
  2242. " \"unwarned-reclaim-cycles\": 5\n"
  2243. " },\n"
  2244. " \"hooks-libraries\": [ ],\n"
  2245. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2246. " \"interfaces-config\": {\n"
  2247. " \"interfaces\": [ \"*\" ],\n"
  2248. " \"re-detect\": false\n"
  2249. " },\n"
  2250. " \"lease-database\": {\n"
  2251. " \"type\": \"memfile\"\n"
  2252. " },\n"
  2253. " \"option-data\": [ ],\n"
  2254. " \"option-def\": [ ],\n"
  2255. " \"subnet4\": [\n"
  2256. " {\n"
  2257. " \"4o6-interface\": \"\",\n"
  2258. " \"4o6-interface-id\": \"\",\n"
  2259. " \"4o6-subnet\": \"\",\n"
  2260. " \"id\": 1,\n"
  2261. " \"interface\": \"\",\n"
  2262. " \"match-client-id\": true,\n"
  2263. " \"next-server\": \"1.2.3.4\",\n"
  2264. " \"option-data\": [ ],\n"
  2265. " \"pools\": [\n"
  2266. " {\n"
  2267. " \"option-data\": [ ],\n"
  2268. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2269. " }\n"
  2270. " ],\n"
  2271. " \"rebind-timer\": 2000,\n"
  2272. " \"relay\": {\n"
  2273. " \"ip-address\": \"0.0.0.0\"\n"
  2274. " },\n"
  2275. " \"renew-timer\": 1000,\n"
  2276. " \"reservation-mode\": \"all\",\n"
  2277. " \"reservations\": [ ],\n"
  2278. " \"subnet\": \"192.0.2.0/24\",\n"
  2279. " \"valid-lifetime\": 4000\n"
  2280. " }\n"
  2281. " ]\n"
  2282. " }\n",
  2283. // CONFIGURATION 9
  2284. "{\n"
  2285. " \"decline-probation-period\": 86400,\n"
  2286. " \"dhcp-ddns\": {\n"
  2287. " \"always-include-fqdn\": false,\n"
  2288. " \"enable-updates\": false,\n"
  2289. " \"generated-prefix\": \"myhost\",\n"
  2290. " \"max-queue-size\": 1024,\n"
  2291. " \"ncr-format\": \"JSON\",\n"
  2292. " \"ncr-protocol\": \"UDP\",\n"
  2293. " \"override-client-update\": false,\n"
  2294. " \"override-no-update\": false,\n"
  2295. " \"qualifying-suffix\": \"\",\n"
  2296. " \"replace-client-name\": \"never\",\n"
  2297. " \"sender-ip\": \"0.0.0.0\",\n"
  2298. " \"sender-port\": 0,\n"
  2299. " \"server-ip\": \"127.0.0.1\",\n"
  2300. " \"server-port\": 53001\n"
  2301. " },\n"
  2302. " \"dhcp4o6-port\": 0,\n"
  2303. " \"echo-client-id\": false,\n"
  2304. " \"expired-leases-processing\": {\n"
  2305. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2306. " \"hold-reclaimed-time\": 3600,\n"
  2307. " \"max-reclaim-leases\": 100,\n"
  2308. " \"max-reclaim-time\": 250,\n"
  2309. " \"reclaim-timer-wait-time\": 10,\n"
  2310. " \"unwarned-reclaim-cycles\": 5\n"
  2311. " },\n"
  2312. " \"hooks-libraries\": [ ],\n"
  2313. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2314. " \"interfaces-config\": {\n"
  2315. " \"interfaces\": [ \"*\" ],\n"
  2316. " \"re-detect\": false\n"
  2317. " },\n"
  2318. " \"lease-database\": {\n"
  2319. " \"type\": \"memfile\"\n"
  2320. " },\n"
  2321. " \"option-data\": [ ],\n"
  2322. " \"option-def\": [ ],\n"
  2323. " \"subnet4\": [\n"
  2324. " {\n"
  2325. " \"4o6-interface\": \"\",\n"
  2326. " \"4o6-interface-id\": \"\",\n"
  2327. " \"4o6-subnet\": \"\",\n"
  2328. " \"id\": 1,\n"
  2329. " \"interface\": \"\",\n"
  2330. " \"match-client-id\": true,\n"
  2331. " \"next-server\": \"0.0.0.0\",\n"
  2332. " \"option-data\": [ ],\n"
  2333. " \"pools\": [\n"
  2334. " {\n"
  2335. " \"option-data\": [ ],\n"
  2336. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2337. " }\n"
  2338. " ],\n"
  2339. " \"rebind-timer\": 2000,\n"
  2340. " \"relay\": {\n"
  2341. " \"ip-address\": \"0.0.0.0\"\n"
  2342. " },\n"
  2343. " \"renew-timer\": 1000,\n"
  2344. " \"reservation-mode\": \"all\",\n"
  2345. " \"reservations\": [ ],\n"
  2346. " \"subnet\": \"192.0.2.0/24\",\n"
  2347. " \"valid-lifetime\": 4000\n"
  2348. " }\n"
  2349. " ]\n"
  2350. " }\n",
  2351. // CONFIGURATION 10
  2352. "{\n"
  2353. " \"decline-probation-period\": 86400,\n"
  2354. " \"dhcp-ddns\": {\n"
  2355. " \"always-include-fqdn\": false,\n"
  2356. " \"enable-updates\": false,\n"
  2357. " \"generated-prefix\": \"myhost\",\n"
  2358. " \"max-queue-size\": 1024,\n"
  2359. " \"ncr-format\": \"JSON\",\n"
  2360. " \"ncr-protocol\": \"UDP\",\n"
  2361. " \"override-client-update\": false,\n"
  2362. " \"override-no-update\": false,\n"
  2363. " \"qualifying-suffix\": \"\",\n"
  2364. " \"replace-client-name\": \"never\",\n"
  2365. " \"sender-ip\": \"0.0.0.0\",\n"
  2366. " \"sender-port\": 0,\n"
  2367. " \"server-ip\": \"127.0.0.1\",\n"
  2368. " \"server-port\": 53001\n"
  2369. " },\n"
  2370. " \"dhcp4o6-port\": 0,\n"
  2371. " \"echo-client-id\": true,\n"
  2372. " \"expired-leases-processing\": {\n"
  2373. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2374. " \"hold-reclaimed-time\": 3600,\n"
  2375. " \"max-reclaim-leases\": 100,\n"
  2376. " \"max-reclaim-time\": 250,\n"
  2377. " \"reclaim-timer-wait-time\": 10,\n"
  2378. " \"unwarned-reclaim-cycles\": 5\n"
  2379. " },\n"
  2380. " \"hooks-libraries\": [ ],\n"
  2381. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2382. " \"interfaces-config\": {\n"
  2383. " \"interfaces\": [ \"*\" ],\n"
  2384. " \"re-detect\": false\n"
  2385. " },\n"
  2386. " \"lease-database\": {\n"
  2387. " \"type\": \"memfile\"\n"
  2388. " },\n"
  2389. " \"option-data\": [ ],\n"
  2390. " \"option-def\": [ ],\n"
  2391. " \"subnet4\": [\n"
  2392. " {\n"
  2393. " \"4o6-interface\": \"\",\n"
  2394. " \"4o6-interface-id\": \"\",\n"
  2395. " \"4o6-subnet\": \"\",\n"
  2396. " \"id\": 1,\n"
  2397. " \"interface\": \"\",\n"
  2398. " \"match-client-id\": true,\n"
  2399. " \"next-server\": \"0.0.0.0\",\n"
  2400. " \"option-data\": [ ],\n"
  2401. " \"pools\": [\n"
  2402. " {\n"
  2403. " \"option-data\": [ ],\n"
  2404. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2405. " }\n"
  2406. " ],\n"
  2407. " \"rebind-timer\": 2000,\n"
  2408. " \"relay\": {\n"
  2409. " \"ip-address\": \"0.0.0.0\"\n"
  2410. " },\n"
  2411. " \"renew-timer\": 1000,\n"
  2412. " \"reservation-mode\": \"all\",\n"
  2413. " \"reservations\": [ ],\n"
  2414. " \"subnet\": \"192.0.2.0/24\",\n"
  2415. " \"valid-lifetime\": 4000\n"
  2416. " }\n"
  2417. " ]\n"
  2418. " }\n",
  2419. // CONFIGURATION 11
  2420. "{\n"
  2421. " \"decline-probation-period\": 86400,\n"
  2422. " \"dhcp-ddns\": {\n"
  2423. " \"always-include-fqdn\": false,\n"
  2424. " \"enable-updates\": false,\n"
  2425. " \"generated-prefix\": \"myhost\",\n"
  2426. " \"max-queue-size\": 1024,\n"
  2427. " \"ncr-format\": \"JSON\",\n"
  2428. " \"ncr-protocol\": \"UDP\",\n"
  2429. " \"override-client-update\": false,\n"
  2430. " \"override-no-update\": false,\n"
  2431. " \"qualifying-suffix\": \"\",\n"
  2432. " \"replace-client-name\": \"never\",\n"
  2433. " \"sender-ip\": \"0.0.0.0\",\n"
  2434. " \"sender-port\": 0,\n"
  2435. " \"server-ip\": \"127.0.0.1\",\n"
  2436. " \"server-port\": 53001\n"
  2437. " },\n"
  2438. " \"dhcp4o6-port\": 0,\n"
  2439. " \"echo-client-id\": true,\n"
  2440. " \"expired-leases-processing\": {\n"
  2441. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2442. " \"hold-reclaimed-time\": 3600,\n"
  2443. " \"max-reclaim-leases\": 100,\n"
  2444. " \"max-reclaim-time\": 250,\n"
  2445. " \"reclaim-timer-wait-time\": 10,\n"
  2446. " \"unwarned-reclaim-cycles\": 5\n"
  2447. " },\n"
  2448. " \"hooks-libraries\": [ ],\n"
  2449. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2450. " \"interfaces-config\": {\n"
  2451. " \"interfaces\": [ \"*\" ],\n"
  2452. " \"re-detect\": false\n"
  2453. " },\n"
  2454. " \"lease-database\": {\n"
  2455. " \"type\": \"memfile\"\n"
  2456. " },\n"
  2457. " \"option-data\": [ ],\n"
  2458. " \"option-def\": [ ],\n"
  2459. " \"subnet4\": [\n"
  2460. " {\n"
  2461. " \"4o6-interface\": \"\",\n"
  2462. " \"4o6-interface-id\": \"\",\n"
  2463. " \"4o6-subnet\": \"\",\n"
  2464. " \"id\": 1,\n"
  2465. " \"interface\": \"\",\n"
  2466. " \"match-client-id\": true,\n"
  2467. " \"next-server\": \"0.0.0.0\",\n"
  2468. " \"option-data\": [ ],\n"
  2469. " \"pools\": [\n"
  2470. " {\n"
  2471. " \"option-data\": [ ],\n"
  2472. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2473. " }\n"
  2474. " ],\n"
  2475. " \"rebind-timer\": 2000,\n"
  2476. " \"relay\": {\n"
  2477. " \"ip-address\": \"0.0.0.0\"\n"
  2478. " },\n"
  2479. " \"renew-timer\": 1000,\n"
  2480. " \"reservation-mode\": \"all\",\n"
  2481. " \"reservations\": [ ],\n"
  2482. " \"subnet\": \"192.0.2.0/24\",\n"
  2483. " \"valid-lifetime\": 4000\n"
  2484. " },\n"
  2485. " {\n"
  2486. " \"4o6-interface\": \"\",\n"
  2487. " \"4o6-interface-id\": \"\",\n"
  2488. " \"4o6-subnet\": \"\",\n"
  2489. " \"id\": 2,\n"
  2490. " \"interface\": \"\",\n"
  2491. " \"match-client-id\": false,\n"
  2492. " \"next-server\": \"0.0.0.0\",\n"
  2493. " \"option-data\": [ ],\n"
  2494. " \"pools\": [\n"
  2495. " {\n"
  2496. " \"option-data\": [ ],\n"
  2497. " \"pool\": \"192.0.3.1-192.0.3.100\"\n"
  2498. " }\n"
  2499. " ],\n"
  2500. " \"rebind-timer\": 2000,\n"
  2501. " \"relay\": {\n"
  2502. " \"ip-address\": \"0.0.0.0\"\n"
  2503. " },\n"
  2504. " \"renew-timer\": 1000,\n"
  2505. " \"reservation-mode\": \"all\",\n"
  2506. " \"reservations\": [ ],\n"
  2507. " \"subnet\": \"192.0.3.0/24\",\n"
  2508. " \"valid-lifetime\": 4000\n"
  2509. " }\n"
  2510. " ]\n"
  2511. " }\n",
  2512. // CONFIGURATION 12
  2513. "{\n"
  2514. " \"decline-probation-period\": 86400,\n"
  2515. " \"dhcp-ddns\": {\n"
  2516. " \"always-include-fqdn\": false,\n"
  2517. " \"enable-updates\": false,\n"
  2518. " \"generated-prefix\": \"myhost\",\n"
  2519. " \"max-queue-size\": 1024,\n"
  2520. " \"ncr-format\": \"JSON\",\n"
  2521. " \"ncr-protocol\": \"UDP\",\n"
  2522. " \"override-client-update\": false,\n"
  2523. " \"override-no-update\": false,\n"
  2524. " \"qualifying-suffix\": \"\",\n"
  2525. " \"replace-client-name\": \"never\",\n"
  2526. " \"sender-ip\": \"0.0.0.0\",\n"
  2527. " \"sender-port\": 0,\n"
  2528. " \"server-ip\": \"127.0.0.1\",\n"
  2529. " \"server-port\": 53001\n"
  2530. " },\n"
  2531. " \"dhcp4o6-port\": 0,\n"
  2532. " \"echo-client-id\": true,\n"
  2533. " \"expired-leases-processing\": {\n"
  2534. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2535. " \"hold-reclaimed-time\": 3600,\n"
  2536. " \"max-reclaim-leases\": 100,\n"
  2537. " \"max-reclaim-time\": 250,\n"
  2538. " \"reclaim-timer-wait-time\": 10,\n"
  2539. " \"unwarned-reclaim-cycles\": 5\n"
  2540. " },\n"
  2541. " \"hooks-libraries\": [ ],\n"
  2542. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2543. " \"interfaces-config\": {\n"
  2544. " \"interfaces\": [ \"*\" ],\n"
  2545. " \"re-detect\": false\n"
  2546. " },\n"
  2547. " \"lease-database\": {\n"
  2548. " \"type\": \"memfile\"\n"
  2549. " },\n"
  2550. " \"option-data\": [ ],\n"
  2551. " \"option-def\": [ ],\n"
  2552. " \"subnet4\": [\n"
  2553. " {\n"
  2554. " \"4o6-interface\": \"\",\n"
  2555. " \"4o6-interface-id\": \"\",\n"
  2556. " \"4o6-subnet\": \"\",\n"
  2557. " \"id\": 1,\n"
  2558. " \"interface\": \"\",\n"
  2559. " \"match-client-id\": false,\n"
  2560. " \"next-server\": \"0.0.0.0\",\n"
  2561. " \"option-data\": [ ],\n"
  2562. " \"pools\": [\n"
  2563. " {\n"
  2564. " \"option-data\": [ ],\n"
  2565. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2566. " }\n"
  2567. " ],\n"
  2568. " \"rebind-timer\": 2000,\n"
  2569. " \"relay\": {\n"
  2570. " \"ip-address\": \"0.0.0.0\"\n"
  2571. " },\n"
  2572. " \"renew-timer\": 1000,\n"
  2573. " \"reservation-mode\": \"all\",\n"
  2574. " \"reservations\": [ ],\n"
  2575. " \"subnet\": \"192.0.2.0/24\",\n"
  2576. " \"valid-lifetime\": 4000\n"
  2577. " },\n"
  2578. " {\n"
  2579. " \"4o6-interface\": \"\",\n"
  2580. " \"4o6-interface-id\": \"\",\n"
  2581. " \"4o6-subnet\": \"\",\n"
  2582. " \"id\": 2,\n"
  2583. " \"interface\": \"\",\n"
  2584. " \"match-client-id\": true,\n"
  2585. " \"next-server\": \"0.0.0.0\",\n"
  2586. " \"option-data\": [ ],\n"
  2587. " \"pools\": [\n"
  2588. " {\n"
  2589. " \"option-data\": [ ],\n"
  2590. " \"pool\": \"192.0.3.1-192.0.3.100\"\n"
  2591. " }\n"
  2592. " ],\n"
  2593. " \"rebind-timer\": 2000,\n"
  2594. " \"relay\": {\n"
  2595. " \"ip-address\": \"0.0.0.0\"\n"
  2596. " },\n"
  2597. " \"renew-timer\": 1000,\n"
  2598. " \"reservation-mode\": \"all\",\n"
  2599. " \"reservations\": [ ],\n"
  2600. " \"subnet\": \"192.0.3.0/24\",\n"
  2601. " \"valid-lifetime\": 4000\n"
  2602. " }\n"
  2603. " ]\n"
  2604. " }\n",
  2605. // CONFIGURATION 13
  2606. "{\n"
  2607. " \"decline-probation-period\": 86400,\n"
  2608. " \"dhcp-ddns\": {\n"
  2609. " \"always-include-fqdn\": false,\n"
  2610. " \"enable-updates\": false,\n"
  2611. " \"generated-prefix\": \"myhost\",\n"
  2612. " \"max-queue-size\": 1024,\n"
  2613. " \"ncr-format\": \"JSON\",\n"
  2614. " \"ncr-protocol\": \"UDP\",\n"
  2615. " \"override-client-update\": false,\n"
  2616. " \"override-no-update\": false,\n"
  2617. " \"qualifying-suffix\": \"\",\n"
  2618. " \"replace-client-name\": \"never\",\n"
  2619. " \"sender-ip\": \"0.0.0.0\",\n"
  2620. " \"sender-port\": 0,\n"
  2621. " \"server-ip\": \"127.0.0.1\",\n"
  2622. " \"server-port\": 53001\n"
  2623. " },\n"
  2624. " \"dhcp4o6-port\": 0,\n"
  2625. " \"echo-client-id\": true,\n"
  2626. " \"expired-leases-processing\": {\n"
  2627. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2628. " \"hold-reclaimed-time\": 3600,\n"
  2629. " \"max-reclaim-leases\": 100,\n"
  2630. " \"max-reclaim-time\": 250,\n"
  2631. " \"reclaim-timer-wait-time\": 10,\n"
  2632. " \"unwarned-reclaim-cycles\": 5\n"
  2633. " },\n"
  2634. " \"hooks-libraries\": [ ],\n"
  2635. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2636. " \"interfaces-config\": {\n"
  2637. " \"interfaces\": [ \"*\" ],\n"
  2638. " \"re-detect\": false\n"
  2639. " },\n"
  2640. " \"lease-database\": {\n"
  2641. " \"type\": \"memfile\"\n"
  2642. " },\n"
  2643. " \"option-data\": [ ],\n"
  2644. " \"option-def\": [ ],\n"
  2645. " \"subnet4\": [\n"
  2646. " {\n"
  2647. " \"4o6-interface\": \"\",\n"
  2648. " \"4o6-interface-id\": \"\",\n"
  2649. " \"4o6-subnet\": \"\",\n"
  2650. " \"id\": 1,\n"
  2651. " \"interface\": \"\",\n"
  2652. " \"match-client-id\": true,\n"
  2653. " \"next-server\": \"0.0.0.0\",\n"
  2654. " \"option-data\": [ ],\n"
  2655. " \"pools\": [\n"
  2656. " {\n"
  2657. " \"option-data\": [ ],\n"
  2658. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  2659. " }\n"
  2660. " ],\n"
  2661. " \"rebind-timer\": 2,\n"
  2662. " \"relay\": {\n"
  2663. " \"ip-address\": \"0.0.0.0\"\n"
  2664. " },\n"
  2665. " \"renew-timer\": 1,\n"
  2666. " \"reservation-mode\": \"all\",\n"
  2667. " \"reservations\": [ ],\n"
  2668. " \"subnet\": \"192.0.2.0/24\",\n"
  2669. " \"valid-lifetime\": 4\n"
  2670. " }\n"
  2671. " ]\n"
  2672. " }\n",
  2673. // CONFIGURATION 14
  2674. "{\n"
  2675. " \"decline-probation-period\": 86400,\n"
  2676. " \"dhcp-ddns\": {\n"
  2677. " \"always-include-fqdn\": false,\n"
  2678. " \"enable-updates\": false,\n"
  2679. " \"generated-prefix\": \"myhost\",\n"
  2680. " \"max-queue-size\": 1024,\n"
  2681. " \"ncr-format\": \"JSON\",\n"
  2682. " \"ncr-protocol\": \"UDP\",\n"
  2683. " \"override-client-update\": false,\n"
  2684. " \"override-no-update\": false,\n"
  2685. " \"qualifying-suffix\": \"\",\n"
  2686. " \"replace-client-name\": \"never\",\n"
  2687. " \"sender-ip\": \"0.0.0.0\",\n"
  2688. " \"sender-port\": 0,\n"
  2689. " \"server-ip\": \"127.0.0.1\",\n"
  2690. " \"server-port\": 53001\n"
  2691. " },\n"
  2692. " \"dhcp4o6-port\": 0,\n"
  2693. " \"echo-client-id\": true,\n"
  2694. " \"expired-leases-processing\": {\n"
  2695. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2696. " \"hold-reclaimed-time\": 3600,\n"
  2697. " \"max-reclaim-leases\": 100,\n"
  2698. " \"max-reclaim-time\": 250,\n"
  2699. " \"reclaim-timer-wait-time\": 10,\n"
  2700. " \"unwarned-reclaim-cycles\": 5\n"
  2701. " },\n"
  2702. " \"hooks-libraries\": [ ],\n"
  2703. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2704. " \"interfaces-config\": {\n"
  2705. " \"interfaces\": [ \"*\" ],\n"
  2706. " \"re-detect\": false\n"
  2707. " },\n"
  2708. " \"lease-database\": {\n"
  2709. " \"type\": \"memfile\"\n"
  2710. " },\n"
  2711. " \"option-data\": [ ],\n"
  2712. " \"option-def\": [ ],\n"
  2713. " \"subnet4\": [\n"
  2714. " {\n"
  2715. " \"4o6-interface\": \"\",\n"
  2716. " \"4o6-interface-id\": \"\",\n"
  2717. " \"4o6-subnet\": \"\",\n"
  2718. " \"id\": 1,\n"
  2719. " \"interface\": \"\",\n"
  2720. " \"match-client-id\": true,\n"
  2721. " \"next-server\": \"0.0.0.0\",\n"
  2722. " \"option-data\": [ ],\n"
  2723. " \"pools\": [\n"
  2724. " {\n"
  2725. " \"option-data\": [ ],\n"
  2726. " \"pool\": \"192.0.2.0/28\"\n"
  2727. " },\n"
  2728. " {\n"
  2729. " \"option-data\": [ ],\n"
  2730. " \"pool\": \"192.0.2.200-192.0.2.255\"\n"
  2731. " }\n"
  2732. " ],\n"
  2733. " \"rebind-timer\": 2000,\n"
  2734. " \"relay\": {\n"
  2735. " \"ip-address\": \"0.0.0.0\"\n"
  2736. " },\n"
  2737. " \"renew-timer\": 1000,\n"
  2738. " \"reservation-mode\": \"all\",\n"
  2739. " \"reservations\": [ ],\n"
  2740. " \"subnet\": \"192.0.2.0/24\",\n"
  2741. " \"valid-lifetime\": 4000\n"
  2742. " },\n"
  2743. " {\n"
  2744. " \"4o6-interface\": \"\",\n"
  2745. " \"4o6-interface-id\": \"\",\n"
  2746. " \"4o6-subnet\": \"\",\n"
  2747. " \"id\": 2,\n"
  2748. " \"interface\": \"\",\n"
  2749. " \"match-client-id\": true,\n"
  2750. " \"next-server\": \"0.0.0.0\",\n"
  2751. " \"option-data\": [ ],\n"
  2752. " \"pools\": [\n"
  2753. " {\n"
  2754. " \"option-data\": [ ],\n"
  2755. " \"pool\": \"192.0.3.0/25\"\n"
  2756. " },\n"
  2757. " {\n"
  2758. " \"option-data\": [ ],\n"
  2759. " \"pool\": \"192.0.3.128/25\"\n"
  2760. " }\n"
  2761. " ],\n"
  2762. " \"rebind-timer\": 2000,\n"
  2763. " \"relay\": {\n"
  2764. " \"ip-address\": \"0.0.0.0\"\n"
  2765. " },\n"
  2766. " \"renew-timer\": 1000,\n"
  2767. " \"reservation-mode\": \"all\",\n"
  2768. " \"reservations\": [ ],\n"
  2769. " \"subnet\": \"192.0.3.0/24\",\n"
  2770. " \"valid-lifetime\": 4000\n"
  2771. " }\n"
  2772. " ]\n"
  2773. " }\n",
  2774. // CONFIGURATION 15
  2775. "{\n"
  2776. " \"decline-probation-period\": 86400,\n"
  2777. " \"dhcp-ddns\": {\n"
  2778. " \"always-include-fqdn\": false,\n"
  2779. " \"enable-updates\": false,\n"
  2780. " \"generated-prefix\": \"myhost\",\n"
  2781. " \"max-queue-size\": 1024,\n"
  2782. " \"ncr-format\": \"JSON\",\n"
  2783. " \"ncr-protocol\": \"UDP\",\n"
  2784. " \"override-client-update\": false,\n"
  2785. " \"override-no-update\": false,\n"
  2786. " \"qualifying-suffix\": \"\",\n"
  2787. " \"replace-client-name\": \"never\",\n"
  2788. " \"sender-ip\": \"0.0.0.0\",\n"
  2789. " \"sender-port\": 0,\n"
  2790. " \"server-ip\": \"127.0.0.1\",\n"
  2791. " \"server-port\": 53001\n"
  2792. " },\n"
  2793. " \"dhcp4o6-port\": 0,\n"
  2794. " \"echo-client-id\": true,\n"
  2795. " \"expired-leases-processing\": {\n"
  2796. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2797. " \"hold-reclaimed-time\": 3600,\n"
  2798. " \"max-reclaim-leases\": 100,\n"
  2799. " \"max-reclaim-time\": 250,\n"
  2800. " \"reclaim-timer-wait-time\": 10,\n"
  2801. " \"unwarned-reclaim-cycles\": 5\n"
  2802. " },\n"
  2803. " \"hooks-libraries\": [ ],\n"
  2804. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2805. " \"interfaces-config\": {\n"
  2806. " \"interfaces\": [ \"*\" ],\n"
  2807. " \"re-detect\": false\n"
  2808. " },\n"
  2809. " \"lease-database\": {\n"
  2810. " \"type\": \"memfile\"\n"
  2811. " },\n"
  2812. " \"option-data\": [ ],\n"
  2813. " \"option-def\": [ ],\n"
  2814. " \"subnet4\": [\n"
  2815. " {\n"
  2816. " \"4o6-interface\": \"\",\n"
  2817. " \"4o6-interface-id\": \"\",\n"
  2818. " \"4o6-subnet\": \"\",\n"
  2819. " \"id\": 1,\n"
  2820. " \"interface\": \"\",\n"
  2821. " \"match-client-id\": true,\n"
  2822. " \"next-server\": \"0.0.0.0\",\n"
  2823. " \"option-data\": [ ],\n"
  2824. " \"pools\": [\n"
  2825. " {\n"
  2826. " \"option-data\": [ ],\n"
  2827. " \"pool\": \"192.0.2.128/28\"\n"
  2828. " }\n"
  2829. " ],\n"
  2830. " \"rebind-timer\": 2000,\n"
  2831. " \"relay\": {\n"
  2832. " \"ip-address\": \"0.0.0.0\"\n"
  2833. " },\n"
  2834. " \"renew-timer\": 1000,\n"
  2835. " \"reservation-mode\": \"all\",\n"
  2836. " \"reservations\": [ ],\n"
  2837. " \"subnet\": \"192.0.2.0/24\",\n"
  2838. " \"valid-lifetime\": 4000\n"
  2839. " }\n"
  2840. " ]\n"
  2841. " }\n",
  2842. // CONFIGURATION 16
  2843. "{\n"
  2844. " \"decline-probation-period\": 86400,\n"
  2845. " \"dhcp-ddns\": {\n"
  2846. " \"always-include-fqdn\": false,\n"
  2847. " \"enable-updates\": false,\n"
  2848. " \"generated-prefix\": \"myhost\",\n"
  2849. " \"max-queue-size\": 1024,\n"
  2850. " \"ncr-format\": \"JSON\",\n"
  2851. " \"ncr-protocol\": \"UDP\",\n"
  2852. " \"override-client-update\": false,\n"
  2853. " \"override-no-update\": false,\n"
  2854. " \"qualifying-suffix\": \"\",\n"
  2855. " \"replace-client-name\": \"never\",\n"
  2856. " \"sender-ip\": \"0.0.0.0\",\n"
  2857. " \"sender-port\": 0,\n"
  2858. " \"server-ip\": \"127.0.0.1\",\n"
  2859. " \"server-port\": 53001\n"
  2860. " },\n"
  2861. " \"dhcp4o6-port\": 0,\n"
  2862. " \"echo-client-id\": true,\n"
  2863. " \"expired-leases-processing\": {\n"
  2864. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2865. " \"hold-reclaimed-time\": 3600,\n"
  2866. " \"max-reclaim-leases\": 100,\n"
  2867. " \"max-reclaim-time\": 250,\n"
  2868. " \"reclaim-timer-wait-time\": 10,\n"
  2869. " \"unwarned-reclaim-cycles\": 5\n"
  2870. " },\n"
  2871. " \"hooks-libraries\": [ ],\n"
  2872. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2873. " \"interfaces-config\": {\n"
  2874. " \"interfaces\": [ ],\n"
  2875. " \"re-detect\": false\n"
  2876. " },\n"
  2877. " \"lease-database\": {\n"
  2878. " \"type\": \"memfile\"\n"
  2879. " },\n"
  2880. " \"option-data\": [ ],\n"
  2881. " \"option-def\": [\n"
  2882. " {\n"
  2883. " \"array\": false,\n"
  2884. " \"code\": 100,\n"
  2885. " \"encapsulate\": \"\",\n"
  2886. " \"name\": \"foo\",\n"
  2887. " \"record-types\": \"\",\n"
  2888. " \"space\": \"isc\",\n"
  2889. " \"type\": \"ipv4-address\"\n"
  2890. " }\n"
  2891. " ],\n"
  2892. " \"subnet4\": [ ]\n"
  2893. " }\n",
  2894. // CONFIGURATION 17
  2895. "{\n"
  2896. " \"decline-probation-period\": 86400,\n"
  2897. " \"dhcp-ddns\": {\n"
  2898. " \"always-include-fqdn\": false,\n"
  2899. " \"enable-updates\": false,\n"
  2900. " \"generated-prefix\": \"myhost\",\n"
  2901. " \"max-queue-size\": 1024,\n"
  2902. " \"ncr-format\": \"JSON\",\n"
  2903. " \"ncr-protocol\": \"UDP\",\n"
  2904. " \"override-client-update\": false,\n"
  2905. " \"override-no-update\": false,\n"
  2906. " \"qualifying-suffix\": \"\",\n"
  2907. " \"replace-client-name\": \"never\",\n"
  2908. " \"sender-ip\": \"0.0.0.0\",\n"
  2909. " \"sender-port\": 0,\n"
  2910. " \"server-ip\": \"127.0.0.1\",\n"
  2911. " \"server-port\": 53001\n"
  2912. " },\n"
  2913. " \"dhcp4o6-port\": 0,\n"
  2914. " \"echo-client-id\": true,\n"
  2915. " \"expired-leases-processing\": {\n"
  2916. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2917. " \"hold-reclaimed-time\": 3600,\n"
  2918. " \"max-reclaim-leases\": 100,\n"
  2919. " \"max-reclaim-time\": 250,\n"
  2920. " \"reclaim-timer-wait-time\": 10,\n"
  2921. " \"unwarned-reclaim-cycles\": 5\n"
  2922. " },\n"
  2923. " \"hooks-libraries\": [ ],\n"
  2924. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2925. " \"interfaces-config\": {\n"
  2926. " \"interfaces\": [ ],\n"
  2927. " \"re-detect\": false\n"
  2928. " },\n"
  2929. " \"lease-database\": {\n"
  2930. " \"type\": \"memfile\"\n"
  2931. " },\n"
  2932. " \"option-data\": [ ],\n"
  2933. " \"option-def\": [\n"
  2934. " {\n"
  2935. " \"array\": false,\n"
  2936. " \"code\": 100,\n"
  2937. " \"encapsulate\": \"\",\n"
  2938. " \"name\": \"foo\",\n"
  2939. " \"record-types\": \"uint16, ipv4-address, ipv6-address, string\",\n"
  2940. " \"space\": \"isc\",\n"
  2941. " \"type\": \"record\"\n"
  2942. " }\n"
  2943. " ],\n"
  2944. " \"subnet4\": [ ]\n"
  2945. " }\n",
  2946. // CONFIGURATION 18
  2947. "{\n"
  2948. " \"decline-probation-period\": 86400,\n"
  2949. " \"dhcp-ddns\": {\n"
  2950. " \"always-include-fqdn\": false,\n"
  2951. " \"enable-updates\": false,\n"
  2952. " \"generated-prefix\": \"myhost\",\n"
  2953. " \"max-queue-size\": 1024,\n"
  2954. " \"ncr-format\": \"JSON\",\n"
  2955. " \"ncr-protocol\": \"UDP\",\n"
  2956. " \"override-client-update\": false,\n"
  2957. " \"override-no-update\": false,\n"
  2958. " \"qualifying-suffix\": \"\",\n"
  2959. " \"replace-client-name\": \"never\",\n"
  2960. " \"sender-ip\": \"0.0.0.0\",\n"
  2961. " \"sender-port\": 0,\n"
  2962. " \"server-ip\": \"127.0.0.1\",\n"
  2963. " \"server-port\": 53001\n"
  2964. " },\n"
  2965. " \"dhcp4o6-port\": 0,\n"
  2966. " \"echo-client-id\": true,\n"
  2967. " \"expired-leases-processing\": {\n"
  2968. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  2969. " \"hold-reclaimed-time\": 3600,\n"
  2970. " \"max-reclaim-leases\": 100,\n"
  2971. " \"max-reclaim-time\": 250,\n"
  2972. " \"reclaim-timer-wait-time\": 10,\n"
  2973. " \"unwarned-reclaim-cycles\": 5\n"
  2974. " },\n"
  2975. " \"hooks-libraries\": [ ],\n"
  2976. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  2977. " \"interfaces-config\": {\n"
  2978. " \"interfaces\": [ ],\n"
  2979. " \"re-detect\": false\n"
  2980. " },\n"
  2981. " \"lease-database\": {\n"
  2982. " \"type\": \"memfile\"\n"
  2983. " },\n"
  2984. " \"option-data\": [ ],\n"
  2985. " \"option-def\": [\n"
  2986. " {\n"
  2987. " \"array\": false,\n"
  2988. " \"code\": 100,\n"
  2989. " \"encapsulate\": \"\",\n"
  2990. " \"name\": \"foo\",\n"
  2991. " \"record-types\": \"\",\n"
  2992. " \"space\": \"isc\",\n"
  2993. " \"type\": \"uint32\"\n"
  2994. " },\n"
  2995. " {\n"
  2996. " \"array\": false,\n"
  2997. " \"code\": 101,\n"
  2998. " \"encapsulate\": \"\",\n"
  2999. " \"name\": \"foo-2\",\n"
  3000. " \"record-types\": \"\",\n"
  3001. " \"space\": \"isc\",\n"
  3002. " \"type\": \"ipv4-address\"\n"
  3003. " }\n"
  3004. " ],\n"
  3005. " \"subnet4\": [ ]\n"
  3006. " }\n",
  3007. // CONFIGURATION 19
  3008. "{\n"
  3009. " \"decline-probation-period\": 86400,\n"
  3010. " \"dhcp-ddns\": {\n"
  3011. " \"always-include-fqdn\": false,\n"
  3012. " \"enable-updates\": false,\n"
  3013. " \"generated-prefix\": \"myhost\",\n"
  3014. " \"max-queue-size\": 1024,\n"
  3015. " \"ncr-format\": \"JSON\",\n"
  3016. " \"ncr-protocol\": \"UDP\",\n"
  3017. " \"override-client-update\": false,\n"
  3018. " \"override-no-update\": false,\n"
  3019. " \"qualifying-suffix\": \"\",\n"
  3020. " \"replace-client-name\": \"never\",\n"
  3021. " \"sender-ip\": \"0.0.0.0\",\n"
  3022. " \"sender-port\": 0,\n"
  3023. " \"server-ip\": \"127.0.0.1\",\n"
  3024. " \"server-port\": 53001\n"
  3025. " },\n"
  3026. " \"dhcp4o6-port\": 0,\n"
  3027. " \"echo-client-id\": true,\n"
  3028. " \"expired-leases-processing\": {\n"
  3029. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3030. " \"hold-reclaimed-time\": 3600,\n"
  3031. " \"max-reclaim-leases\": 100,\n"
  3032. " \"max-reclaim-time\": 250,\n"
  3033. " \"reclaim-timer-wait-time\": 10,\n"
  3034. " \"unwarned-reclaim-cycles\": 5\n"
  3035. " },\n"
  3036. " \"hooks-libraries\": [ ],\n"
  3037. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3038. " \"interfaces-config\": {\n"
  3039. " \"interfaces\": [ ],\n"
  3040. " \"re-detect\": false\n"
  3041. " },\n"
  3042. " \"lease-database\": {\n"
  3043. " \"type\": \"memfile\"\n"
  3044. " },\n"
  3045. " \"option-data\": [ ],\n"
  3046. " \"option-def\": [\n"
  3047. " {\n"
  3048. " \"array\": true,\n"
  3049. " \"code\": 100,\n"
  3050. " \"encapsulate\": \"\",\n"
  3051. " \"name\": \"foo\",\n"
  3052. " \"record-types\": \"\",\n"
  3053. " \"space\": \"isc\",\n"
  3054. " \"type\": \"uint32\"\n"
  3055. " }\n"
  3056. " ],\n"
  3057. " \"subnet4\": [ ]\n"
  3058. " }\n",
  3059. // CONFIGURATION 20
  3060. "{\n"
  3061. " \"decline-probation-period\": 86400,\n"
  3062. " \"dhcp-ddns\": {\n"
  3063. " \"always-include-fqdn\": false,\n"
  3064. " \"enable-updates\": false,\n"
  3065. " \"generated-prefix\": \"myhost\",\n"
  3066. " \"max-queue-size\": 1024,\n"
  3067. " \"ncr-format\": \"JSON\",\n"
  3068. " \"ncr-protocol\": \"UDP\",\n"
  3069. " \"override-client-update\": false,\n"
  3070. " \"override-no-update\": false,\n"
  3071. " \"qualifying-suffix\": \"\",\n"
  3072. " \"replace-client-name\": \"never\",\n"
  3073. " \"sender-ip\": \"0.0.0.0\",\n"
  3074. " \"sender-port\": 0,\n"
  3075. " \"server-ip\": \"127.0.0.1\",\n"
  3076. " \"server-port\": 53001\n"
  3077. " },\n"
  3078. " \"dhcp4o6-port\": 0,\n"
  3079. " \"echo-client-id\": true,\n"
  3080. " \"expired-leases-processing\": {\n"
  3081. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3082. " \"hold-reclaimed-time\": 3600,\n"
  3083. " \"max-reclaim-leases\": 100,\n"
  3084. " \"max-reclaim-time\": 250,\n"
  3085. " \"reclaim-timer-wait-time\": 10,\n"
  3086. " \"unwarned-reclaim-cycles\": 5\n"
  3087. " },\n"
  3088. " \"hooks-libraries\": [ ],\n"
  3089. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3090. " \"interfaces-config\": {\n"
  3091. " \"interfaces\": [ ],\n"
  3092. " \"re-detect\": false\n"
  3093. " },\n"
  3094. " \"lease-database\": {\n"
  3095. " \"type\": \"memfile\"\n"
  3096. " },\n"
  3097. " \"option-data\": [ ],\n"
  3098. " \"option-def\": [\n"
  3099. " {\n"
  3100. " \"array\": false,\n"
  3101. " \"code\": 100,\n"
  3102. " \"encapsulate\": \"sub-opts-space\",\n"
  3103. " \"name\": \"foo\",\n"
  3104. " \"record-types\": \"\",\n"
  3105. " \"space\": \"isc\",\n"
  3106. " \"type\": \"uint32\"\n"
  3107. " }\n"
  3108. " ],\n"
  3109. " \"subnet4\": [ ]\n"
  3110. " }\n",
  3111. // CONFIGURATION 21
  3112. "{\n"
  3113. " \"decline-probation-period\": 86400,\n"
  3114. " \"dhcp-ddns\": {\n"
  3115. " \"always-include-fqdn\": false,\n"
  3116. " \"enable-updates\": false,\n"
  3117. " \"generated-prefix\": \"myhost\",\n"
  3118. " \"max-queue-size\": 1024,\n"
  3119. " \"ncr-format\": \"JSON\",\n"
  3120. " \"ncr-protocol\": \"UDP\",\n"
  3121. " \"override-client-update\": false,\n"
  3122. " \"override-no-update\": false,\n"
  3123. " \"qualifying-suffix\": \"\",\n"
  3124. " \"replace-client-name\": \"never\",\n"
  3125. " \"sender-ip\": \"0.0.0.0\",\n"
  3126. " \"sender-port\": 0,\n"
  3127. " \"server-ip\": \"127.0.0.1\",\n"
  3128. " \"server-port\": 53001\n"
  3129. " },\n"
  3130. " \"dhcp4o6-port\": 0,\n"
  3131. " \"echo-client-id\": true,\n"
  3132. " \"expired-leases-processing\": {\n"
  3133. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3134. " \"hold-reclaimed-time\": 3600,\n"
  3135. " \"max-reclaim-leases\": 100,\n"
  3136. " \"max-reclaim-time\": 250,\n"
  3137. " \"reclaim-timer-wait-time\": 10,\n"
  3138. " \"unwarned-reclaim-cycles\": 5\n"
  3139. " },\n"
  3140. " \"hooks-libraries\": [ ],\n"
  3141. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3142. " \"interfaces-config\": {\n"
  3143. " \"interfaces\": [ ],\n"
  3144. " \"re-detect\": false\n"
  3145. " },\n"
  3146. " \"lease-database\": {\n"
  3147. " \"type\": \"memfile\"\n"
  3148. " },\n"
  3149. " \"option-data\": [ ],\n"
  3150. " \"option-def\": [\n"
  3151. " {\n"
  3152. " \"array\": false,\n"
  3153. " \"code\": 109,\n"
  3154. " \"encapsulate\": \"\",\n"
  3155. " \"name\": \"foo\",\n"
  3156. " \"record-types\": \"\",\n"
  3157. " \"space\": \"dhcp4\",\n"
  3158. " \"type\": \"string\"\n"
  3159. " }\n"
  3160. " ],\n"
  3161. " \"subnet4\": [ ]\n"
  3162. " }\n",
  3163. // CONFIGURATION 22
  3164. "{\n"
  3165. " \"decline-probation-period\": 86400,\n"
  3166. " \"dhcp-ddns\": {\n"
  3167. " \"always-include-fqdn\": false,\n"
  3168. " \"enable-updates\": false,\n"
  3169. " \"generated-prefix\": \"myhost\",\n"
  3170. " \"max-queue-size\": 1024,\n"
  3171. " \"ncr-format\": \"JSON\",\n"
  3172. " \"ncr-protocol\": \"UDP\",\n"
  3173. " \"override-client-update\": false,\n"
  3174. " \"override-no-update\": false,\n"
  3175. " \"qualifying-suffix\": \"\",\n"
  3176. " \"replace-client-name\": \"never\",\n"
  3177. " \"sender-ip\": \"0.0.0.0\",\n"
  3178. " \"sender-port\": 0,\n"
  3179. " \"server-ip\": \"127.0.0.1\",\n"
  3180. " \"server-port\": 53001\n"
  3181. " },\n"
  3182. " \"dhcp4o6-port\": 0,\n"
  3183. " \"echo-client-id\": true,\n"
  3184. " \"expired-leases-processing\": {\n"
  3185. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3186. " \"hold-reclaimed-time\": 3600,\n"
  3187. " \"max-reclaim-leases\": 100,\n"
  3188. " \"max-reclaim-time\": 250,\n"
  3189. " \"reclaim-timer-wait-time\": 10,\n"
  3190. " \"unwarned-reclaim-cycles\": 5\n"
  3191. " },\n"
  3192. " \"hooks-libraries\": [ ],\n"
  3193. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3194. " \"interfaces-config\": {\n"
  3195. " \"interfaces\": [ ],\n"
  3196. " \"re-detect\": false\n"
  3197. " },\n"
  3198. " \"lease-database\": {\n"
  3199. " \"type\": \"memfile\"\n"
  3200. " },\n"
  3201. " \"option-data\": [ ],\n"
  3202. " \"option-def\": [\n"
  3203. " {\n"
  3204. " \"array\": false,\n"
  3205. " \"code\": 213,\n"
  3206. " \"encapsulate\": \"\",\n"
  3207. " \"name\": \"access-network-domain-name\",\n"
  3208. " \"record-types\": \"\",\n"
  3209. " \"space\": \"dhcp4\",\n"
  3210. " \"type\": \"string\"\n"
  3211. " }\n"
  3212. " ],\n"
  3213. " \"subnet4\": [ ]\n"
  3214. " }\n",
  3215. // CONFIGURATION 23
  3216. "{\n"
  3217. " \"decline-probation-period\": 86400,\n"
  3218. " \"dhcp-ddns\": {\n"
  3219. " \"always-include-fqdn\": false,\n"
  3220. " \"enable-updates\": false,\n"
  3221. " \"generated-prefix\": \"myhost\",\n"
  3222. " \"max-queue-size\": 1024,\n"
  3223. " \"ncr-format\": \"JSON\",\n"
  3224. " \"ncr-protocol\": \"UDP\",\n"
  3225. " \"override-client-update\": false,\n"
  3226. " \"override-no-update\": false,\n"
  3227. " \"qualifying-suffix\": \"\",\n"
  3228. " \"replace-client-name\": \"never\",\n"
  3229. " \"sender-ip\": \"0.0.0.0\",\n"
  3230. " \"sender-port\": 0,\n"
  3231. " \"server-ip\": \"127.0.0.1\",\n"
  3232. " \"server-port\": 53001\n"
  3233. " },\n"
  3234. " \"dhcp4o6-port\": 0,\n"
  3235. " \"echo-client-id\": true,\n"
  3236. " \"expired-leases-processing\": {\n"
  3237. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3238. " \"hold-reclaimed-time\": 3600,\n"
  3239. " \"max-reclaim-leases\": 100,\n"
  3240. " \"max-reclaim-time\": 250,\n"
  3241. " \"reclaim-timer-wait-time\": 10,\n"
  3242. " \"unwarned-reclaim-cycles\": 5\n"
  3243. " },\n"
  3244. " \"hooks-libraries\": [ ],\n"
  3245. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3246. " \"interfaces-config\": {\n"
  3247. " \"interfaces\": [ \"*\" ],\n"
  3248. " \"re-detect\": false\n"
  3249. " },\n"
  3250. " \"lease-database\": {\n"
  3251. " \"type\": \"memfile\"\n"
  3252. " },\n"
  3253. " \"option-data\": [\n"
  3254. " {\n"
  3255. " \"code\": 56,\n"
  3256. " \"csv-format\": false,\n"
  3257. " \"data\": \"ABCDEF0105\",\n"
  3258. " \"name\": \"dhcp-message\",\n"
  3259. " \"persistent\": false,\n"
  3260. " \"space\": \"dhcp4\"\n"
  3261. " },\n"
  3262. " {\n"
  3263. " \"code\": 23,\n"
  3264. " \"csv-format\": false,\n"
  3265. " \"data\": \"01\",\n"
  3266. " \"name\": \"default-ip-ttl\",\n"
  3267. " \"persistent\": false,\n"
  3268. " \"space\": \"dhcp4\"\n"
  3269. " }\n"
  3270. " ],\n"
  3271. " \"option-def\": [ ],\n"
  3272. " \"subnet4\": [\n"
  3273. " {\n"
  3274. " \"4o6-interface\": \"\",\n"
  3275. " \"4o6-interface-id\": \"\",\n"
  3276. " \"4o6-subnet\": \"\",\n"
  3277. " \"id\": 1,\n"
  3278. " \"interface\": \"\",\n"
  3279. " \"match-client-id\": true,\n"
  3280. " \"next-server\": \"0.0.0.0\",\n"
  3281. " \"option-data\": [ ],\n"
  3282. " \"pools\": [\n"
  3283. " {\n"
  3284. " \"option-data\": [ ],\n"
  3285. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3286. " }\n"
  3287. " ],\n"
  3288. " \"rebind-timer\": 2000,\n"
  3289. " \"relay\": {\n"
  3290. " \"ip-address\": \"0.0.0.0\"\n"
  3291. " },\n"
  3292. " \"renew-timer\": 1000,\n"
  3293. " \"reservation-mode\": \"all\",\n"
  3294. " \"reservations\": [ ],\n"
  3295. " \"subnet\": \"192.0.2.0/24\",\n"
  3296. " \"valid-lifetime\": 4000\n"
  3297. " }\n"
  3298. " ]\n"
  3299. " }\n",
  3300. // CONFIGURATION 24
  3301. "{\n"
  3302. " \"decline-probation-period\": 86400,\n"
  3303. " \"dhcp-ddns\": {\n"
  3304. " \"always-include-fqdn\": false,\n"
  3305. " \"enable-updates\": false,\n"
  3306. " \"generated-prefix\": \"myhost\",\n"
  3307. " \"max-queue-size\": 1024,\n"
  3308. " \"ncr-format\": \"JSON\",\n"
  3309. " \"ncr-protocol\": \"UDP\",\n"
  3310. " \"override-client-update\": false,\n"
  3311. " \"override-no-update\": false,\n"
  3312. " \"qualifying-suffix\": \"\",\n"
  3313. " \"replace-client-name\": \"never\",\n"
  3314. " \"sender-ip\": \"0.0.0.0\",\n"
  3315. " \"sender-port\": 0,\n"
  3316. " \"server-ip\": \"127.0.0.1\",\n"
  3317. " \"server-port\": 53001\n"
  3318. " },\n"
  3319. " \"dhcp4o6-port\": 0,\n"
  3320. " \"echo-client-id\": true,\n"
  3321. " \"expired-leases-processing\": {\n"
  3322. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3323. " \"hold-reclaimed-time\": 3600,\n"
  3324. " \"max-reclaim-leases\": 100,\n"
  3325. " \"max-reclaim-time\": 250,\n"
  3326. " \"reclaim-timer-wait-time\": 10,\n"
  3327. " \"unwarned-reclaim-cycles\": 5\n"
  3328. " },\n"
  3329. " \"hooks-libraries\": [ ],\n"
  3330. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3331. " \"interfaces-config\": {\n"
  3332. " \"interfaces\": [ \"*\" ],\n"
  3333. " \"re-detect\": false\n"
  3334. " },\n"
  3335. " \"lease-database\": {\n"
  3336. " \"type\": \"memfile\"\n"
  3337. " },\n"
  3338. " \"option-data\": [ ],\n"
  3339. " \"option-def\": [ ],\n"
  3340. " \"subnet4\": [\n"
  3341. " {\n"
  3342. " \"4o6-interface\": \"\",\n"
  3343. " \"4o6-interface-id\": \"\",\n"
  3344. " \"4o6-subnet\": \"\",\n"
  3345. " \"id\": 1,\n"
  3346. " \"interface\": \"\",\n"
  3347. " \"match-client-id\": true,\n"
  3348. " \"next-server\": \"0.0.0.0\",\n"
  3349. " \"option-data\": [\n"
  3350. " {\n"
  3351. " \"code\": 56,\n"
  3352. " \"csv-format\": false,\n"
  3353. " \"data\": \"ABCDEF0105\",\n"
  3354. " \"name\": \"dhcp-message\",\n"
  3355. " \"persistent\": false,\n"
  3356. " \"space\": \"dhcp4\"\n"
  3357. " },\n"
  3358. " {\n"
  3359. " \"code\": 23,\n"
  3360. " \"csv-format\": false,\n"
  3361. " \"data\": \"01\",\n"
  3362. " \"name\": \"default-ip-ttl\",\n"
  3363. " \"persistent\": false,\n"
  3364. " \"space\": \"dhcp4\"\n"
  3365. " }\n"
  3366. " ],\n"
  3367. " \"pools\": [\n"
  3368. " {\n"
  3369. " \"option-data\": [ ],\n"
  3370. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3371. " }\n"
  3372. " ],\n"
  3373. " \"rebind-timer\": 2000,\n"
  3374. " \"relay\": {\n"
  3375. " \"ip-address\": \"0.0.0.0\"\n"
  3376. " },\n"
  3377. " \"renew-timer\": 1000,\n"
  3378. " \"reservation-mode\": \"all\",\n"
  3379. " \"reservations\": [ ],\n"
  3380. " \"subnet\": \"192.0.2.0/24\",\n"
  3381. " \"valid-lifetime\": 4000\n"
  3382. " }\n"
  3383. " ]\n"
  3384. " }\n",
  3385. // CONFIGURATION 25
  3386. "{\n"
  3387. " \"decline-probation-period\": 86400,\n"
  3388. " \"dhcp-ddns\": {\n"
  3389. " \"always-include-fqdn\": false,\n"
  3390. " \"enable-updates\": false,\n"
  3391. " \"generated-prefix\": \"myhost\",\n"
  3392. " \"max-queue-size\": 1024,\n"
  3393. " \"ncr-format\": \"JSON\",\n"
  3394. " \"ncr-protocol\": \"UDP\",\n"
  3395. " \"override-client-update\": false,\n"
  3396. " \"override-no-update\": false,\n"
  3397. " \"qualifying-suffix\": \"\",\n"
  3398. " \"replace-client-name\": \"never\",\n"
  3399. " \"sender-ip\": \"0.0.0.0\",\n"
  3400. " \"sender-port\": 0,\n"
  3401. " \"server-ip\": \"127.0.0.1\",\n"
  3402. " \"server-port\": 53001\n"
  3403. " },\n"
  3404. " \"dhcp4o6-port\": 0,\n"
  3405. " \"echo-client-id\": true,\n"
  3406. " \"expired-leases-processing\": {\n"
  3407. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3408. " \"hold-reclaimed-time\": 3600,\n"
  3409. " \"max-reclaim-leases\": 100,\n"
  3410. " \"max-reclaim-time\": 250,\n"
  3411. " \"reclaim-timer-wait-time\": 10,\n"
  3412. " \"unwarned-reclaim-cycles\": 5\n"
  3413. " },\n"
  3414. " \"hooks-libraries\": [ ],\n"
  3415. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3416. " \"interfaces-config\": {\n"
  3417. " \"interfaces\": [ \"*\" ],\n"
  3418. " \"re-detect\": false\n"
  3419. " },\n"
  3420. " \"lease-database\": {\n"
  3421. " \"type\": \"memfile\"\n"
  3422. " },\n"
  3423. " \"option-data\": [\n"
  3424. " {\n"
  3425. " \"code\": 56,\n"
  3426. " \"csv-format\": false,\n"
  3427. " \"data\": \"ABCDEF0105\",\n"
  3428. " \"name\": \"dhcp-message\",\n"
  3429. " \"persistent\": false,\n"
  3430. " \"space\": \"dhcp4\"\n"
  3431. " },\n"
  3432. " {\n"
  3433. " \"code\": 56,\n"
  3434. " \"csv-format\": true,\n"
  3435. " \"data\": \"1234\",\n"
  3436. " \"name\": \"foo\",\n"
  3437. " \"persistent\": false,\n"
  3438. " \"space\": \"isc\"\n"
  3439. " }\n"
  3440. " ],\n"
  3441. " \"option-def\": [\n"
  3442. " {\n"
  3443. " \"array\": false,\n"
  3444. " \"code\": 56,\n"
  3445. " \"encapsulate\": \"\",\n"
  3446. " \"name\": \"foo\",\n"
  3447. " \"record-types\": \"\",\n"
  3448. " \"space\": \"isc\",\n"
  3449. " \"type\": \"uint32\"\n"
  3450. " }\n"
  3451. " ],\n"
  3452. " \"subnet4\": [\n"
  3453. " {\n"
  3454. " \"4o6-interface\": \"\",\n"
  3455. " \"4o6-interface-id\": \"\",\n"
  3456. " \"4o6-subnet\": \"\",\n"
  3457. " \"id\": 1,\n"
  3458. " \"interface\": \"\",\n"
  3459. " \"match-client-id\": true,\n"
  3460. " \"next-server\": \"0.0.0.0\",\n"
  3461. " \"option-data\": [ ],\n"
  3462. " \"pools\": [\n"
  3463. " {\n"
  3464. " \"option-data\": [ ],\n"
  3465. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3466. " }\n"
  3467. " ],\n"
  3468. " \"rebind-timer\": 2000,\n"
  3469. " \"relay\": {\n"
  3470. " \"ip-address\": \"0.0.0.0\"\n"
  3471. " },\n"
  3472. " \"renew-timer\": 1000,\n"
  3473. " \"reservation-mode\": \"all\",\n"
  3474. " \"reservations\": [ ],\n"
  3475. " \"subnet\": \"192.0.2.0/24\",\n"
  3476. " \"valid-lifetime\": 4000\n"
  3477. " }\n"
  3478. " ]\n"
  3479. " }\n",
  3480. // CONFIGURATION 26
  3481. "{\n"
  3482. " \"decline-probation-period\": 86400,\n"
  3483. " \"dhcp-ddns\": {\n"
  3484. " \"always-include-fqdn\": false,\n"
  3485. " \"enable-updates\": false,\n"
  3486. " \"generated-prefix\": \"myhost\",\n"
  3487. " \"max-queue-size\": 1024,\n"
  3488. " \"ncr-format\": \"JSON\",\n"
  3489. " \"ncr-protocol\": \"UDP\",\n"
  3490. " \"override-client-update\": false,\n"
  3491. " \"override-no-update\": false,\n"
  3492. " \"qualifying-suffix\": \"\",\n"
  3493. " \"replace-client-name\": \"never\",\n"
  3494. " \"sender-ip\": \"0.0.0.0\",\n"
  3495. " \"sender-port\": 0,\n"
  3496. " \"server-ip\": \"127.0.0.1\",\n"
  3497. " \"server-port\": 53001\n"
  3498. " },\n"
  3499. " \"dhcp4o6-port\": 0,\n"
  3500. " \"echo-client-id\": true,\n"
  3501. " \"expired-leases-processing\": {\n"
  3502. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3503. " \"hold-reclaimed-time\": 3600,\n"
  3504. " \"max-reclaim-leases\": 100,\n"
  3505. " \"max-reclaim-time\": 250,\n"
  3506. " \"reclaim-timer-wait-time\": 10,\n"
  3507. " \"unwarned-reclaim-cycles\": 5\n"
  3508. " },\n"
  3509. " \"hooks-libraries\": [ ],\n"
  3510. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3511. " \"interfaces-config\": {\n"
  3512. " \"interfaces\": [ \"*\" ],\n"
  3513. " \"re-detect\": false\n"
  3514. " },\n"
  3515. " \"lease-database\": {\n"
  3516. " \"type\": \"memfile\"\n"
  3517. " },\n"
  3518. " \"option-data\": [\n"
  3519. " {\n"
  3520. " \"code\": 1,\n"
  3521. " \"csv-format\": true,\n"
  3522. " \"data\": \"1234\",\n"
  3523. " \"name\": \"foo\",\n"
  3524. " \"persistent\": false,\n"
  3525. " \"space\": \"isc\"\n"
  3526. " },\n"
  3527. " {\n"
  3528. " \"code\": 2,\n"
  3529. " \"csv-format\": true,\n"
  3530. " \"data\": \"192.168.2.1\",\n"
  3531. " \"name\": \"foo2\",\n"
  3532. " \"persistent\": false,\n"
  3533. " \"space\": \"isc\"\n"
  3534. " }\n"
  3535. " ],\n"
  3536. " \"option-def\": [\n"
  3537. " {\n"
  3538. " \"array\": false,\n"
  3539. " \"code\": 1,\n"
  3540. " \"encapsulate\": \"\",\n"
  3541. " \"name\": \"foo\",\n"
  3542. " \"record-types\": \"\",\n"
  3543. " \"space\": \"isc\",\n"
  3544. " \"type\": \"uint32\"\n"
  3545. " },\n"
  3546. " {\n"
  3547. " \"array\": false,\n"
  3548. " \"code\": 2,\n"
  3549. " \"encapsulate\": \"\",\n"
  3550. " \"name\": \"foo2\",\n"
  3551. " \"record-types\": \"\",\n"
  3552. " \"space\": \"isc\",\n"
  3553. " \"type\": \"ipv4-address\"\n"
  3554. " }\n"
  3555. " ],\n"
  3556. " \"subnet4\": [ ]\n"
  3557. " }\n",
  3558. // CONFIGURATION 27
  3559. "{\n"
  3560. " \"decline-probation-period\": 86400,\n"
  3561. " \"dhcp-ddns\": {\n"
  3562. " \"always-include-fqdn\": false,\n"
  3563. " \"enable-updates\": false,\n"
  3564. " \"generated-prefix\": \"myhost\",\n"
  3565. " \"max-queue-size\": 1024,\n"
  3566. " \"ncr-format\": \"JSON\",\n"
  3567. " \"ncr-protocol\": \"UDP\",\n"
  3568. " \"override-client-update\": false,\n"
  3569. " \"override-no-update\": false,\n"
  3570. " \"qualifying-suffix\": \"\",\n"
  3571. " \"replace-client-name\": \"never\",\n"
  3572. " \"sender-ip\": \"0.0.0.0\",\n"
  3573. " \"sender-port\": 0,\n"
  3574. " \"server-ip\": \"127.0.0.1\",\n"
  3575. " \"server-port\": 53001\n"
  3576. " },\n"
  3577. " \"dhcp4o6-port\": 0,\n"
  3578. " \"echo-client-id\": true,\n"
  3579. " \"expired-leases-processing\": {\n"
  3580. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3581. " \"hold-reclaimed-time\": 3600,\n"
  3582. " \"max-reclaim-leases\": 100,\n"
  3583. " \"max-reclaim-time\": 250,\n"
  3584. " \"reclaim-timer-wait-time\": 10,\n"
  3585. " \"unwarned-reclaim-cycles\": 5\n"
  3586. " },\n"
  3587. " \"hooks-libraries\": [ ],\n"
  3588. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3589. " \"interfaces-config\": {\n"
  3590. " \"interfaces\": [ \"*\" ],\n"
  3591. " \"re-detect\": false\n"
  3592. " },\n"
  3593. " \"lease-database\": {\n"
  3594. " \"type\": \"memfile\"\n"
  3595. " },\n"
  3596. " \"option-data\": [\n"
  3597. " {\n"
  3598. " \"code\": 222,\n"
  3599. " \"csv-format\": true,\n"
  3600. " \"data\": \"11\",\n"
  3601. " \"name\": \"base-option\",\n"
  3602. " \"persistent\": false,\n"
  3603. " \"space\": \"dhcp4\"\n"
  3604. " },\n"
  3605. " {\n"
  3606. " \"code\": 1,\n"
  3607. " \"csv-format\": true,\n"
  3608. " \"data\": \"1234\",\n"
  3609. " \"name\": \"foo\",\n"
  3610. " \"persistent\": false,\n"
  3611. " \"space\": \"isc\"\n"
  3612. " },\n"
  3613. " {\n"
  3614. " \"code\": 2,\n"
  3615. " \"csv-format\": true,\n"
  3616. " \"data\": \"192.168.2.1\",\n"
  3617. " \"name\": \"foo2\",\n"
  3618. " \"persistent\": false,\n"
  3619. " \"space\": \"isc\"\n"
  3620. " }\n"
  3621. " ],\n"
  3622. " \"option-def\": [\n"
  3623. " {\n"
  3624. " \"array\": false,\n"
  3625. " \"code\": 222,\n"
  3626. " \"encapsulate\": \"isc\",\n"
  3627. " \"name\": \"base-option\",\n"
  3628. " \"record-types\": \"\",\n"
  3629. " \"space\": \"dhcp4\",\n"
  3630. " \"type\": \"uint8\"\n"
  3631. " },\n"
  3632. " {\n"
  3633. " \"array\": false,\n"
  3634. " \"code\": 1,\n"
  3635. " \"encapsulate\": \"\",\n"
  3636. " \"name\": \"foo\",\n"
  3637. " \"record-types\": \"\",\n"
  3638. " \"space\": \"isc\",\n"
  3639. " \"type\": \"uint32\"\n"
  3640. " },\n"
  3641. " {\n"
  3642. " \"array\": false,\n"
  3643. " \"code\": 2,\n"
  3644. " \"encapsulate\": \"\",\n"
  3645. " \"name\": \"foo2\",\n"
  3646. " \"record-types\": \"\",\n"
  3647. " \"space\": \"isc\",\n"
  3648. " \"type\": \"ipv4-address\"\n"
  3649. " }\n"
  3650. " ],\n"
  3651. " \"subnet4\": [\n"
  3652. " {\n"
  3653. " \"4o6-interface\": \"\",\n"
  3654. " \"4o6-interface-id\": \"\",\n"
  3655. " \"4o6-subnet\": \"\",\n"
  3656. " \"id\": 1,\n"
  3657. " \"interface\": \"\",\n"
  3658. " \"match-client-id\": true,\n"
  3659. " \"next-server\": \"0.0.0.0\",\n"
  3660. " \"option-data\": [ ],\n"
  3661. " \"pools\": [\n"
  3662. " {\n"
  3663. " \"option-data\": [ ],\n"
  3664. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3665. " }\n"
  3666. " ],\n"
  3667. " \"rebind-timer\": 2000,\n"
  3668. " \"relay\": {\n"
  3669. " \"ip-address\": \"0.0.0.0\"\n"
  3670. " },\n"
  3671. " \"renew-timer\": 1000,\n"
  3672. " \"reservation-mode\": \"all\",\n"
  3673. " \"reservations\": [ ],\n"
  3674. " \"subnet\": \"192.0.2.0/24\",\n"
  3675. " \"valid-lifetime\": 3000\n"
  3676. " }\n"
  3677. " ]\n"
  3678. " }\n",
  3679. // CONFIGURATION 28
  3680. "{\n"
  3681. " \"decline-probation-period\": 86400,\n"
  3682. " \"dhcp-ddns\": {\n"
  3683. " \"always-include-fqdn\": false,\n"
  3684. " \"enable-updates\": false,\n"
  3685. " \"generated-prefix\": \"myhost\",\n"
  3686. " \"max-queue-size\": 1024,\n"
  3687. " \"ncr-format\": \"JSON\",\n"
  3688. " \"ncr-protocol\": \"UDP\",\n"
  3689. " \"override-client-update\": false,\n"
  3690. " \"override-no-update\": false,\n"
  3691. " \"qualifying-suffix\": \"\",\n"
  3692. " \"replace-client-name\": \"never\",\n"
  3693. " \"sender-ip\": \"0.0.0.0\",\n"
  3694. " \"sender-port\": 0,\n"
  3695. " \"server-ip\": \"127.0.0.1\",\n"
  3696. " \"server-port\": 53001\n"
  3697. " },\n"
  3698. " \"dhcp4o6-port\": 0,\n"
  3699. " \"echo-client-id\": true,\n"
  3700. " \"expired-leases-processing\": {\n"
  3701. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3702. " \"hold-reclaimed-time\": 3600,\n"
  3703. " \"max-reclaim-leases\": 100,\n"
  3704. " \"max-reclaim-time\": 250,\n"
  3705. " \"reclaim-timer-wait-time\": 10,\n"
  3706. " \"unwarned-reclaim-cycles\": 5\n"
  3707. " },\n"
  3708. " \"hooks-libraries\": [ ],\n"
  3709. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3710. " \"interfaces-config\": {\n"
  3711. " \"interfaces\": [ \"*\" ],\n"
  3712. " \"re-detect\": false\n"
  3713. " },\n"
  3714. " \"lease-database\": {\n"
  3715. " \"type\": \"memfile\"\n"
  3716. " },\n"
  3717. " \"option-data\": [\n"
  3718. " {\n"
  3719. " \"code\": 56,\n"
  3720. " \"csv-format\": false,\n"
  3721. " \"data\": \"AB\",\n"
  3722. " \"name\": \"dhcp-message\",\n"
  3723. " \"persistent\": false,\n"
  3724. " \"space\": \"dhcp4\"\n"
  3725. " }\n"
  3726. " ],\n"
  3727. " \"option-def\": [ ],\n"
  3728. " \"subnet4\": [\n"
  3729. " {\n"
  3730. " \"4o6-interface\": \"\",\n"
  3731. " \"4o6-interface-id\": \"\",\n"
  3732. " \"4o6-subnet\": \"\",\n"
  3733. " \"id\": 1,\n"
  3734. " \"interface\": \"\",\n"
  3735. " \"match-client-id\": true,\n"
  3736. " \"next-server\": \"0.0.0.0\",\n"
  3737. " \"option-data\": [\n"
  3738. " {\n"
  3739. " \"code\": 56,\n"
  3740. " \"csv-format\": false,\n"
  3741. " \"data\": \"ABCDEF0105\",\n"
  3742. " \"name\": \"dhcp-message\",\n"
  3743. " \"persistent\": false,\n"
  3744. " \"space\": \"dhcp4\"\n"
  3745. " },\n"
  3746. " {\n"
  3747. " \"code\": 23,\n"
  3748. " \"csv-format\": false,\n"
  3749. " \"data\": \"01\",\n"
  3750. " \"name\": \"default-ip-ttl\",\n"
  3751. " \"persistent\": false,\n"
  3752. " \"space\": \"dhcp4\"\n"
  3753. " }\n"
  3754. " ],\n"
  3755. " \"pools\": [\n"
  3756. " {\n"
  3757. " \"option-data\": [ ],\n"
  3758. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3759. " }\n"
  3760. " ],\n"
  3761. " \"rebind-timer\": 2000,\n"
  3762. " \"relay\": {\n"
  3763. " \"ip-address\": \"0.0.0.0\"\n"
  3764. " },\n"
  3765. " \"renew-timer\": 1000,\n"
  3766. " \"reservation-mode\": \"all\",\n"
  3767. " \"reservations\": [ ],\n"
  3768. " \"subnet\": \"192.0.2.0/24\",\n"
  3769. " \"valid-lifetime\": 4000\n"
  3770. " }\n"
  3771. " ]\n"
  3772. " }\n",
  3773. // CONFIGURATION 29
  3774. "{\n"
  3775. " \"decline-probation-period\": 86400,\n"
  3776. " \"dhcp-ddns\": {\n"
  3777. " \"always-include-fqdn\": false,\n"
  3778. " \"enable-updates\": false,\n"
  3779. " \"generated-prefix\": \"myhost\",\n"
  3780. " \"max-queue-size\": 1024,\n"
  3781. " \"ncr-format\": \"JSON\",\n"
  3782. " \"ncr-protocol\": \"UDP\",\n"
  3783. " \"override-client-update\": false,\n"
  3784. " \"override-no-update\": false,\n"
  3785. " \"qualifying-suffix\": \"\",\n"
  3786. " \"replace-client-name\": \"never\",\n"
  3787. " \"sender-ip\": \"0.0.0.0\",\n"
  3788. " \"sender-port\": 0,\n"
  3789. " \"server-ip\": \"127.0.0.1\",\n"
  3790. " \"server-port\": 53001\n"
  3791. " },\n"
  3792. " \"dhcp4o6-port\": 0,\n"
  3793. " \"echo-client-id\": true,\n"
  3794. " \"expired-leases-processing\": {\n"
  3795. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3796. " \"hold-reclaimed-time\": 3600,\n"
  3797. " \"max-reclaim-leases\": 100,\n"
  3798. " \"max-reclaim-time\": 250,\n"
  3799. " \"reclaim-timer-wait-time\": 10,\n"
  3800. " \"unwarned-reclaim-cycles\": 5\n"
  3801. " },\n"
  3802. " \"hooks-libraries\": [ ],\n"
  3803. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3804. " \"interfaces-config\": {\n"
  3805. " \"interfaces\": [ \"*\" ],\n"
  3806. " \"re-detect\": false\n"
  3807. " },\n"
  3808. " \"lease-database\": {\n"
  3809. " \"type\": \"memfile\"\n"
  3810. " },\n"
  3811. " \"option-data\": [ ],\n"
  3812. " \"option-def\": [ ],\n"
  3813. " \"subnet4\": [\n"
  3814. " {\n"
  3815. " \"4o6-interface\": \"\",\n"
  3816. " \"4o6-interface-id\": \"\",\n"
  3817. " \"4o6-subnet\": \"\",\n"
  3818. " \"id\": 1,\n"
  3819. " \"interface\": \"\",\n"
  3820. " \"match-client-id\": true,\n"
  3821. " \"next-server\": \"0.0.0.0\",\n"
  3822. " \"option-data\": [\n"
  3823. " {\n"
  3824. " \"code\": 56,\n"
  3825. " \"csv-format\": false,\n"
  3826. " \"data\": \"0102030405060708090A\",\n"
  3827. " \"name\": \"dhcp-message\",\n"
  3828. " \"persistent\": false,\n"
  3829. " \"space\": \"dhcp4\"\n"
  3830. " }\n"
  3831. " ],\n"
  3832. " \"pools\": [\n"
  3833. " {\n"
  3834. " \"option-data\": [ ],\n"
  3835. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3836. " }\n"
  3837. " ],\n"
  3838. " \"rebind-timer\": 2000,\n"
  3839. " \"relay\": {\n"
  3840. " \"ip-address\": \"0.0.0.0\"\n"
  3841. " },\n"
  3842. " \"renew-timer\": 1000,\n"
  3843. " \"reservation-mode\": \"all\",\n"
  3844. " \"reservations\": [ ],\n"
  3845. " \"subnet\": \"192.0.2.0/24\",\n"
  3846. " \"valid-lifetime\": 4000\n"
  3847. " },\n"
  3848. " {\n"
  3849. " \"4o6-interface\": \"\",\n"
  3850. " \"4o6-interface-id\": \"\",\n"
  3851. " \"4o6-subnet\": \"\",\n"
  3852. " \"id\": 2,\n"
  3853. " \"interface\": \"\",\n"
  3854. " \"match-client-id\": true,\n"
  3855. " \"next-server\": \"0.0.0.0\",\n"
  3856. " \"option-data\": [\n"
  3857. " {\n"
  3858. " \"code\": 23,\n"
  3859. " \"csv-format\": false,\n"
  3860. " \"data\": \"FF\",\n"
  3861. " \"name\": \"default-ip-ttl\",\n"
  3862. " \"persistent\": false,\n"
  3863. " \"space\": \"dhcp4\"\n"
  3864. " }\n"
  3865. " ],\n"
  3866. " \"pools\": [\n"
  3867. " {\n"
  3868. " \"option-data\": [ ],\n"
  3869. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  3870. " }\n"
  3871. " ],\n"
  3872. " \"rebind-timer\": 2000,\n"
  3873. " \"relay\": {\n"
  3874. " \"ip-address\": \"0.0.0.0\"\n"
  3875. " },\n"
  3876. " \"renew-timer\": 1000,\n"
  3877. " \"reservation-mode\": \"all\",\n"
  3878. " \"reservations\": [ ],\n"
  3879. " \"subnet\": \"192.0.3.0/24\",\n"
  3880. " \"valid-lifetime\": 4000\n"
  3881. " }\n"
  3882. " ]\n"
  3883. " }\n",
  3884. // CONFIGURATION 30
  3885. "{\n"
  3886. " \"decline-probation-period\": 86400,\n"
  3887. " \"dhcp-ddns\": {\n"
  3888. " \"always-include-fqdn\": false,\n"
  3889. " \"enable-updates\": false,\n"
  3890. " \"generated-prefix\": \"myhost\",\n"
  3891. " \"max-queue-size\": 1024,\n"
  3892. " \"ncr-format\": \"JSON\",\n"
  3893. " \"ncr-protocol\": \"UDP\",\n"
  3894. " \"override-client-update\": false,\n"
  3895. " \"override-no-update\": false,\n"
  3896. " \"qualifying-suffix\": \"\",\n"
  3897. " \"replace-client-name\": \"never\",\n"
  3898. " \"sender-ip\": \"0.0.0.0\",\n"
  3899. " \"sender-port\": 0,\n"
  3900. " \"server-ip\": \"127.0.0.1\",\n"
  3901. " \"server-port\": 53001\n"
  3902. " },\n"
  3903. " \"dhcp4o6-port\": 0,\n"
  3904. " \"echo-client-id\": true,\n"
  3905. " \"expired-leases-processing\": {\n"
  3906. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3907. " \"hold-reclaimed-time\": 3600,\n"
  3908. " \"max-reclaim-leases\": 100,\n"
  3909. " \"max-reclaim-time\": 250,\n"
  3910. " \"reclaim-timer-wait-time\": 10,\n"
  3911. " \"unwarned-reclaim-cycles\": 5\n"
  3912. " },\n"
  3913. " \"hooks-libraries\": [ ],\n"
  3914. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  3915. " \"interfaces-config\": {\n"
  3916. " \"interfaces\": [ \"*\" ],\n"
  3917. " \"re-detect\": false\n"
  3918. " },\n"
  3919. " \"lease-database\": {\n"
  3920. " \"type\": \"memfile\"\n"
  3921. " },\n"
  3922. " \"option-data\": [ ],\n"
  3923. " \"option-def\": [ ],\n"
  3924. " \"subnet4\": [\n"
  3925. " {\n"
  3926. " \"4o6-interface\": \"\",\n"
  3927. " \"4o6-interface-id\": \"\",\n"
  3928. " \"4o6-subnet\": \"\",\n"
  3929. " \"id\": 1,\n"
  3930. " \"interface\": \"\",\n"
  3931. " \"match-client-id\": true,\n"
  3932. " \"next-server\": \"0.0.0.0\",\n"
  3933. " \"option-data\": [ ],\n"
  3934. " \"pools\": [\n"
  3935. " {\n"
  3936. " \"option-data\": [\n"
  3937. " {\n"
  3938. " \"code\": 56,\n"
  3939. " \"csv-format\": false,\n"
  3940. " \"data\": \"ABCDEF0105\",\n"
  3941. " \"name\": \"dhcp-message\",\n"
  3942. " \"persistent\": false,\n"
  3943. " \"space\": \"dhcp4\"\n"
  3944. " },\n"
  3945. " {\n"
  3946. " \"code\": 23,\n"
  3947. " \"csv-format\": false,\n"
  3948. " \"data\": \"01\",\n"
  3949. " \"name\": \"default-ip-ttl\",\n"
  3950. " \"persistent\": false,\n"
  3951. " \"space\": \"dhcp4\"\n"
  3952. " }\n"
  3953. " ],\n"
  3954. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  3955. " }\n"
  3956. " ],\n"
  3957. " \"rebind-timer\": 2000,\n"
  3958. " \"relay\": {\n"
  3959. " \"ip-address\": \"0.0.0.0\"\n"
  3960. " },\n"
  3961. " \"renew-timer\": 1000,\n"
  3962. " \"reservation-mode\": \"all\",\n"
  3963. " \"reservations\": [ ],\n"
  3964. " \"subnet\": \"192.0.2.0/24\",\n"
  3965. " \"valid-lifetime\": 4000\n"
  3966. " }\n"
  3967. " ]\n"
  3968. " }\n",
  3969. // CONFIGURATION 31
  3970. "{\n"
  3971. " \"decline-probation-period\": 86400,\n"
  3972. " \"dhcp-ddns\": {\n"
  3973. " \"always-include-fqdn\": false,\n"
  3974. " \"enable-updates\": false,\n"
  3975. " \"generated-prefix\": \"myhost\",\n"
  3976. " \"max-queue-size\": 1024,\n"
  3977. " \"ncr-format\": \"JSON\",\n"
  3978. " \"ncr-protocol\": \"UDP\",\n"
  3979. " \"override-client-update\": false,\n"
  3980. " \"override-no-update\": false,\n"
  3981. " \"qualifying-suffix\": \"\",\n"
  3982. " \"replace-client-name\": \"never\",\n"
  3983. " \"sender-ip\": \"0.0.0.0\",\n"
  3984. " \"sender-port\": 0,\n"
  3985. " \"server-ip\": \"127.0.0.1\",\n"
  3986. " \"server-port\": 53001\n"
  3987. " },\n"
  3988. " \"dhcp4o6-port\": 0,\n"
  3989. " \"echo-client-id\": true,\n"
  3990. " \"expired-leases-processing\": {\n"
  3991. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  3992. " \"hold-reclaimed-time\": 3600,\n"
  3993. " \"max-reclaim-leases\": 100,\n"
  3994. " \"max-reclaim-time\": 250,\n"
  3995. " \"reclaim-timer-wait-time\": 10,\n"
  3996. " \"unwarned-reclaim-cycles\": 5\n"
  3997. " },\n"
  3998. " \"hooks-libraries\": [ ],\n"
  3999. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4000. " \"interfaces-config\": {\n"
  4001. " \"interfaces\": [ \"*\" ],\n"
  4002. " \"re-detect\": false\n"
  4003. " },\n"
  4004. " \"lease-database\": {\n"
  4005. " \"type\": \"memfile\"\n"
  4006. " },\n"
  4007. " \"option-data\": [ ],\n"
  4008. " \"option-def\": [ ],\n"
  4009. " \"subnet4\": [\n"
  4010. " {\n"
  4011. " \"4o6-interface\": \"\",\n"
  4012. " \"4o6-interface-id\": \"\",\n"
  4013. " \"4o6-subnet\": \"\",\n"
  4014. " \"id\": 1,\n"
  4015. " \"interface\": \"\",\n"
  4016. " \"match-client-id\": true,\n"
  4017. " \"next-server\": \"0.0.0.0\",\n"
  4018. " \"option-data\": [ ],\n"
  4019. " \"pools\": [\n"
  4020. " {\n"
  4021. " \"option-data\": [\n"
  4022. " {\n"
  4023. " \"code\": 56,\n"
  4024. " \"csv-format\": false,\n"
  4025. " \"data\": \"ABCDEF0105\",\n"
  4026. " \"name\": \"dhcp-message\",\n"
  4027. " \"persistent\": false,\n"
  4028. " \"space\": \"dhcp4\"\n"
  4029. " }\n"
  4030. " ],\n"
  4031. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4032. " },\n"
  4033. " {\n"
  4034. " \"option-data\": [\n"
  4035. " {\n"
  4036. " \"code\": 23,\n"
  4037. " \"csv-format\": false,\n"
  4038. " \"data\": \"01\",\n"
  4039. " \"name\": \"default-ip-ttl\",\n"
  4040. " \"persistent\": false,\n"
  4041. " \"space\": \"dhcp4\"\n"
  4042. " }\n"
  4043. " ],\n"
  4044. " \"pool\": \"192.0.2.200-192.0.2.250\"\n"
  4045. " }\n"
  4046. " ],\n"
  4047. " \"rebind-timer\": 2000,\n"
  4048. " \"relay\": {\n"
  4049. " \"ip-address\": \"0.0.0.0\"\n"
  4050. " },\n"
  4051. " \"renew-timer\": 1000,\n"
  4052. " \"reservation-mode\": \"all\",\n"
  4053. " \"reservations\": [ ],\n"
  4054. " \"subnet\": \"192.0.2.0/24\",\n"
  4055. " \"valid-lifetime\": 4000\n"
  4056. " }\n"
  4057. " ]\n"
  4058. " }\n",
  4059. // CONFIGURATION 32
  4060. "{\n"
  4061. " \"decline-probation-period\": 86400,\n"
  4062. " \"dhcp-ddns\": {\n"
  4063. " \"always-include-fqdn\": false,\n"
  4064. " \"enable-updates\": false,\n"
  4065. " \"generated-prefix\": \"myhost\",\n"
  4066. " \"max-queue-size\": 1024,\n"
  4067. " \"ncr-format\": \"JSON\",\n"
  4068. " \"ncr-protocol\": \"UDP\",\n"
  4069. " \"override-client-update\": false,\n"
  4070. " \"override-no-update\": false,\n"
  4071. " \"qualifying-suffix\": \"\",\n"
  4072. " \"replace-client-name\": \"never\",\n"
  4073. " \"sender-ip\": \"0.0.0.0\",\n"
  4074. " \"sender-port\": 0,\n"
  4075. " \"server-ip\": \"127.0.0.1\",\n"
  4076. " \"server-port\": 53001\n"
  4077. " },\n"
  4078. " \"dhcp4o6-port\": 0,\n"
  4079. " \"echo-client-id\": true,\n"
  4080. " \"expired-leases-processing\": {\n"
  4081. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4082. " \"hold-reclaimed-time\": 3600,\n"
  4083. " \"max-reclaim-leases\": 100,\n"
  4084. " \"max-reclaim-time\": 250,\n"
  4085. " \"reclaim-timer-wait-time\": 10,\n"
  4086. " \"unwarned-reclaim-cycles\": 5\n"
  4087. " },\n"
  4088. " \"hooks-libraries\": [ ],\n"
  4089. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4090. " \"interfaces-config\": {\n"
  4091. " \"interfaces\": [ \"*\" ],\n"
  4092. " \"re-detect\": false\n"
  4093. " },\n"
  4094. " \"lease-database\": {\n"
  4095. " \"type\": \"memfile\"\n"
  4096. " },\n"
  4097. " \"option-data\": [\n"
  4098. " {\n"
  4099. " \"code\": 1,\n"
  4100. " \"csv-format\": true,\n"
  4101. " \"data\": \"1234\",\n"
  4102. " \"name\": \"foo\",\n"
  4103. " \"persistent\": false,\n"
  4104. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4105. " },\n"
  4106. " {\n"
  4107. " \"code\": 2,\n"
  4108. " \"csv-format\": true,\n"
  4109. " \"data\": \"192.168.2.1\",\n"
  4110. " \"name\": \"foo2\",\n"
  4111. " \"persistent\": false,\n"
  4112. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4113. " }\n"
  4114. " ],\n"
  4115. " \"option-def\": [\n"
  4116. " {\n"
  4117. " \"array\": false,\n"
  4118. " \"code\": 1,\n"
  4119. " \"encapsulate\": \"\",\n"
  4120. " \"name\": \"foo\",\n"
  4121. " \"record-types\": \"\",\n"
  4122. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4123. " \"type\": \"uint32\"\n"
  4124. " },\n"
  4125. " {\n"
  4126. " \"array\": false,\n"
  4127. " \"code\": 2,\n"
  4128. " \"encapsulate\": \"\",\n"
  4129. " \"name\": \"foo2\",\n"
  4130. " \"record-types\": \"\",\n"
  4131. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4132. " \"type\": \"ipv4-address\"\n"
  4133. " }\n"
  4134. " ],\n"
  4135. " \"subnet4\": [ ]\n"
  4136. " }\n",
  4137. // CONFIGURATION 33
  4138. "{\n"
  4139. " \"decline-probation-period\": 86400,\n"
  4140. " \"dhcp-ddns\": {\n"
  4141. " \"always-include-fqdn\": false,\n"
  4142. " \"enable-updates\": false,\n"
  4143. " \"generated-prefix\": \"myhost\",\n"
  4144. " \"max-queue-size\": 1024,\n"
  4145. " \"ncr-format\": \"JSON\",\n"
  4146. " \"ncr-protocol\": \"UDP\",\n"
  4147. " \"override-client-update\": false,\n"
  4148. " \"override-no-update\": false,\n"
  4149. " \"qualifying-suffix\": \"\",\n"
  4150. " \"replace-client-name\": \"never\",\n"
  4151. " \"sender-ip\": \"0.0.0.0\",\n"
  4152. " \"sender-port\": 0,\n"
  4153. " \"server-ip\": \"127.0.0.1\",\n"
  4154. " \"server-port\": 53001\n"
  4155. " },\n"
  4156. " \"dhcp4o6-port\": 0,\n"
  4157. " \"echo-client-id\": true,\n"
  4158. " \"expired-leases-processing\": {\n"
  4159. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4160. " \"hold-reclaimed-time\": 3600,\n"
  4161. " \"max-reclaim-leases\": 100,\n"
  4162. " \"max-reclaim-time\": 250,\n"
  4163. " \"reclaim-timer-wait-time\": 10,\n"
  4164. " \"unwarned-reclaim-cycles\": 5\n"
  4165. " },\n"
  4166. " \"hooks-libraries\": [ ],\n"
  4167. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4168. " \"interfaces-config\": {\n"
  4169. " \"interfaces\": [ \"*\" ],\n"
  4170. " \"re-detect\": false\n"
  4171. " },\n"
  4172. " \"lease-database\": {\n"
  4173. " \"type\": \"memfile\"\n"
  4174. " },\n"
  4175. " \"option-data\": [\n"
  4176. " {\n"
  4177. " \"code\": 43,\n"
  4178. " \"csv-format\": false,\n"
  4179. " \"data\": \"0104000004D20204C0A80201\",\n"
  4180. " \"name\": \"vendor-encapsulated-options\",\n"
  4181. " \"persistent\": false,\n"
  4182. " \"space\": \"dhcp4\"\n"
  4183. " },\n"
  4184. " {\n"
  4185. " \"code\": 1,\n"
  4186. " \"csv-format\": true,\n"
  4187. " \"data\": \"1234\",\n"
  4188. " \"name\": \"foo\",\n"
  4189. " \"persistent\": false,\n"
  4190. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4191. " },\n"
  4192. " {\n"
  4193. " \"code\": 2,\n"
  4194. " \"csv-format\": true,\n"
  4195. " \"data\": \"192.168.2.1\",\n"
  4196. " \"name\": \"foo2\",\n"
  4197. " \"persistent\": false,\n"
  4198. " \"space\": \"vendor-encapsulated-options-space\"\n"
  4199. " }\n"
  4200. " ],\n"
  4201. " \"option-def\": [\n"
  4202. " {\n"
  4203. " \"array\": false,\n"
  4204. " \"code\": 1,\n"
  4205. " \"encapsulate\": \"\",\n"
  4206. " \"name\": \"foo\",\n"
  4207. " \"record-types\": \"\",\n"
  4208. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4209. " \"type\": \"uint32\"\n"
  4210. " },\n"
  4211. " {\n"
  4212. " \"array\": false,\n"
  4213. " \"code\": 2,\n"
  4214. " \"encapsulate\": \"\",\n"
  4215. " \"name\": \"foo2\",\n"
  4216. " \"record-types\": \"\",\n"
  4217. " \"space\": \"vendor-encapsulated-options-space\",\n"
  4218. " \"type\": \"ipv4-address\"\n"
  4219. " }\n"
  4220. " ],\n"
  4221. " \"subnet4\": [\n"
  4222. " {\n"
  4223. " \"4o6-interface\": \"\",\n"
  4224. " \"4o6-interface-id\": \"\",\n"
  4225. " \"4o6-subnet\": \"\",\n"
  4226. " \"id\": 1,\n"
  4227. " \"interface\": \"\",\n"
  4228. " \"match-client-id\": true,\n"
  4229. " \"next-server\": \"0.0.0.0\",\n"
  4230. " \"option-data\": [ ],\n"
  4231. " \"pools\": [\n"
  4232. " {\n"
  4233. " \"option-data\": [ ],\n"
  4234. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4235. " }\n"
  4236. " ],\n"
  4237. " \"rebind-timer\": 2000,\n"
  4238. " \"relay\": {\n"
  4239. " \"ip-address\": \"0.0.0.0\"\n"
  4240. " },\n"
  4241. " \"renew-timer\": 1000,\n"
  4242. " \"reservation-mode\": \"all\",\n"
  4243. " \"reservations\": [ ],\n"
  4244. " \"subnet\": \"192.0.2.0/24\",\n"
  4245. " \"valid-lifetime\": 3000\n"
  4246. " }\n"
  4247. " ]\n"
  4248. " }\n",
  4249. // CONFIGURATION 34
  4250. "{\n"
  4251. " \"decline-probation-period\": 86400,\n"
  4252. " \"dhcp-ddns\": {\n"
  4253. " \"always-include-fqdn\": false,\n"
  4254. " \"enable-updates\": false,\n"
  4255. " \"generated-prefix\": \"myhost\",\n"
  4256. " \"max-queue-size\": 1024,\n"
  4257. " \"ncr-format\": \"JSON\",\n"
  4258. " \"ncr-protocol\": \"UDP\",\n"
  4259. " \"override-client-update\": false,\n"
  4260. " \"override-no-update\": false,\n"
  4261. " \"qualifying-suffix\": \"\",\n"
  4262. " \"replace-client-name\": \"never\",\n"
  4263. " \"sender-ip\": \"0.0.0.0\",\n"
  4264. " \"sender-port\": 0,\n"
  4265. " \"server-ip\": \"127.0.0.1\",\n"
  4266. " \"server-port\": 53001\n"
  4267. " },\n"
  4268. " \"dhcp4o6-port\": 0,\n"
  4269. " \"echo-client-id\": true,\n"
  4270. " \"expired-leases-processing\": {\n"
  4271. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4272. " \"hold-reclaimed-time\": 3600,\n"
  4273. " \"max-reclaim-leases\": 100,\n"
  4274. " \"max-reclaim-time\": 250,\n"
  4275. " \"reclaim-timer-wait-time\": 10,\n"
  4276. " \"unwarned-reclaim-cycles\": 5\n"
  4277. " },\n"
  4278. " \"hooks-libraries\": [ ],\n"
  4279. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4280. " \"interfaces-config\": {\n"
  4281. " \"interfaces\": [ \"*\" ],\n"
  4282. " \"re-detect\": false\n"
  4283. " },\n"
  4284. " \"lease-database\": {\n"
  4285. " \"type\": \"memfile\"\n"
  4286. " },\n"
  4287. " \"option-data\": [\n"
  4288. " {\n"
  4289. " \"code\": 100,\n"
  4290. " \"csv-format\": false,\n"
  4291. " \"data\": \"1234\",\n"
  4292. " \"persistent\": false,\n"
  4293. " \"space\": \"vendor-1234\"\n"
  4294. " },\n"
  4295. " {\n"
  4296. " \"code\": 100,\n"
  4297. " \"csv-format\": false,\n"
  4298. " \"data\": \"ABCDEF0105\",\n"
  4299. " \"persistent\": false,\n"
  4300. " \"space\": \"vendor-4491\"\n"
  4301. " }\n"
  4302. " ],\n"
  4303. " \"option-def\": [ ],\n"
  4304. " \"subnet4\": [\n"
  4305. " {\n"
  4306. " \"4o6-interface\": \"\",\n"
  4307. " \"4o6-interface-id\": \"\",\n"
  4308. " \"4o6-subnet\": \"\",\n"
  4309. " \"id\": 1,\n"
  4310. " \"interface\": \"\",\n"
  4311. " \"match-client-id\": true,\n"
  4312. " \"next-server\": \"0.0.0.0\",\n"
  4313. " \"option-data\": [ ],\n"
  4314. " \"pools\": [\n"
  4315. " {\n"
  4316. " \"option-data\": [ ],\n"
  4317. " \"pool\": \"192.0.2.1-192.0.2.10\"\n"
  4318. " }\n"
  4319. " ],\n"
  4320. " \"rebind-timer\": 2000,\n"
  4321. " \"relay\": {\n"
  4322. " \"ip-address\": \"0.0.0.0\"\n"
  4323. " },\n"
  4324. " \"renew-timer\": 1000,\n"
  4325. " \"reservation-mode\": \"all\",\n"
  4326. " \"reservations\": [ ],\n"
  4327. " \"subnet\": \"192.0.2.0/24\",\n"
  4328. " \"valid-lifetime\": 4000\n"
  4329. " }\n"
  4330. " ]\n"
  4331. " }\n",
  4332. // CONFIGURATION 35
  4333. "{\n"
  4334. " \"decline-probation-period\": 86400,\n"
  4335. " \"dhcp-ddns\": {\n"
  4336. " \"always-include-fqdn\": false,\n"
  4337. " \"enable-updates\": false,\n"
  4338. " \"generated-prefix\": \"myhost\",\n"
  4339. " \"max-queue-size\": 1024,\n"
  4340. " \"ncr-format\": \"JSON\",\n"
  4341. " \"ncr-protocol\": \"UDP\",\n"
  4342. " \"override-client-update\": false,\n"
  4343. " \"override-no-update\": false,\n"
  4344. " \"qualifying-suffix\": \"\",\n"
  4345. " \"replace-client-name\": \"never\",\n"
  4346. " \"sender-ip\": \"0.0.0.0\",\n"
  4347. " \"sender-port\": 0,\n"
  4348. " \"server-ip\": \"127.0.0.1\",\n"
  4349. " \"server-port\": 53001\n"
  4350. " },\n"
  4351. " \"dhcp4o6-port\": 0,\n"
  4352. " \"echo-client-id\": true,\n"
  4353. " \"expired-leases-processing\": {\n"
  4354. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4355. " \"hold-reclaimed-time\": 3600,\n"
  4356. " \"max-reclaim-leases\": 100,\n"
  4357. " \"max-reclaim-time\": 250,\n"
  4358. " \"reclaim-timer-wait-time\": 10,\n"
  4359. " \"unwarned-reclaim-cycles\": 5\n"
  4360. " },\n"
  4361. " \"hooks-libraries\": [ ],\n"
  4362. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4363. " \"interfaces-config\": {\n"
  4364. " \"interfaces\": [ \"*\" ],\n"
  4365. " \"re-detect\": false\n"
  4366. " },\n"
  4367. " \"lease-database\": {\n"
  4368. " \"type\": \"memfile\"\n"
  4369. " },\n"
  4370. " \"option-data\": [\n"
  4371. " {\n"
  4372. " \"code\": 100,\n"
  4373. " \"csv-format\": true,\n"
  4374. " \"data\": \"this is a string vendor-opt\",\n"
  4375. " \"name\": \"foo\",\n"
  4376. " \"persistent\": false,\n"
  4377. " \"space\": \"vendor-4491\"\n"
  4378. " }\n"
  4379. " ],\n"
  4380. " \"option-def\": [\n"
  4381. " {\n"
  4382. " \"array\": false,\n"
  4383. " \"code\": 100,\n"
  4384. " \"encapsulate\": \"\",\n"
  4385. " \"name\": \"foo\",\n"
  4386. " \"record-types\": \"\",\n"
  4387. " \"space\": \"vendor-4491\",\n"
  4388. " \"type\": \"string\"\n"
  4389. " }\n"
  4390. " ],\n"
  4391. " \"subnet4\": [\n"
  4392. " {\n"
  4393. " \"4o6-interface\": \"\",\n"
  4394. " \"4o6-interface-id\": \"\",\n"
  4395. " \"4o6-subnet\": \"\",\n"
  4396. " \"id\": 1,\n"
  4397. " \"interface\": \"\",\n"
  4398. " \"match-client-id\": true,\n"
  4399. " \"next-server\": \"0.0.0.0\",\n"
  4400. " \"option-data\": [ ],\n"
  4401. " \"pools\": [\n"
  4402. " {\n"
  4403. " \"option-data\": [ ],\n"
  4404. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4405. " }\n"
  4406. " ],\n"
  4407. " \"rebind-timer\": 2000,\n"
  4408. " \"relay\": {\n"
  4409. " \"ip-address\": \"0.0.0.0\"\n"
  4410. " },\n"
  4411. " \"renew-timer\": 1000,\n"
  4412. " \"reservation-mode\": \"all\",\n"
  4413. " \"reservations\": [ ],\n"
  4414. " \"subnet\": \"192.0.2.0/24\",\n"
  4415. " \"valid-lifetime\": 4000\n"
  4416. " }\n"
  4417. " ]\n"
  4418. " }\n",
  4419. // CONFIGURATION 36
  4420. "{\n"
  4421. " \"decline-probation-period\": 86400,\n"
  4422. " \"dhcp-ddns\": {\n"
  4423. " \"always-include-fqdn\": false,\n"
  4424. " \"enable-updates\": false,\n"
  4425. " \"generated-prefix\": \"myhost\",\n"
  4426. " \"max-queue-size\": 1024,\n"
  4427. " \"ncr-format\": \"JSON\",\n"
  4428. " \"ncr-protocol\": \"UDP\",\n"
  4429. " \"override-client-update\": false,\n"
  4430. " \"override-no-update\": false,\n"
  4431. " \"qualifying-suffix\": \"\",\n"
  4432. " \"replace-client-name\": \"never\",\n"
  4433. " \"sender-ip\": \"0.0.0.0\",\n"
  4434. " \"sender-port\": 0,\n"
  4435. " \"server-ip\": \"127.0.0.1\",\n"
  4436. " \"server-port\": 53001\n"
  4437. " },\n"
  4438. " \"dhcp4o6-port\": 0,\n"
  4439. " \"echo-client-id\": true,\n"
  4440. " \"expired-leases-processing\": {\n"
  4441. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4442. " \"hold-reclaimed-time\": 3600,\n"
  4443. " \"max-reclaim-leases\": 100,\n"
  4444. " \"max-reclaim-time\": 250,\n"
  4445. " \"reclaim-timer-wait-time\": 10,\n"
  4446. " \"unwarned-reclaim-cycles\": 5\n"
  4447. " },\n"
  4448. " \"hooks-libraries\": [ ],\n"
  4449. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4450. " \"interfaces-config\": {\n"
  4451. " \"interfaces\": [ \"eth0\", \"eth1\" ],\n"
  4452. " \"re-detect\": false\n"
  4453. " },\n"
  4454. " \"lease-database\": {\n"
  4455. " \"type\": \"memfile\"\n"
  4456. " },\n"
  4457. " \"option-data\": [ ],\n"
  4458. " \"option-def\": [ ],\n"
  4459. " \"subnet4\": [ ]\n"
  4460. " }\n",
  4461. // CONFIGURATION 37
  4462. "{\n"
  4463. " \"decline-probation-period\": 86400,\n"
  4464. " \"dhcp-ddns\": {\n"
  4465. " \"always-include-fqdn\": false,\n"
  4466. " \"enable-updates\": false,\n"
  4467. " \"generated-prefix\": \"myhost\",\n"
  4468. " \"max-queue-size\": 1024,\n"
  4469. " \"ncr-format\": \"JSON\",\n"
  4470. " \"ncr-protocol\": \"UDP\",\n"
  4471. " \"override-client-update\": false,\n"
  4472. " \"override-no-update\": false,\n"
  4473. " \"qualifying-suffix\": \"\",\n"
  4474. " \"replace-client-name\": \"never\",\n"
  4475. " \"sender-ip\": \"0.0.0.0\",\n"
  4476. " \"sender-port\": 0,\n"
  4477. " \"server-ip\": \"127.0.0.1\",\n"
  4478. " \"server-port\": 53001\n"
  4479. " },\n"
  4480. " \"dhcp4o6-port\": 0,\n"
  4481. " \"echo-client-id\": true,\n"
  4482. " \"expired-leases-processing\": {\n"
  4483. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4484. " \"hold-reclaimed-time\": 3600,\n"
  4485. " \"max-reclaim-leases\": 100,\n"
  4486. " \"max-reclaim-time\": 250,\n"
  4487. " \"reclaim-timer-wait-time\": 10,\n"
  4488. " \"unwarned-reclaim-cycles\": 5\n"
  4489. " },\n"
  4490. " \"hooks-libraries\": [ ],\n"
  4491. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4492. " \"interfaces-config\": {\n"
  4493. " \"interfaces\": [ \"*\", \"eth0\", \"eth1\" ],\n"
  4494. " \"re-detect\": false\n"
  4495. " },\n"
  4496. " \"lease-database\": {\n"
  4497. " \"type\": \"memfile\"\n"
  4498. " },\n"
  4499. " \"option-data\": [ ],\n"
  4500. " \"option-def\": [ ],\n"
  4501. " \"subnet4\": [ ]\n"
  4502. " }\n",
  4503. // CONFIGURATION 38
  4504. "{\n"
  4505. " \"decline-probation-period\": 86400,\n"
  4506. " \"dhcp-ddns\": {\n"
  4507. " \"always-include-fqdn\": true,\n"
  4508. " \"enable-updates\": true,\n"
  4509. " \"generated-prefix\": \"test.prefix\",\n"
  4510. " \"max-queue-size\": 2048,\n"
  4511. " \"ncr-format\": \"JSON\",\n"
  4512. " \"ncr-protocol\": \"UDP\",\n"
  4513. " \"override-client-update\": true,\n"
  4514. " \"override-no-update\": true,\n"
  4515. " \"qualifying-suffix\": \"test.suffix.\",\n"
  4516. " \"replace-client-name\": \"when-present\",\n"
  4517. " \"sender-ip\": \"192.168.2.2\",\n"
  4518. " \"sender-port\": 778,\n"
  4519. " \"server-ip\": \"192.168.2.1\",\n"
  4520. " \"server-port\": 777\n"
  4521. " },\n"
  4522. " \"dhcp4o6-port\": 0,\n"
  4523. " \"echo-client-id\": true,\n"
  4524. " \"expired-leases-processing\": {\n"
  4525. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4526. " \"hold-reclaimed-time\": 3600,\n"
  4527. " \"max-reclaim-leases\": 100,\n"
  4528. " \"max-reclaim-time\": 250,\n"
  4529. " \"reclaim-timer-wait-time\": 10,\n"
  4530. " \"unwarned-reclaim-cycles\": 5\n"
  4531. " },\n"
  4532. " \"hooks-libraries\": [ ],\n"
  4533. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4534. " \"interfaces-config\": {\n"
  4535. " \"interfaces\": [ \"*\" ],\n"
  4536. " \"re-detect\": false\n"
  4537. " },\n"
  4538. " \"lease-database\": {\n"
  4539. " \"type\": \"memfile\"\n"
  4540. " },\n"
  4541. " \"option-data\": [ ],\n"
  4542. " \"option-def\": [ ],\n"
  4543. " \"subnet4\": [\n"
  4544. " {\n"
  4545. " \"4o6-interface\": \"\",\n"
  4546. " \"4o6-interface-id\": \"\",\n"
  4547. " \"4o6-subnet\": \"\",\n"
  4548. " \"id\": 1,\n"
  4549. " \"interface\": \"\",\n"
  4550. " \"match-client-id\": true,\n"
  4551. " \"next-server\": \"0.0.0.0\",\n"
  4552. " \"option-data\": [ ],\n"
  4553. " \"pools\": [\n"
  4554. " {\n"
  4555. " \"option-data\": [ ],\n"
  4556. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4557. " }\n"
  4558. " ],\n"
  4559. " \"rebind-timer\": 2000,\n"
  4560. " \"relay\": {\n"
  4561. " \"ip-address\": \"0.0.0.0\"\n"
  4562. " },\n"
  4563. " \"renew-timer\": 1000,\n"
  4564. " \"reservation-mode\": \"all\",\n"
  4565. " \"reservations\": [ ],\n"
  4566. " \"subnet\": \"192.0.2.0/24\",\n"
  4567. " \"valid-lifetime\": 4000\n"
  4568. " }\n"
  4569. " ]\n"
  4570. " }\n",
  4571. // CONFIGURATION 39
  4572. "{\n"
  4573. " \"decline-probation-period\": 86400,\n"
  4574. " \"dhcp-ddns\": {\n"
  4575. " \"always-include-fqdn\": false,\n"
  4576. " \"enable-updates\": false,\n"
  4577. " \"generated-prefix\": \"myhost\",\n"
  4578. " \"max-queue-size\": 1024,\n"
  4579. " \"ncr-format\": \"JSON\",\n"
  4580. " \"ncr-protocol\": \"UDP\",\n"
  4581. " \"override-client-update\": false,\n"
  4582. " \"override-no-update\": false,\n"
  4583. " \"qualifying-suffix\": \"\",\n"
  4584. " \"replace-client-name\": \"never\",\n"
  4585. " \"sender-ip\": \"0.0.0.0\",\n"
  4586. " \"sender-port\": 0,\n"
  4587. " \"server-ip\": \"127.0.0.1\",\n"
  4588. " \"server-port\": 53001\n"
  4589. " },\n"
  4590. " \"dhcp4o6-port\": 0,\n"
  4591. " \"echo-client-id\": true,\n"
  4592. " \"expired-leases-processing\": {\n"
  4593. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4594. " \"hold-reclaimed-time\": 3600,\n"
  4595. " \"max-reclaim-leases\": 100,\n"
  4596. " \"max-reclaim-time\": 250,\n"
  4597. " \"reclaim-timer-wait-time\": 10,\n"
  4598. " \"unwarned-reclaim-cycles\": 5\n"
  4599. " },\n"
  4600. " \"hooks-libraries\": [ ],\n"
  4601. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4602. " \"interfaces-config\": {\n"
  4603. " \"interfaces\": [ \"*\" ],\n"
  4604. " \"re-detect\": false\n"
  4605. " },\n"
  4606. " \"lease-database\": {\n"
  4607. " \"type\": \"memfile\"\n"
  4608. " },\n"
  4609. " \"option-data\": [ ],\n"
  4610. " \"option-def\": [ ],\n"
  4611. " \"subnet4\": [\n"
  4612. " {\n"
  4613. " \"4o6-interface\": \"\",\n"
  4614. " \"4o6-interface-id\": \"\",\n"
  4615. " \"4o6-subnet\": \"\",\n"
  4616. " \"id\": 1,\n"
  4617. " \"interface\": \"\",\n"
  4618. " \"match-client-id\": true,\n"
  4619. " \"next-server\": \"0.0.0.0\",\n"
  4620. " \"option-data\": [ ],\n"
  4621. " \"pools\": [\n"
  4622. " {\n"
  4623. " \"option-data\": [ ],\n"
  4624. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4625. " }\n"
  4626. " ],\n"
  4627. " \"rebind-timer\": 2,\n"
  4628. " \"relay\": {\n"
  4629. " \"ip-address\": \"192.0.2.123\"\n"
  4630. " },\n"
  4631. " \"renew-timer\": 1,\n"
  4632. " \"reservation-mode\": \"all\",\n"
  4633. " \"reservations\": [ ],\n"
  4634. " \"subnet\": \"192.0.2.0/24\",\n"
  4635. " \"valid-lifetime\": 4\n"
  4636. " }\n"
  4637. " ]\n"
  4638. " }\n",
  4639. // CONFIGURATION 40
  4640. "{\n"
  4641. " \"decline-probation-period\": 86400,\n"
  4642. " \"dhcp-ddns\": {\n"
  4643. " \"always-include-fqdn\": false,\n"
  4644. " \"enable-updates\": false,\n"
  4645. " \"generated-prefix\": \"myhost\",\n"
  4646. " \"max-queue-size\": 1024,\n"
  4647. " \"ncr-format\": \"JSON\",\n"
  4648. " \"ncr-protocol\": \"UDP\",\n"
  4649. " \"override-client-update\": false,\n"
  4650. " \"override-no-update\": false,\n"
  4651. " \"qualifying-suffix\": \"\",\n"
  4652. " \"replace-client-name\": \"never\",\n"
  4653. " \"sender-ip\": \"0.0.0.0\",\n"
  4654. " \"sender-port\": 0,\n"
  4655. " \"server-ip\": \"127.0.0.1\",\n"
  4656. " \"server-port\": 53001\n"
  4657. " },\n"
  4658. " \"dhcp4o6-port\": 0,\n"
  4659. " \"echo-client-id\": true,\n"
  4660. " \"expired-leases-processing\": {\n"
  4661. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4662. " \"hold-reclaimed-time\": 3600,\n"
  4663. " \"max-reclaim-leases\": 100,\n"
  4664. " \"max-reclaim-time\": 250,\n"
  4665. " \"reclaim-timer-wait-time\": 10,\n"
  4666. " \"unwarned-reclaim-cycles\": 5\n"
  4667. " },\n"
  4668. " \"hooks-libraries\": [ ],\n"
  4669. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4670. " \"interfaces-config\": {\n"
  4671. " \"interfaces\": [ \"*\" ],\n"
  4672. " \"re-detect\": false\n"
  4673. " },\n"
  4674. " \"lease-database\": {\n"
  4675. " \"type\": \"memfile\"\n"
  4676. " },\n"
  4677. " \"option-data\": [ ],\n"
  4678. " \"option-def\": [ ],\n"
  4679. " \"subnet4\": [\n"
  4680. " {\n"
  4681. " \"4o6-interface\": \"\",\n"
  4682. " \"4o6-interface-id\": \"\",\n"
  4683. " \"4o6-subnet\": \"\",\n"
  4684. " \"id\": 123,\n"
  4685. " \"interface\": \"\",\n"
  4686. " \"match-client-id\": true,\n"
  4687. " \"next-server\": \"0.0.0.0\",\n"
  4688. " \"option-data\": [ ],\n"
  4689. " \"pools\": [\n"
  4690. " {\n"
  4691. " \"option-data\": [ ],\n"
  4692. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  4693. " }\n"
  4694. " ],\n"
  4695. " \"rebind-timer\": 2000,\n"
  4696. " \"relay\": {\n"
  4697. " \"ip-address\": \"0.0.0.0\"\n"
  4698. " },\n"
  4699. " \"renew-timer\": 1000,\n"
  4700. " \"reservation-mode\": \"all\",\n"
  4701. " \"reservations\": [ ],\n"
  4702. " \"subnet\": \"192.0.2.0/24\",\n"
  4703. " \"valid-lifetime\": 4000\n"
  4704. " },\n"
  4705. " {\n"
  4706. " \"4o6-interface\": \"\",\n"
  4707. " \"4o6-interface-id\": \"\",\n"
  4708. " \"4o6-subnet\": \"\",\n"
  4709. " \"id\": 234,\n"
  4710. " \"interface\": \"\",\n"
  4711. " \"match-client-id\": true,\n"
  4712. " \"next-server\": \"0.0.0.0\",\n"
  4713. " \"option-data\": [ ],\n"
  4714. " \"pools\": [\n"
  4715. " {\n"
  4716. " \"option-data\": [ ],\n"
  4717. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  4718. " }\n"
  4719. " ],\n"
  4720. " \"rebind-timer\": 2000,\n"
  4721. " \"relay\": {\n"
  4722. " \"ip-address\": \"0.0.0.0\"\n"
  4723. " },\n"
  4724. " \"renew-timer\": 1000,\n"
  4725. " \"reservation-mode\": \"all\",\n"
  4726. " \"reservations\": [\n"
  4727. " {\n"
  4728. " \"boot-file-name\": \"\",\n"
  4729. " \"client-classes\": [ ],\n"
  4730. " \"hostname\": \"\",\n"
  4731. " \"hw-address\": \"01:02:03:04:05:06\",\n"
  4732. " \"ip-address\": \"192.0.3.120\",\n"
  4733. " \"next-server\": \"0.0.0.0\",\n"
  4734. " \"option-data\": [\n"
  4735. " {\n"
  4736. " \"code\": 5,\n"
  4737. " \"csv-format\": true,\n"
  4738. " \"data\": \"192.0.3.95\",\n"
  4739. " \"name\": \"name-servers\",\n"
  4740. " \"persistent\": false,\n"
  4741. " \"space\": \"dhcp4\"\n"
  4742. " },\n"
  4743. " {\n"
  4744. " \"code\": 23,\n"
  4745. " \"csv-format\": true,\n"
  4746. " \"data\": \"11\",\n"
  4747. " \"name\": \"default-ip-ttl\",\n"
  4748. " \"persistent\": false,\n"
  4749. " \"space\": \"dhcp4\"\n"
  4750. " }\n"
  4751. " ],\n"
  4752. " \"server-hostname\": \"\"\n"
  4753. " },\n"
  4754. " {\n"
  4755. " \"boot-file-name\": \"\",\n"
  4756. " \"client-classes\": [ ],\n"
  4757. " \"duid\": \"01:02:03:04:05:06:07:08:09:0a\",\n"
  4758. " \"hostname\": \"\",\n"
  4759. " \"ip-address\": \"192.0.3.112\",\n"
  4760. " \"next-server\": \"0.0.0.0\",\n"
  4761. " \"option-data\": [\n"
  4762. " {\n"
  4763. " \"code\": 5,\n"
  4764. " \"csv-format\": true,\n"
  4765. " \"data\": \"192.0.3.15\",\n"
  4766. " \"name\": \"name-servers\",\n"
  4767. " \"persistent\": false,\n"
  4768. " \"space\": \"dhcp4\"\n"
  4769. " },\n"
  4770. " {\n"
  4771. " \"code\": 23,\n"
  4772. " \"csv-format\": true,\n"
  4773. " \"data\": \"32\",\n"
  4774. " \"name\": \"default-ip-ttl\",\n"
  4775. " \"persistent\": false,\n"
  4776. " \"space\": \"dhcp4\"\n"
  4777. " }\n"
  4778. " ],\n"
  4779. " \"server-hostname\": \"\"\n"
  4780. " }\n"
  4781. " ],\n"
  4782. " \"subnet\": \"192.0.3.0/24\",\n"
  4783. " \"valid-lifetime\": 4000\n"
  4784. " },\n"
  4785. " {\n"
  4786. " \"4o6-interface\": \"\",\n"
  4787. " \"4o6-interface-id\": \"\",\n"
  4788. " \"4o6-subnet\": \"\",\n"
  4789. " \"id\": 542,\n"
  4790. " \"interface\": \"\",\n"
  4791. " \"match-client-id\": true,\n"
  4792. " \"next-server\": \"0.0.0.0\",\n"
  4793. " \"option-data\": [ ],\n"
  4794. " \"pools\": [\n"
  4795. " {\n"
  4796. " \"option-data\": [ ],\n"
  4797. " \"pool\": \"192.0.4.101-192.0.4.150\"\n"
  4798. " }\n"
  4799. " ],\n"
  4800. " \"rebind-timer\": 2000,\n"
  4801. " \"relay\": {\n"
  4802. " \"ip-address\": \"0.0.0.0\"\n"
  4803. " },\n"
  4804. " \"renew-timer\": 1000,\n"
  4805. " \"reservation-mode\": \"all\",\n"
  4806. " \"reservations\": [\n"
  4807. " {\n"
  4808. " \"boot-file-name\": \"\",\n"
  4809. " \"client-classes\": [ ],\n"
  4810. " \"client-id\": \"05010203040506\",\n"
  4811. " \"hostname\": \"\",\n"
  4812. " \"ip-address\": \"192.0.4.103\",\n"
  4813. " \"next-server\": \"0.0.0.0\",\n"
  4814. " \"option-data\": [ ],\n"
  4815. " \"server-hostname\": \"\"\n"
  4816. " },\n"
  4817. " {\n"
  4818. " \"boot-file-name\": \"\",\n"
  4819. " \"circuit-id\": \"060504030201\",\n"
  4820. " \"client-classes\": [ ],\n"
  4821. " \"hostname\": \"\",\n"
  4822. " \"ip-address\": \"192.0.4.102\",\n"
  4823. " \"next-server\": \"0.0.0.0\",\n"
  4824. " \"option-data\": [ ],\n"
  4825. " \"server-hostname\": \"\"\n"
  4826. " },\n"
  4827. " {\n"
  4828. " \"boot-file-name\": \"\",\n"
  4829. " \"client-classes\": [ ],\n"
  4830. " \"duid\": \"0a:09:08:07:06:05:04:03:02:01\",\n"
  4831. " \"hostname\": \"\",\n"
  4832. " \"ip-address\": \"192.0.4.101\",\n"
  4833. " \"next-server\": \"0.0.0.0\",\n"
  4834. " \"option-data\": [\n"
  4835. " {\n"
  4836. " \"code\": 5,\n"
  4837. " \"csv-format\": true,\n"
  4838. " \"data\": \"192.0.4.11\",\n"
  4839. " \"name\": \"name-servers\",\n"
  4840. " \"persistent\": false,\n"
  4841. " \"space\": \"dhcp4\"\n"
  4842. " },\n"
  4843. " {\n"
  4844. " \"code\": 23,\n"
  4845. " \"csv-format\": true,\n"
  4846. " \"data\": \"95\",\n"
  4847. " \"name\": \"default-ip-ttl\",\n"
  4848. " \"persistent\": false,\n"
  4849. " \"space\": \"dhcp4\"\n"
  4850. " }\n"
  4851. " ],\n"
  4852. " \"server-hostname\": \"\"\n"
  4853. " }\n"
  4854. " ],\n"
  4855. " \"subnet\": \"192.0.4.0/24\",\n"
  4856. " \"valid-lifetime\": 4000\n"
  4857. " }\n"
  4858. " ]\n"
  4859. " }\n",
  4860. // CONFIGURATION 41
  4861. "{\n"
  4862. " \"decline-probation-period\": 86400,\n"
  4863. " \"dhcp-ddns\": {\n"
  4864. " \"always-include-fqdn\": false,\n"
  4865. " \"enable-updates\": false,\n"
  4866. " \"generated-prefix\": \"myhost\",\n"
  4867. " \"max-queue-size\": 1024,\n"
  4868. " \"ncr-format\": \"JSON\",\n"
  4869. " \"ncr-protocol\": \"UDP\",\n"
  4870. " \"override-client-update\": false,\n"
  4871. " \"override-no-update\": false,\n"
  4872. " \"qualifying-suffix\": \"\",\n"
  4873. " \"replace-client-name\": \"never\",\n"
  4874. " \"sender-ip\": \"0.0.0.0\",\n"
  4875. " \"sender-port\": 0,\n"
  4876. " \"server-ip\": \"127.0.0.1\",\n"
  4877. " \"server-port\": 53001\n"
  4878. " },\n"
  4879. " \"dhcp4o6-port\": 0,\n"
  4880. " \"echo-client-id\": true,\n"
  4881. " \"expired-leases-processing\": {\n"
  4882. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4883. " \"hold-reclaimed-time\": 3600,\n"
  4884. " \"max-reclaim-leases\": 100,\n"
  4885. " \"max-reclaim-time\": 250,\n"
  4886. " \"reclaim-timer-wait-time\": 10,\n"
  4887. " \"unwarned-reclaim-cycles\": 5\n"
  4888. " },\n"
  4889. " \"hooks-libraries\": [ ],\n"
  4890. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4891. " \"interfaces-config\": {\n"
  4892. " \"interfaces\": [ \"*\" ],\n"
  4893. " \"re-detect\": false\n"
  4894. " },\n"
  4895. " \"lease-database\": {\n"
  4896. " \"type\": \"memfile\"\n"
  4897. " },\n"
  4898. " \"option-data\": [ ],\n"
  4899. " \"option-def\": [\n"
  4900. " {\n"
  4901. " \"array\": false,\n"
  4902. " \"code\": 100,\n"
  4903. " \"encapsulate\": \"\",\n"
  4904. " \"name\": \"foo\",\n"
  4905. " \"record-types\": \"\",\n"
  4906. " \"space\": \"isc\",\n"
  4907. " \"type\": \"uint32\"\n"
  4908. " }\n"
  4909. " ],\n"
  4910. " \"subnet4\": [\n"
  4911. " {\n"
  4912. " \"4o6-interface\": \"\",\n"
  4913. " \"4o6-interface-id\": \"\",\n"
  4914. " \"4o6-subnet\": \"\",\n"
  4915. " \"id\": 234,\n"
  4916. " \"interface\": \"\",\n"
  4917. " \"match-client-id\": true,\n"
  4918. " \"next-server\": \"0.0.0.0\",\n"
  4919. " \"option-data\": [ ],\n"
  4920. " \"pools\": [\n"
  4921. " {\n"
  4922. " \"option-data\": [ ],\n"
  4923. " \"pool\": \"192.0.3.101-192.0.3.150\"\n"
  4924. " }\n"
  4925. " ],\n"
  4926. " \"rebind-timer\": 2000,\n"
  4927. " \"relay\": {\n"
  4928. " \"ip-address\": \"0.0.0.0\"\n"
  4929. " },\n"
  4930. " \"renew-timer\": 1000,\n"
  4931. " \"reservation-mode\": \"all\",\n"
  4932. " \"reservations\": [\n"
  4933. " {\n"
  4934. " \"boot-file-name\": \"\",\n"
  4935. " \"client-classes\": [ ],\n"
  4936. " \"duid\": \"01:02:03:04:05:06:07:08:09:0a\",\n"
  4937. " \"hostname\": \"\",\n"
  4938. " \"ip-address\": \"192.0.3.112\",\n"
  4939. " \"next-server\": \"0.0.0.0\",\n"
  4940. " \"option-data\": [\n"
  4941. " {\n"
  4942. " \"code\": 100,\n"
  4943. " \"csv-format\": true,\n"
  4944. " \"data\": \"123\",\n"
  4945. " \"name\": \"foo\",\n"
  4946. " \"persistent\": false,\n"
  4947. " \"space\": \"isc\"\n"
  4948. " }\n"
  4949. " ],\n"
  4950. " \"server-hostname\": \"\"\n"
  4951. " }\n"
  4952. " ],\n"
  4953. " \"subnet\": \"192.0.3.0/24\",\n"
  4954. " \"valid-lifetime\": 4000\n"
  4955. " }\n"
  4956. " ]\n"
  4957. " }\n",
  4958. // CONFIGURATION 42
  4959. "{\n"
  4960. " \"decline-probation-period\": 86400,\n"
  4961. " \"dhcp-ddns\": {\n"
  4962. " \"always-include-fqdn\": false,\n"
  4963. " \"enable-updates\": false,\n"
  4964. " \"generated-prefix\": \"myhost\",\n"
  4965. " \"max-queue-size\": 1024,\n"
  4966. " \"ncr-format\": \"JSON\",\n"
  4967. " \"ncr-protocol\": \"UDP\",\n"
  4968. " \"override-client-update\": false,\n"
  4969. " \"override-no-update\": false,\n"
  4970. " \"qualifying-suffix\": \"\",\n"
  4971. " \"replace-client-name\": \"never\",\n"
  4972. " \"sender-ip\": \"0.0.0.0\",\n"
  4973. " \"sender-port\": 0,\n"
  4974. " \"server-ip\": \"127.0.0.1\",\n"
  4975. " \"server-port\": 53001\n"
  4976. " },\n"
  4977. " \"dhcp4o6-port\": 0,\n"
  4978. " \"echo-client-id\": true,\n"
  4979. " \"expired-leases-processing\": {\n"
  4980. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  4981. " \"hold-reclaimed-time\": 3600,\n"
  4982. " \"max-reclaim-leases\": 100,\n"
  4983. " \"max-reclaim-time\": 250,\n"
  4984. " \"reclaim-timer-wait-time\": 10,\n"
  4985. " \"unwarned-reclaim-cycles\": 5\n"
  4986. " },\n"
  4987. " \"hooks-libraries\": [ ],\n"
  4988. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  4989. " \"interfaces-config\": {\n"
  4990. " \"interfaces\": [ ],\n"
  4991. " \"re-detect\": false\n"
  4992. " },\n"
  4993. " \"lease-database\": {\n"
  4994. " \"type\": \"memfile\"\n"
  4995. " },\n"
  4996. " \"option-data\": [ ],\n"
  4997. " \"option-def\": [ ],\n"
  4998. " \"subnet4\": [\n"
  4999. " {\n"
  5000. " \"4o6-interface\": \"\",\n"
  5001. " \"4o6-interface-id\": \"\",\n"
  5002. " \"4o6-subnet\": \"\",\n"
  5003. " \"id\": 1,\n"
  5004. " \"interface\": \"\",\n"
  5005. " \"match-client-id\": true,\n"
  5006. " \"next-server\": \"0.0.0.0\",\n"
  5007. " \"option-data\": [ ],\n"
  5008. " \"pools\": [\n"
  5009. " {\n"
  5010. " \"option-data\": [ ],\n"
  5011. " \"pool\": \"192.0.2.0/24\"\n"
  5012. " }\n"
  5013. " ],\n"
  5014. " \"rebind-timer\": 2000,\n"
  5015. " \"relay\": {\n"
  5016. " \"ip-address\": \"0.0.0.0\"\n"
  5017. " },\n"
  5018. " \"renew-timer\": 1000,\n"
  5019. " \"reservation-mode\": \"all\",\n"
  5020. " \"reservations\": [ ],\n"
  5021. " \"subnet\": \"192.0.2.0/24\",\n"
  5022. " \"valid-lifetime\": 4000\n"
  5023. " },\n"
  5024. " {\n"
  5025. " \"4o6-interface\": \"\",\n"
  5026. " \"4o6-interface-id\": \"\",\n"
  5027. " \"4o6-subnet\": \"\",\n"
  5028. " \"id\": 2,\n"
  5029. " \"interface\": \"\",\n"
  5030. " \"match-client-id\": true,\n"
  5031. " \"next-server\": \"0.0.0.0\",\n"
  5032. " \"option-data\": [ ],\n"
  5033. " \"pools\": [\n"
  5034. " {\n"
  5035. " \"option-data\": [ ],\n"
  5036. " \"pool\": \"192.0.3.0/24\"\n"
  5037. " }\n"
  5038. " ],\n"
  5039. " \"rebind-timer\": 2000,\n"
  5040. " \"relay\": {\n"
  5041. " \"ip-address\": \"0.0.0.0\"\n"
  5042. " },\n"
  5043. " \"renew-timer\": 1000,\n"
  5044. " \"reservation-mode\": \"out-of-pool\",\n"
  5045. " \"reservations\": [ ],\n"
  5046. " \"subnet\": \"192.0.3.0/24\",\n"
  5047. " \"valid-lifetime\": 4000\n"
  5048. " },\n"
  5049. " {\n"
  5050. " \"4o6-interface\": \"\",\n"
  5051. " \"4o6-interface-id\": \"\",\n"
  5052. " \"4o6-subnet\": \"\",\n"
  5053. " \"id\": 3,\n"
  5054. " \"interface\": \"\",\n"
  5055. " \"match-client-id\": true,\n"
  5056. " \"next-server\": \"0.0.0.0\",\n"
  5057. " \"option-data\": [ ],\n"
  5058. " \"pools\": [\n"
  5059. " {\n"
  5060. " \"option-data\": [ ],\n"
  5061. " \"pool\": \"192.0.4.0/24\"\n"
  5062. " }\n"
  5063. " ],\n"
  5064. " \"rebind-timer\": 2000,\n"
  5065. " \"relay\": {\n"
  5066. " \"ip-address\": \"0.0.0.0\"\n"
  5067. " },\n"
  5068. " \"renew-timer\": 1000,\n"
  5069. " \"reservation-mode\": \"disabled\",\n"
  5070. " \"reservations\": [ ],\n"
  5071. " \"subnet\": \"192.0.4.0/24\",\n"
  5072. " \"valid-lifetime\": 4000\n"
  5073. " },\n"
  5074. " {\n"
  5075. " \"4o6-interface\": \"\",\n"
  5076. " \"4o6-interface-id\": \"\",\n"
  5077. " \"4o6-subnet\": \"\",\n"
  5078. " \"id\": 4,\n"
  5079. " \"interface\": \"\",\n"
  5080. " \"match-client-id\": true,\n"
  5081. " \"next-server\": \"0.0.0.0\",\n"
  5082. " \"option-data\": [ ],\n"
  5083. " \"pools\": [\n"
  5084. " {\n"
  5085. " \"option-data\": [ ],\n"
  5086. " \"pool\": \"192.0.5.0/24\"\n"
  5087. " }\n"
  5088. " ],\n"
  5089. " \"rebind-timer\": 2000,\n"
  5090. " \"relay\": {\n"
  5091. " \"ip-address\": \"0.0.0.0\"\n"
  5092. " },\n"
  5093. " \"renew-timer\": 1000,\n"
  5094. " \"reservation-mode\": \"all\",\n"
  5095. " \"reservations\": [ ],\n"
  5096. " \"subnet\": \"192.0.5.0/24\",\n"
  5097. " \"valid-lifetime\": 4000\n"
  5098. " }\n"
  5099. " ]\n"
  5100. " }\n",
  5101. // CONFIGURATION 43
  5102. "{\n"
  5103. " \"decline-probation-period\": 86400,\n"
  5104. " \"dhcp-ddns\": {\n"
  5105. " \"always-include-fqdn\": false,\n"
  5106. " \"enable-updates\": false,\n"
  5107. " \"generated-prefix\": \"myhost\",\n"
  5108. " \"max-queue-size\": 1024,\n"
  5109. " \"ncr-format\": \"JSON\",\n"
  5110. " \"ncr-protocol\": \"UDP\",\n"
  5111. " \"override-client-update\": false,\n"
  5112. " \"override-no-update\": false,\n"
  5113. " \"qualifying-suffix\": \"\",\n"
  5114. " \"replace-client-name\": \"never\",\n"
  5115. " \"sender-ip\": \"0.0.0.0\",\n"
  5116. " \"sender-port\": 0,\n"
  5117. " \"server-ip\": \"127.0.0.1\",\n"
  5118. " \"server-port\": 53001\n"
  5119. " },\n"
  5120. " \"dhcp4o6-port\": 0,\n"
  5121. " \"echo-client-id\": true,\n"
  5122. " \"expired-leases-processing\": {\n"
  5123. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5124. " \"hold-reclaimed-time\": 3600,\n"
  5125. " \"max-reclaim-leases\": 100,\n"
  5126. " \"max-reclaim-time\": 250,\n"
  5127. " \"reclaim-timer-wait-time\": 10,\n"
  5128. " \"unwarned-reclaim-cycles\": 5\n"
  5129. " },\n"
  5130. " \"hooks-libraries\": [ ],\n"
  5131. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5132. " \"interfaces-config\": {\n"
  5133. " \"interfaces\": [ \"*\" ],\n"
  5134. " \"re-detect\": false\n"
  5135. " },\n"
  5136. " \"lease-database\": {\n"
  5137. " \"type\": \"memfile\"\n"
  5138. " },\n"
  5139. " \"option-data\": [ ],\n"
  5140. " \"option-def\": [ ],\n"
  5141. " \"subnet4\": [ ]\n"
  5142. " }\n",
  5143. // CONFIGURATION 44
  5144. "{\n"
  5145. " \"decline-probation-period\": 86400,\n"
  5146. " \"dhcp-ddns\": {\n"
  5147. " \"always-include-fqdn\": false,\n"
  5148. " \"enable-updates\": false,\n"
  5149. " \"generated-prefix\": \"myhost\",\n"
  5150. " \"max-queue-size\": 1024,\n"
  5151. " \"ncr-format\": \"JSON\",\n"
  5152. " \"ncr-protocol\": \"UDP\",\n"
  5153. " \"override-client-update\": false,\n"
  5154. " \"override-no-update\": false,\n"
  5155. " \"qualifying-suffix\": \"\",\n"
  5156. " \"replace-client-name\": \"never\",\n"
  5157. " \"sender-ip\": \"0.0.0.0\",\n"
  5158. " \"sender-port\": 0,\n"
  5159. " \"server-ip\": \"127.0.0.1\",\n"
  5160. " \"server-port\": 53001\n"
  5161. " },\n"
  5162. " \"dhcp4o6-port\": 0,\n"
  5163. " \"echo-client-id\": true,\n"
  5164. " \"expired-leases-processing\": {\n"
  5165. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5166. " \"hold-reclaimed-time\": 3600,\n"
  5167. " \"max-reclaim-leases\": 100,\n"
  5168. " \"max-reclaim-time\": 250,\n"
  5169. " \"reclaim-timer-wait-time\": 10,\n"
  5170. " \"unwarned-reclaim-cycles\": 5\n"
  5171. " },\n"
  5172. " \"hooks-libraries\": [ ],\n"
  5173. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5174. " \"interfaces-config\": {\n"
  5175. " \"interfaces\": [ \"*\" ],\n"
  5176. " \"re-detect\": false\n"
  5177. " },\n"
  5178. " \"lease-database\": {\n"
  5179. " \"type\": \"memfile\"\n"
  5180. " },\n"
  5181. " \"option-data\": [ ],\n"
  5182. " \"option-def\": [ ],\n"
  5183. " \"subnet4\": [ ]\n"
  5184. " }\n",
  5185. // CONFIGURATION 45
  5186. "{\n"
  5187. " \"decline-probation-period\": 12345,\n"
  5188. " \"dhcp-ddns\": {\n"
  5189. " \"always-include-fqdn\": false,\n"
  5190. " \"enable-updates\": false,\n"
  5191. " \"generated-prefix\": \"myhost\",\n"
  5192. " \"max-queue-size\": 1024,\n"
  5193. " \"ncr-format\": \"JSON\",\n"
  5194. " \"ncr-protocol\": \"UDP\",\n"
  5195. " \"override-client-update\": false,\n"
  5196. " \"override-no-update\": false,\n"
  5197. " \"qualifying-suffix\": \"\",\n"
  5198. " \"replace-client-name\": \"never\",\n"
  5199. " \"sender-ip\": \"0.0.0.0\",\n"
  5200. " \"sender-port\": 0,\n"
  5201. " \"server-ip\": \"127.0.0.1\",\n"
  5202. " \"server-port\": 53001\n"
  5203. " },\n"
  5204. " \"dhcp4o6-port\": 0,\n"
  5205. " \"echo-client-id\": true,\n"
  5206. " \"expired-leases-processing\": {\n"
  5207. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5208. " \"hold-reclaimed-time\": 3600,\n"
  5209. " \"max-reclaim-leases\": 100,\n"
  5210. " \"max-reclaim-time\": 250,\n"
  5211. " \"reclaim-timer-wait-time\": 10,\n"
  5212. " \"unwarned-reclaim-cycles\": 5\n"
  5213. " },\n"
  5214. " \"hooks-libraries\": [ ],\n"
  5215. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5216. " \"interfaces-config\": {\n"
  5217. " \"interfaces\": [ \"*\" ],\n"
  5218. " \"re-detect\": false\n"
  5219. " },\n"
  5220. " \"lease-database\": {\n"
  5221. " \"type\": \"memfile\"\n"
  5222. " },\n"
  5223. " \"option-data\": [ ],\n"
  5224. " \"option-def\": [ ],\n"
  5225. " \"subnet4\": [ ]\n"
  5226. " }\n",
  5227. // CONFIGURATION 46
  5228. "{\n"
  5229. " \"decline-probation-period\": 86400,\n"
  5230. " \"dhcp-ddns\": {\n"
  5231. " \"always-include-fqdn\": false,\n"
  5232. " \"enable-updates\": false,\n"
  5233. " \"generated-prefix\": \"myhost\",\n"
  5234. " \"max-queue-size\": 1024,\n"
  5235. " \"ncr-format\": \"JSON\",\n"
  5236. " \"ncr-protocol\": \"UDP\",\n"
  5237. " \"override-client-update\": false,\n"
  5238. " \"override-no-update\": false,\n"
  5239. " \"qualifying-suffix\": \"\",\n"
  5240. " \"replace-client-name\": \"never\",\n"
  5241. " \"sender-ip\": \"0.0.0.0\",\n"
  5242. " \"sender-port\": 0,\n"
  5243. " \"server-ip\": \"127.0.0.1\",\n"
  5244. " \"server-port\": 53001\n"
  5245. " },\n"
  5246. " \"dhcp4o6-port\": 0,\n"
  5247. " \"echo-client-id\": true,\n"
  5248. " \"expired-leases-processing\": {\n"
  5249. " \"flush-reclaimed-timer-wait-time\": 35,\n"
  5250. " \"hold-reclaimed-time\": 1800,\n"
  5251. " \"max-reclaim-leases\": 50,\n"
  5252. " \"max-reclaim-time\": 100,\n"
  5253. " \"reclaim-timer-wait-time\": 20,\n"
  5254. " \"unwarned-reclaim-cycles\": 10\n"
  5255. " },\n"
  5256. " \"hooks-libraries\": [ ],\n"
  5257. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5258. " \"interfaces-config\": {\n"
  5259. " \"interfaces\": [ \"*\" ],\n"
  5260. " \"re-detect\": false\n"
  5261. " },\n"
  5262. " \"lease-database\": {\n"
  5263. " \"type\": \"memfile\"\n"
  5264. " },\n"
  5265. " \"option-data\": [ ],\n"
  5266. " \"option-def\": [ ],\n"
  5267. " \"subnet4\": [ ]\n"
  5268. " }\n",
  5269. // CONFIGURATION 47
  5270. "{\n"
  5271. " \"decline-probation-period\": 86400,\n"
  5272. " \"dhcp-ddns\": {\n"
  5273. " \"always-include-fqdn\": false,\n"
  5274. " \"enable-updates\": false,\n"
  5275. " \"generated-prefix\": \"myhost\",\n"
  5276. " \"max-queue-size\": 1024,\n"
  5277. " \"ncr-format\": \"JSON\",\n"
  5278. " \"ncr-protocol\": \"UDP\",\n"
  5279. " \"override-client-update\": false,\n"
  5280. " \"override-no-update\": false,\n"
  5281. " \"qualifying-suffix\": \"\",\n"
  5282. " \"replace-client-name\": \"never\",\n"
  5283. " \"sender-ip\": \"0.0.0.0\",\n"
  5284. " \"sender-port\": 0,\n"
  5285. " \"server-ip\": \"127.0.0.1\",\n"
  5286. " \"server-port\": 53001\n"
  5287. " },\n"
  5288. " \"dhcp4o6-port\": 0,\n"
  5289. " \"echo-client-id\": true,\n"
  5290. " \"expired-leases-processing\": {\n"
  5291. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5292. " \"hold-reclaimed-time\": 3600,\n"
  5293. " \"max-reclaim-leases\": 100,\n"
  5294. " \"max-reclaim-time\": 250,\n"
  5295. " \"reclaim-timer-wait-time\": 10,\n"
  5296. " \"unwarned-reclaim-cycles\": 5\n"
  5297. " },\n"
  5298. " \"hooks-libraries\": [ ],\n"
  5299. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5300. " \"interfaces-config\": {\n"
  5301. " \"interfaces\": [ \"*\" ],\n"
  5302. " \"re-detect\": false\n"
  5303. " },\n"
  5304. " \"lease-database\": {\n"
  5305. " \"type\": \"memfile\"\n"
  5306. " },\n"
  5307. " \"option-data\": [ ],\n"
  5308. " \"option-def\": [ ],\n"
  5309. " \"subnet4\": [\n"
  5310. " {\n"
  5311. " \"4o6-interface\": \"\",\n"
  5312. " \"4o6-interface-id\": \"\",\n"
  5313. " \"4o6-subnet\": \"\",\n"
  5314. " \"id\": 1,\n"
  5315. " \"interface\": \"\",\n"
  5316. " \"match-client-id\": true,\n"
  5317. " \"next-server\": \"0.0.0.0\",\n"
  5318. " \"option-data\": [ ],\n"
  5319. " \"pools\": [\n"
  5320. " {\n"
  5321. " \"option-data\": [ ],\n"
  5322. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5323. " }\n"
  5324. " ],\n"
  5325. " \"rebind-timer\": 2000,\n"
  5326. " \"relay\": {\n"
  5327. " \"ip-address\": \"0.0.0.0\"\n"
  5328. " },\n"
  5329. " \"renew-timer\": 1000,\n"
  5330. " \"reservation-mode\": \"all\",\n"
  5331. " \"reservations\": [ ],\n"
  5332. " \"subnet\": \"192.0.2.0/24\",\n"
  5333. " \"valid-lifetime\": 4000\n"
  5334. " }\n"
  5335. " ]\n"
  5336. " }\n",
  5337. // CONFIGURATION 48
  5338. "{\n"
  5339. " \"decline-probation-period\": 86400,\n"
  5340. " \"dhcp-ddns\": {\n"
  5341. " \"always-include-fqdn\": false,\n"
  5342. " \"enable-updates\": false,\n"
  5343. " \"generated-prefix\": \"myhost\",\n"
  5344. " \"max-queue-size\": 1024,\n"
  5345. " \"ncr-format\": \"JSON\",\n"
  5346. " \"ncr-protocol\": \"UDP\",\n"
  5347. " \"override-client-update\": false,\n"
  5348. " \"override-no-update\": false,\n"
  5349. " \"qualifying-suffix\": \"\",\n"
  5350. " \"replace-client-name\": \"never\",\n"
  5351. " \"sender-ip\": \"0.0.0.0\",\n"
  5352. " \"sender-port\": 0,\n"
  5353. " \"server-ip\": \"127.0.0.1\",\n"
  5354. " \"server-port\": 53001\n"
  5355. " },\n"
  5356. " \"dhcp4o6-port\": 0,\n"
  5357. " \"echo-client-id\": true,\n"
  5358. " \"expired-leases-processing\": {\n"
  5359. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5360. " \"hold-reclaimed-time\": 3600,\n"
  5361. " \"max-reclaim-leases\": 100,\n"
  5362. " \"max-reclaim-time\": 250,\n"
  5363. " \"reclaim-timer-wait-time\": 10,\n"
  5364. " \"unwarned-reclaim-cycles\": 5\n"
  5365. " },\n"
  5366. " \"hooks-libraries\": [ ],\n"
  5367. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5368. " \"interfaces-config\": {\n"
  5369. " \"interfaces\": [ \"*\" ],\n"
  5370. " \"re-detect\": false\n"
  5371. " },\n"
  5372. " \"lease-database\": {\n"
  5373. " \"type\": \"memfile\"\n"
  5374. " },\n"
  5375. " \"option-data\": [ ],\n"
  5376. " \"option-def\": [ ],\n"
  5377. " \"subnet4\": [\n"
  5378. " {\n"
  5379. " \"4o6-interface\": \"\",\n"
  5380. " \"4o6-interface-id\": \"\",\n"
  5381. " \"4o6-subnet\": \"2001:db8::123/45\",\n"
  5382. " \"id\": 1,\n"
  5383. " \"interface\": \"\",\n"
  5384. " \"match-client-id\": true,\n"
  5385. " \"next-server\": \"0.0.0.0\",\n"
  5386. " \"option-data\": [ ],\n"
  5387. " \"pools\": [\n"
  5388. " {\n"
  5389. " \"option-data\": [ ],\n"
  5390. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5391. " }\n"
  5392. " ],\n"
  5393. " \"rebind-timer\": 2000,\n"
  5394. " \"relay\": {\n"
  5395. " \"ip-address\": \"0.0.0.0\"\n"
  5396. " },\n"
  5397. " \"renew-timer\": 1000,\n"
  5398. " \"reservation-mode\": \"all\",\n"
  5399. " \"reservations\": [ ],\n"
  5400. " \"subnet\": \"192.0.2.0/24\",\n"
  5401. " \"valid-lifetime\": 4000\n"
  5402. " }\n"
  5403. " ]\n"
  5404. " }\n",
  5405. // CONFIGURATION 49
  5406. "{\n"
  5407. " \"decline-probation-period\": 86400,\n"
  5408. " \"dhcp-ddns\": {\n"
  5409. " \"always-include-fqdn\": false,\n"
  5410. " \"enable-updates\": false,\n"
  5411. " \"generated-prefix\": \"myhost\",\n"
  5412. " \"max-queue-size\": 1024,\n"
  5413. " \"ncr-format\": \"JSON\",\n"
  5414. " \"ncr-protocol\": \"UDP\",\n"
  5415. " \"override-client-update\": false,\n"
  5416. " \"override-no-update\": false,\n"
  5417. " \"qualifying-suffix\": \"\",\n"
  5418. " \"replace-client-name\": \"never\",\n"
  5419. " \"sender-ip\": \"0.0.0.0\",\n"
  5420. " \"sender-port\": 0,\n"
  5421. " \"server-ip\": \"127.0.0.1\",\n"
  5422. " \"server-port\": 53001\n"
  5423. " },\n"
  5424. " \"dhcp4o6-port\": 0,\n"
  5425. " \"echo-client-id\": true,\n"
  5426. " \"expired-leases-processing\": {\n"
  5427. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5428. " \"hold-reclaimed-time\": 3600,\n"
  5429. " \"max-reclaim-leases\": 100,\n"
  5430. " \"max-reclaim-time\": 250,\n"
  5431. " \"reclaim-timer-wait-time\": 10,\n"
  5432. " \"unwarned-reclaim-cycles\": 5\n"
  5433. " },\n"
  5434. " \"hooks-libraries\": [ ],\n"
  5435. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5436. " \"interfaces-config\": {\n"
  5437. " \"interfaces\": [ \"*\" ],\n"
  5438. " \"re-detect\": false\n"
  5439. " },\n"
  5440. " \"lease-database\": {\n"
  5441. " \"type\": \"memfile\"\n"
  5442. " },\n"
  5443. " \"option-data\": [ ],\n"
  5444. " \"option-def\": [ ],\n"
  5445. " \"subnet4\": [\n"
  5446. " {\n"
  5447. " \"4o6-interface\": \"ethX\",\n"
  5448. " \"4o6-interface-id\": \"\",\n"
  5449. " \"4o6-subnet\": \"\",\n"
  5450. " \"id\": 1,\n"
  5451. " \"interface\": \"\",\n"
  5452. " \"match-client-id\": true,\n"
  5453. " \"next-server\": \"0.0.0.0\",\n"
  5454. " \"option-data\": [ ],\n"
  5455. " \"pools\": [\n"
  5456. " {\n"
  5457. " \"option-data\": [ ],\n"
  5458. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5459. " }\n"
  5460. " ],\n"
  5461. " \"rebind-timer\": 2000,\n"
  5462. " \"relay\": {\n"
  5463. " \"ip-address\": \"0.0.0.0\"\n"
  5464. " },\n"
  5465. " \"renew-timer\": 1000,\n"
  5466. " \"reservation-mode\": \"all\",\n"
  5467. " \"reservations\": [ ],\n"
  5468. " \"subnet\": \"192.0.2.0/24\",\n"
  5469. " \"valid-lifetime\": 4000\n"
  5470. " }\n"
  5471. " ]\n"
  5472. " }\n",
  5473. // CONFIGURATION 50
  5474. "{\n"
  5475. " \"decline-probation-period\": 86400,\n"
  5476. " \"dhcp-ddns\": {\n"
  5477. " \"always-include-fqdn\": false,\n"
  5478. " \"enable-updates\": false,\n"
  5479. " \"generated-prefix\": \"myhost\",\n"
  5480. " \"max-queue-size\": 1024,\n"
  5481. " \"ncr-format\": \"JSON\",\n"
  5482. " \"ncr-protocol\": \"UDP\",\n"
  5483. " \"override-client-update\": false,\n"
  5484. " \"override-no-update\": false,\n"
  5485. " \"qualifying-suffix\": \"\",\n"
  5486. " \"replace-client-name\": \"never\",\n"
  5487. " \"sender-ip\": \"0.0.0.0\",\n"
  5488. " \"sender-port\": 0,\n"
  5489. " \"server-ip\": \"127.0.0.1\",\n"
  5490. " \"server-port\": 53001\n"
  5491. " },\n"
  5492. " \"dhcp4o6-port\": 0,\n"
  5493. " \"echo-client-id\": true,\n"
  5494. " \"expired-leases-processing\": {\n"
  5495. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5496. " \"hold-reclaimed-time\": 3600,\n"
  5497. " \"max-reclaim-leases\": 100,\n"
  5498. " \"max-reclaim-time\": 250,\n"
  5499. " \"reclaim-timer-wait-time\": 10,\n"
  5500. " \"unwarned-reclaim-cycles\": 5\n"
  5501. " },\n"
  5502. " \"hooks-libraries\": [ ],\n"
  5503. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5504. " \"interfaces-config\": {\n"
  5505. " \"interfaces\": [ \"*\" ],\n"
  5506. " \"re-detect\": false\n"
  5507. " },\n"
  5508. " \"lease-database\": {\n"
  5509. " \"type\": \"memfile\"\n"
  5510. " },\n"
  5511. " \"option-data\": [ ],\n"
  5512. " \"option-def\": [ ],\n"
  5513. " \"subnet4\": [\n"
  5514. " {\n"
  5515. " \"4o6-interface\": \"ethX\",\n"
  5516. " \"4o6-interface-id\": \"\",\n"
  5517. " \"4o6-subnet\": \"2001:db8::543/21\",\n"
  5518. " \"id\": 1,\n"
  5519. " \"interface\": \"\",\n"
  5520. " \"match-client-id\": true,\n"
  5521. " \"next-server\": \"0.0.0.0\",\n"
  5522. " \"option-data\": [ ],\n"
  5523. " \"pools\": [\n"
  5524. " {\n"
  5525. " \"option-data\": [ ],\n"
  5526. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5527. " }\n"
  5528. " ],\n"
  5529. " \"rebind-timer\": 2000,\n"
  5530. " \"relay\": {\n"
  5531. " \"ip-address\": \"0.0.0.0\"\n"
  5532. " },\n"
  5533. " \"renew-timer\": 1000,\n"
  5534. " \"reservation-mode\": \"all\",\n"
  5535. " \"reservations\": [ ],\n"
  5536. " \"subnet\": \"192.0.2.0/24\",\n"
  5537. " \"valid-lifetime\": 4000\n"
  5538. " }\n"
  5539. " ]\n"
  5540. " }\n",
  5541. // CONFIGURATION 51
  5542. "{\n"
  5543. " \"decline-probation-period\": 86400,\n"
  5544. " \"dhcp-ddns\": {\n"
  5545. " \"always-include-fqdn\": false,\n"
  5546. " \"enable-updates\": false,\n"
  5547. " \"generated-prefix\": \"myhost\",\n"
  5548. " \"max-queue-size\": 1024,\n"
  5549. " \"ncr-format\": \"JSON\",\n"
  5550. " \"ncr-protocol\": \"UDP\",\n"
  5551. " \"override-client-update\": false,\n"
  5552. " \"override-no-update\": false,\n"
  5553. " \"qualifying-suffix\": \"\",\n"
  5554. " \"replace-client-name\": \"never\",\n"
  5555. " \"sender-ip\": \"0.0.0.0\",\n"
  5556. " \"sender-port\": 0,\n"
  5557. " \"server-ip\": \"127.0.0.1\",\n"
  5558. " \"server-port\": 53001\n"
  5559. " },\n"
  5560. " \"dhcp4o6-port\": 0,\n"
  5561. " \"echo-client-id\": true,\n"
  5562. " \"expired-leases-processing\": {\n"
  5563. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5564. " \"hold-reclaimed-time\": 3600,\n"
  5565. " \"max-reclaim-leases\": 100,\n"
  5566. " \"max-reclaim-time\": 250,\n"
  5567. " \"reclaim-timer-wait-time\": 10,\n"
  5568. " \"unwarned-reclaim-cycles\": 5\n"
  5569. " },\n"
  5570. " \"hooks-libraries\": [ ],\n"
  5571. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5572. " \"interfaces-config\": {\n"
  5573. " \"interfaces\": [ \"*\" ],\n"
  5574. " \"re-detect\": false\n"
  5575. " },\n"
  5576. " \"lease-database\": {\n"
  5577. " \"type\": \"memfile\"\n"
  5578. " },\n"
  5579. " \"option-data\": [ ],\n"
  5580. " \"option-def\": [ ],\n"
  5581. " \"subnet4\": [\n"
  5582. " {\n"
  5583. " \"4o6-interface\": \"\",\n"
  5584. " \"4o6-interface-id\": \"vlan123\",\n"
  5585. " \"4o6-subnet\": \"\",\n"
  5586. " \"id\": 1,\n"
  5587. " \"interface\": \"\",\n"
  5588. " \"match-client-id\": true,\n"
  5589. " \"next-server\": \"0.0.0.0\",\n"
  5590. " \"option-data\": [ ],\n"
  5591. " \"pools\": [\n"
  5592. " {\n"
  5593. " \"option-data\": [ ],\n"
  5594. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5595. " }\n"
  5596. " ],\n"
  5597. " \"rebind-timer\": 2000,\n"
  5598. " \"relay\": {\n"
  5599. " \"ip-address\": \"0.0.0.0\"\n"
  5600. " },\n"
  5601. " \"renew-timer\": 1000,\n"
  5602. " \"reservation-mode\": \"all\",\n"
  5603. " \"reservations\": [ ],\n"
  5604. " \"subnet\": \"192.0.2.0/24\",\n"
  5605. " \"valid-lifetime\": 4000\n"
  5606. " }\n"
  5607. " ]\n"
  5608. " }\n",
  5609. // CONFIGURATION 52
  5610. "{\n"
  5611. " \"client-classes\": [\n"
  5612. " {\n"
  5613. " \"boot-file-name\": \"\",\n"
  5614. " \"name\": \"one\",\n"
  5615. " \"next-server\": \"0.0.0.0\",\n"
  5616. " \"option-data\": [ ],\n"
  5617. " \"server-hostname\": \"\"\n"
  5618. " },\n"
  5619. " {\n"
  5620. " \"boot-file-name\": \"\",\n"
  5621. " \"name\": \"three\",\n"
  5622. " \"next-server\": \"0.0.0.0\",\n"
  5623. " \"option-data\": [ ],\n"
  5624. " \"server-hostname\": \"\"\n"
  5625. " },\n"
  5626. " {\n"
  5627. " \"boot-file-name\": \"\",\n"
  5628. " \"name\": \"two\",\n"
  5629. " \"next-server\": \"0.0.0.0\",\n"
  5630. " \"option-data\": [ ],\n"
  5631. " \"server-hostname\": \"\"\n"
  5632. " }\n"
  5633. " ],\n"
  5634. " \"decline-probation-period\": 86400,\n"
  5635. " \"dhcp-ddns\": {\n"
  5636. " \"always-include-fqdn\": false,\n"
  5637. " \"enable-updates\": false,\n"
  5638. " \"generated-prefix\": \"myhost\",\n"
  5639. " \"max-queue-size\": 1024,\n"
  5640. " \"ncr-format\": \"JSON\",\n"
  5641. " \"ncr-protocol\": \"UDP\",\n"
  5642. " \"override-client-update\": false,\n"
  5643. " \"override-no-update\": false,\n"
  5644. " \"qualifying-suffix\": \"\",\n"
  5645. " \"replace-client-name\": \"never\",\n"
  5646. " \"sender-ip\": \"0.0.0.0\",\n"
  5647. " \"sender-port\": 0,\n"
  5648. " \"server-ip\": \"127.0.0.1\",\n"
  5649. " \"server-port\": 53001\n"
  5650. " },\n"
  5651. " \"dhcp4o6-port\": 0,\n"
  5652. " \"echo-client-id\": true,\n"
  5653. " \"expired-leases-processing\": {\n"
  5654. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5655. " \"hold-reclaimed-time\": 3600,\n"
  5656. " \"max-reclaim-leases\": 100,\n"
  5657. " \"max-reclaim-time\": 250,\n"
  5658. " \"reclaim-timer-wait-time\": 10,\n"
  5659. " \"unwarned-reclaim-cycles\": 5\n"
  5660. " },\n"
  5661. " \"hooks-libraries\": [ ],\n"
  5662. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5663. " \"interfaces-config\": {\n"
  5664. " \"interfaces\": [ \"*\" ],\n"
  5665. " \"re-detect\": false\n"
  5666. " },\n"
  5667. " \"lease-database\": {\n"
  5668. " \"type\": \"memfile\"\n"
  5669. " },\n"
  5670. " \"option-data\": [ ],\n"
  5671. " \"option-def\": [ ],\n"
  5672. " \"subnet4\": [\n"
  5673. " {\n"
  5674. " \"4o6-interface\": \"\",\n"
  5675. " \"4o6-interface-id\": \"\",\n"
  5676. " \"4o6-subnet\": \"\",\n"
  5677. " \"id\": 1,\n"
  5678. " \"interface\": \"\",\n"
  5679. " \"match-client-id\": true,\n"
  5680. " \"next-server\": \"0.0.0.0\",\n"
  5681. " \"option-data\": [ ],\n"
  5682. " \"pools\": [\n"
  5683. " {\n"
  5684. " \"option-data\": [ ],\n"
  5685. " \"pool\": \"192.0.2.1-192.0.2.100\"\n"
  5686. " }\n"
  5687. " ],\n"
  5688. " \"rebind-timer\": 2000,\n"
  5689. " \"relay\": {\n"
  5690. " \"ip-address\": \"0.0.0.0\"\n"
  5691. " },\n"
  5692. " \"renew-timer\": 1000,\n"
  5693. " \"reservation-mode\": \"all\",\n"
  5694. " \"reservations\": [ ],\n"
  5695. " \"subnet\": \"192.0.2.0/24\",\n"
  5696. " \"valid-lifetime\": 4000\n"
  5697. " }\n"
  5698. " ]\n"
  5699. " }\n",
  5700. // CONFIGURATION 53
  5701. "{\n"
  5702. " \"decline-probation-period\": 86400,\n"
  5703. " \"dhcp-ddns\": {\n"
  5704. " \"always-include-fqdn\": false,\n"
  5705. " \"enable-updates\": false,\n"
  5706. " \"generated-prefix\": \"myhost\",\n"
  5707. " \"max-queue-size\": 1024,\n"
  5708. " \"ncr-format\": \"JSON\",\n"
  5709. " \"ncr-protocol\": \"UDP\",\n"
  5710. " \"override-client-update\": false,\n"
  5711. " \"override-no-update\": false,\n"
  5712. " \"qualifying-suffix\": \"\",\n"
  5713. " \"replace-client-name\": \"never\",\n"
  5714. " \"sender-ip\": \"0.0.0.0\",\n"
  5715. " \"sender-port\": 0,\n"
  5716. " \"server-ip\": \"127.0.0.1\",\n"
  5717. " \"server-port\": 53001\n"
  5718. " },\n"
  5719. " \"dhcp4o6-port\": 0,\n"
  5720. " \"echo-client-id\": true,\n"
  5721. " \"expired-leases-processing\": {\n"
  5722. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5723. " \"hold-reclaimed-time\": 3600,\n"
  5724. " \"max-reclaim-leases\": 100,\n"
  5725. " \"max-reclaim-time\": 250,\n"
  5726. " \"reclaim-timer-wait-time\": 10,\n"
  5727. " \"unwarned-reclaim-cycles\": 5\n"
  5728. " },\n"
  5729. " \"hooks-libraries\": [ ],\n"
  5730. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5731. " \"interfaces-config\": {\n"
  5732. " \"interfaces\": [ \"*\" ],\n"
  5733. " \"re-detect\": false\n"
  5734. " },\n"
  5735. " \"lease-database\": {\n"
  5736. " \"type\": \"memfile\"\n"
  5737. " },\n"
  5738. " \"option-data\": [ ],\n"
  5739. " \"option-def\": [ ],\n"
  5740. " \"subnet4\": [\n"
  5741. " {\n"
  5742. " \"4o6-interface\": \"\",\n"
  5743. " \"4o6-interface-id\": \"\",\n"
  5744. " \"4o6-subnet\": \"\",\n"
  5745. " \"id\": 1,\n"
  5746. " \"interface\": \"\",\n"
  5747. " \"match-client-id\": true,\n"
  5748. " \"next-server\": \"0.0.0.0\",\n"
  5749. " \"option-data\": [ ],\n"
  5750. " \"pools\": [\n"
  5751. " {\n"
  5752. " \"option-data\": [ ],\n"
  5753. " \"pool\": \"192.0.2.0/28\"\n"
  5754. " }\n"
  5755. " ],\n"
  5756. " \"rebind-timer\": 2000,\n"
  5757. " \"relay\": {\n"
  5758. " \"ip-address\": \"0.0.0.0\"\n"
  5759. " },\n"
  5760. " \"renew-timer\": 1000,\n"
  5761. " \"reservation-mode\": \"all\",\n"
  5762. " \"reservations\": [ ],\n"
  5763. " \"subnet\": \"192.0.2.0/24\",\n"
  5764. " \"valid-lifetime\": 4000\n"
  5765. " }\n"
  5766. " ]\n"
  5767. " }\n",
  5768. // CONFIGURATION 54
  5769. "{\n"
  5770. " \"decline-probation-period\": 86400,\n"
  5771. " \"dhcp-ddns\": {\n"
  5772. " \"always-include-fqdn\": false,\n"
  5773. " \"enable-updates\": false,\n"
  5774. " \"generated-prefix\": \"myhost\",\n"
  5775. " \"max-queue-size\": 1024,\n"
  5776. " \"ncr-format\": \"JSON\",\n"
  5777. " \"ncr-protocol\": \"UDP\",\n"
  5778. " \"override-client-update\": false,\n"
  5779. " \"override-no-update\": false,\n"
  5780. " \"qualifying-suffix\": \"\",\n"
  5781. " \"replace-client-name\": \"never\",\n"
  5782. " \"sender-ip\": \"0.0.0.0\",\n"
  5783. " \"sender-port\": 0,\n"
  5784. " \"server-ip\": \"127.0.0.1\",\n"
  5785. " \"server-port\": 53001\n"
  5786. " },\n"
  5787. " \"dhcp4o6-port\": 0,\n"
  5788. " \"echo-client-id\": true,\n"
  5789. " \"expired-leases-processing\": {\n"
  5790. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5791. " \"hold-reclaimed-time\": 3600,\n"
  5792. " \"max-reclaim-leases\": 100,\n"
  5793. " \"max-reclaim-time\": 250,\n"
  5794. " \"reclaim-timer-wait-time\": 10,\n"
  5795. " \"unwarned-reclaim-cycles\": 5\n"
  5796. " },\n"
  5797. " \"hooks-libraries\": [ ],\n"
  5798. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5799. " \"interfaces-config\": {\n"
  5800. " \"interfaces\": [ \"*\" ],\n"
  5801. " \"re-detect\": false\n"
  5802. " },\n"
  5803. " \"lease-database\": {\n"
  5804. " \"type\": \"memfile\"\n"
  5805. " },\n"
  5806. " \"option-data\": [ ],\n"
  5807. " \"option-def\": [ ],\n"
  5808. " \"subnet4\": [\n"
  5809. " {\n"
  5810. " \"4o6-interface\": \"\",\n"
  5811. " \"4o6-interface-id\": \"\",\n"
  5812. " \"4o6-subnet\": \"\",\n"
  5813. " \"id\": 1,\n"
  5814. " \"interface\": \"\",\n"
  5815. " \"match-client-id\": true,\n"
  5816. " \"next-server\": \"0.0.0.0\",\n"
  5817. " \"option-data\": [ ],\n"
  5818. " \"pools\": [\n"
  5819. " {\n"
  5820. " \"option-data\": [ ],\n"
  5821. " \"pool\": \"192.0.2.0/28\",\n"
  5822. " \"user-context\": { }\n"
  5823. " }\n"
  5824. " ],\n"
  5825. " \"rebind-timer\": 2000,\n"
  5826. " \"relay\": {\n"
  5827. " \"ip-address\": \"0.0.0.0\"\n"
  5828. " },\n"
  5829. " \"renew-timer\": 1000,\n"
  5830. " \"reservation-mode\": \"all\",\n"
  5831. " \"reservations\": [ ],\n"
  5832. " \"subnet\": \"192.0.2.0/24\",\n"
  5833. " \"valid-lifetime\": 4000\n"
  5834. " }\n"
  5835. " ]\n"
  5836. " }\n",
  5837. // CONFIGURATION 55
  5838. "{\n"
  5839. " \"decline-probation-period\": 86400,\n"
  5840. " \"dhcp-ddns\": {\n"
  5841. " \"always-include-fqdn\": false,\n"
  5842. " \"enable-updates\": false,\n"
  5843. " \"generated-prefix\": \"myhost\",\n"
  5844. " \"max-queue-size\": 1024,\n"
  5845. " \"ncr-format\": \"JSON\",\n"
  5846. " \"ncr-protocol\": \"UDP\",\n"
  5847. " \"override-client-update\": false,\n"
  5848. " \"override-no-update\": false,\n"
  5849. " \"qualifying-suffix\": \"\",\n"
  5850. " \"replace-client-name\": \"never\",\n"
  5851. " \"sender-ip\": \"0.0.0.0\",\n"
  5852. " \"sender-port\": 0,\n"
  5853. " \"server-ip\": \"127.0.0.1\",\n"
  5854. " \"server-port\": 53001\n"
  5855. " },\n"
  5856. " \"dhcp4o6-port\": 0,\n"
  5857. " \"echo-client-id\": true,\n"
  5858. " \"expired-leases-processing\": {\n"
  5859. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5860. " \"hold-reclaimed-time\": 3600,\n"
  5861. " \"max-reclaim-leases\": 100,\n"
  5862. " \"max-reclaim-time\": 250,\n"
  5863. " \"reclaim-timer-wait-time\": 10,\n"
  5864. " \"unwarned-reclaim-cycles\": 5\n"
  5865. " },\n"
  5866. " \"hooks-libraries\": [ ],\n"
  5867. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5868. " \"interfaces-config\": {\n"
  5869. " \"interfaces\": [ \"*\" ],\n"
  5870. " \"re-detect\": false\n"
  5871. " },\n"
  5872. " \"lease-database\": {\n"
  5873. " \"type\": \"memfile\"\n"
  5874. " },\n"
  5875. " \"option-data\": [ ],\n"
  5876. " \"option-def\": [ ],\n"
  5877. " \"subnet4\": [\n"
  5878. " {\n"
  5879. " \"4o6-interface\": \"\",\n"
  5880. " \"4o6-interface-id\": \"\",\n"
  5881. " \"4o6-subnet\": \"\",\n"
  5882. " \"id\": 1,\n"
  5883. " \"interface\": \"\",\n"
  5884. " \"match-client-id\": true,\n"
  5885. " \"next-server\": \"0.0.0.0\",\n"
  5886. " \"option-data\": [ ],\n"
  5887. " \"pools\": [\n"
  5888. " {\n"
  5889. " \"option-data\": [ ],\n"
  5890. " \"pool\": \"192.0.2.0/28\",\n"
  5891. " \"user-context\": {\n"
  5892. " \"bool-param\": true,\n"
  5893. " \"integer-param\": 42,\n"
  5894. " \"string-param\": \"Sagittarius\"\n"
  5895. " }\n"
  5896. " }\n"
  5897. " ],\n"
  5898. " \"rebind-timer\": 2000,\n"
  5899. " \"relay\": {\n"
  5900. " \"ip-address\": \"0.0.0.0\"\n"
  5901. " },\n"
  5902. " \"renew-timer\": 1000,\n"
  5903. " \"reservation-mode\": \"all\",\n"
  5904. " \"reservations\": [ ],\n"
  5905. " \"subnet\": \"192.0.2.0/24\",\n"
  5906. " \"valid-lifetime\": 4000\n"
  5907. " }\n"
  5908. " ]\n"
  5909. " }\n",
  5910. // CONFIGURATION 56
  5911. "{\n"
  5912. " \"decline-probation-period\": 86400,\n"
  5913. " \"dhcp-ddns\": {\n"
  5914. " \"always-include-fqdn\": false,\n"
  5915. " \"enable-updates\": false,\n"
  5916. " \"generated-prefix\": \"myhost\",\n"
  5917. " \"max-queue-size\": 1024,\n"
  5918. " \"ncr-format\": \"JSON\",\n"
  5919. " \"ncr-protocol\": \"UDP\",\n"
  5920. " \"override-client-update\": false,\n"
  5921. " \"override-no-update\": false,\n"
  5922. " \"qualifying-suffix\": \"\",\n"
  5923. " \"replace-client-name\": \"never\",\n"
  5924. " \"sender-ip\": \"0.0.0.0\",\n"
  5925. " \"sender-port\": 0,\n"
  5926. " \"server-ip\": \"127.0.0.1\",\n"
  5927. " \"server-port\": 53001\n"
  5928. " },\n"
  5929. " \"dhcp4o6-port\": 0,\n"
  5930. " \"echo-client-id\": true,\n"
  5931. " \"expired-leases-processing\": {\n"
  5932. " \"flush-reclaimed-timer-wait-time\": 25,\n"
  5933. " \"hold-reclaimed-time\": 3600,\n"
  5934. " \"max-reclaim-leases\": 100,\n"
  5935. " \"max-reclaim-time\": 250,\n"
  5936. " \"reclaim-timer-wait-time\": 10,\n"
  5937. " \"unwarned-reclaim-cycles\": 5\n"
  5938. " },\n"
  5939. " \"hooks-libraries\": [ ],\n"
  5940. " \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
  5941. " \"interfaces-config\": {\n"
  5942. " \"interfaces\": [ \"*\" ],\n"
  5943. " \"re-detect\": false\n"
  5944. " },\n"
  5945. " \"lease-database\": {\n"
  5946. " \"type\": \"memfile\"\n"
  5947. " },\n"
  5948. " \"option-data\": [ ],\n"
  5949. " \"option-def\": [ ],\n"
  5950. " \"subnet4\": [\n"
  5951. " {\n"
  5952. " \"4o6-interface\": \"\",\n"
  5953. " \"4o6-interface-id\": \"\",\n"
  5954. " \"4o6-subnet\": \"\",\n"
  5955. " \"id\": 1,\n"
  5956. " \"interface\": \"\",\n"
  5957. " \"match-client-id\": true,\n"
  5958. " \"next-server\": \"0.0.0.0\",\n"
  5959. " \"option-data\": [ ],\n"
  5960. " \"pools\": [\n"
  5961. " {\n"
  5962. " \"option-data\": [ ],\n"
  5963. " \"pool\": \"192.0.2.0/28\",\n"
  5964. " \"user-context\": {\n"
  5965. " \"bool-param\": true,\n"
  5966. " \"integer-param\": 42,\n"
  5967. " \"string-param\": \"Sagittarius\"\n"
  5968. " }\n"
  5969. " }\n"
  5970. " ],\n"
  5971. " \"rebind-timer\": 2000,\n"
  5972. " \"relay\": {\n"
  5973. " \"ip-address\": \"0.0.0.0\"\n"
  5974. " },\n"
  5975. " \"renew-timer\": 1000,\n"
  5976. " \"reservation-mode\": \"all\",\n"
  5977. " \"reservations\": [ ],\n"
  5978. " \"subnet\": \"192.0.2.0/24\",\n"
  5979. " \"valid-lifetime\": 4000\n"
  5980. " }\n"
  5981. " ]\n"
  5982. " }\n"
  5983. };
  5984. /// @brief the number of configurations
  5985. const size_t max_config_counter = sizeof(EXTRACTED_CONFIGS) / sizeof(char*);
  5986. ///@}
  5987. /// @brief the extraction counter
  5988. ///
  5989. /// < 0 means do not extract, >= 0 means extract on extractConfig() calls
  5990. /// and increment
  5991. #ifdef EXTRACT_CONFIG
  5992. int extract_count = 0;
  5993. #else
  5994. int extract_count = -1;
  5995. #endif
  5996. /// @brief the generate action
  5997. /// false means do nothing, true means unparse extracted configurations
  5998. #ifdef GENERATE_ACTION
  5999. const bool generate_action = true;
  6000. #else
  6001. const bool generate_action = false;
  6002. static_assert(max_config_counter == sizeof(UNPARSED_CONFIGS) / sizeof(char*),
  6003. "unparsed configurations must be generated");
  6004. #endif
  6005. /// @brief format and output a configuration
  6006. void
  6007. outputFormatted(const std::string& config) {
  6008. // pretty print it
  6009. ConstElementPtr json = parseJSON(config);
  6010. std::string prettier = prettyPrint(json, 4, 4);
  6011. // get it as a line array
  6012. std::list<std::string> lines;
  6013. boost::split(lines, prettier, boost::is_any_of("\n"));
  6014. // add escapes using again JSON
  6015. std::list<std::string> escapes;
  6016. while (!lines.empty()) {
  6017. const std::string& line = lines.front();
  6018. ConstElementPtr escaping = Element::create(line + "\n");
  6019. escapes.push_back(escaping->str());
  6020. lines.pop_front();
  6021. }
  6022. // output them on std::cerr
  6023. while (!escapes.empty()) {
  6024. std::cerr << "\n" << escapes.front();
  6025. escapes.pop_front();
  6026. }
  6027. }
  6028. };
  6029. namespace isc {
  6030. namespace dhcp {
  6031. namespace test {
  6032. /// @ref isc::dhcp::test::extractConfig in the header
  6033. void
  6034. extractConfig(const std::string& config) {
  6035. // skip when disable
  6036. if (extract_count < 0) {
  6037. return;
  6038. }
  6039. // mark beginning
  6040. if (extract_count == 0) {
  6041. // header (note there is no trailer)
  6042. std::cerr << "/// put this after const char* EXTRACTED_CONFIGS[] = {\n";
  6043. } else {
  6044. // end of previous configuration
  6045. std::cerr << ",\n";
  6046. }
  6047. std::cerr << " // CONFIGURATION " << extract_count;
  6048. try {
  6049. outputFormatted(config);
  6050. } catch (...) {
  6051. // mark error
  6052. std::cerr << "\n//// got an error\n";
  6053. }
  6054. ++extract_count;
  6055. }
  6056. };
  6057. };
  6058. };
  6059. namespace {
  6060. /// Test fixture class (code from Dhcp4ParserTest)
  6061. class Dhcp4GetConfigTest : public ::testing::TestWithParam<size_t> {
  6062. public:
  6063. Dhcp4GetConfigTest()
  6064. : rcode_(-1) {
  6065. // Open port 0 means to not do anything at all. We don't want to
  6066. // deal with sockets here, just check if configuration handling
  6067. // is sane.
  6068. srv_.reset(new Dhcpv4Srv(0));
  6069. // Create fresh context.
  6070. resetConfiguration();
  6071. }
  6072. ~Dhcp4GetConfigTest() {
  6073. resetConfiguration();
  6074. };
  6075. /// @brief Parse and Execute configuration
  6076. ///
  6077. /// Parses a configuration and executes a configuration of the server.
  6078. /// If the operation fails, the current test will register a failure.
  6079. ///
  6080. /// @param config Configuration to parse
  6081. /// @param operation Operation being performed. In the case of an error,
  6082. /// the error text will include the string "unable to <operation>.".
  6083. ///
  6084. /// @return true if the configuration succeeded, false if not.
  6085. bool
  6086. executeConfiguration(const std::string& config, const char* operation) {
  6087. // clear config manager
  6088. CfgMgr::instance().clear();
  6089. // enable fake network interfaces
  6090. IfaceMgrTestConfig test_config(true);
  6091. // try JSON parser
  6092. ConstElementPtr json;
  6093. try {
  6094. json = parseJSON(config);
  6095. } catch (const std::exception& ex) {
  6096. ADD_FAILURE() << "invalid JSON for " << operation
  6097. << " failed with " << ex.what()
  6098. << " on\n" << config << "\n";
  6099. return (false);
  6100. }
  6101. // try DHCP4 parser
  6102. try {
  6103. json = parseDHCP4(config, true);
  6104. } catch (...) {
  6105. ADD_FAILURE() << "parsing failed for " << operation
  6106. << " on\n" << prettyPrint(json) << "\n";
  6107. return (false);
  6108. }
  6109. // try DHCP4 configure
  6110. ConstElementPtr status;
  6111. try {
  6112. status = configureDhcp4Server(*srv_, json);
  6113. } catch (const std::exception& ex) {
  6114. ADD_FAILURE() << "configure for " << operation
  6115. << " failed with " << ex.what()
  6116. << " on\n" << prettyPrint(json) << "\n";
  6117. return (false);
  6118. }
  6119. // The status object must not be NULL
  6120. if (!status) {
  6121. ADD_FAILURE() << "configure for " << operation
  6122. << " returned null on\n"
  6123. << prettyPrint(json) << "\n";
  6124. return (false);
  6125. }
  6126. // Returned value should be 0 (configuration success)
  6127. comment_ = parseAnswer(rcode_, status);
  6128. if (rcode_ != 0) {
  6129. string reason = "";
  6130. if (comment_) {
  6131. reason = string(" (") + comment_->stringValue() + string(")");
  6132. }
  6133. ADD_FAILURE() << "configure for " << operation
  6134. << " returned error code "
  6135. << rcode_ << reason << " on\n"
  6136. << prettyPrint(json) << "\n";
  6137. return (false);
  6138. }
  6139. return (true);
  6140. }
  6141. /// @brief Reset configuration database.
  6142. ///
  6143. /// This function resets configuration data base by
  6144. /// removing all subnets and option-data. Reset must
  6145. /// be performed after each test to make sure that
  6146. /// contents of the database do not affect result of
  6147. /// subsequent tests.
  6148. void resetConfiguration() {
  6149. string config = "{"
  6150. "\"interfaces-config\": { \"interfaces\": [ \"*\" ] },"
  6151. "\"valid-lifetime\": 4000, "
  6152. "\"subnet4\": [ ], "
  6153. "\"dhcp-ddns\": { \"enable-updates\" : false }, "
  6154. "\"option-def\": [ ], "
  6155. "\"option-data\": [ ] }";
  6156. EXPECT_TRUE(executeConfiguration(config, "reset configuration"));
  6157. CfgMgr::instance().clear();
  6158. CfgMgr::instance().setFamily(AF_INET);
  6159. }
  6160. boost::scoped_ptr<Dhcpv4Srv> srv_; ///< DHCP4 server under test
  6161. int rcode_; ///< Return code from element parsing
  6162. ConstElementPtr comment_; ///< Reason for parse fail
  6163. };
  6164. /// Test a configuration
  6165. TEST_P(Dhcp4GetConfigTest, run) {
  6166. // configurations have not been extracted yet
  6167. if (max_config_counter == 0) {
  6168. return;
  6169. }
  6170. // get the index of configurations to test
  6171. size_t config_counter = GetParam();
  6172. // emit unparsed header if wanted
  6173. if ((config_counter == 0) && generate_action) {
  6174. std::cerr << "///put this after const char* UNPARSED_CONFIGS[] = {\n";
  6175. }
  6176. // get the extracted configuration
  6177. std::string config = EXTRACTED_CONFIGS[config_counter];
  6178. std::ostringstream ss;
  6179. ss << "extracted config #" << config_counter;
  6180. // execute the extracted configuration
  6181. ASSERT_TRUE(executeConfiguration(config, ss.str().c_str()));
  6182. // unparse it
  6183. ConstSrvConfigPtr extracted = CfgMgr::instance().getStagingCfg();
  6184. ConstElementPtr unparsed;
  6185. ASSERT_NO_THROW(unparsed = extracted->toElement());
  6186. ConstElementPtr dhcp;
  6187. ASSERT_NO_THROW(dhcp = unparsed->get("Dhcp4"));
  6188. ASSERT_TRUE(dhcp);
  6189. // dump if wanted else check
  6190. std::string expected;
  6191. if (generate_action) {
  6192. if (config_counter > 0) {
  6193. std::cerr << ",\n";
  6194. }
  6195. std::cerr << " // CONFIGURATION " << config_counter;
  6196. ASSERT_NO_THROW(expected = prettyPrint(dhcp));
  6197. ASSERT_NO_THROW(outputFormatted(dhcp->str()));
  6198. } else {
  6199. expected = UNPARSED_CONFIGS[config_counter];
  6200. ConstElementPtr json;
  6201. ASSERT_NO_THROW(json = parseDHCP4(expected, true));
  6202. EXPECT_TRUE(isEquivalent(dhcp, json));
  6203. std::string current = prettyPrint(dhcp, 4, 4) + "\n";
  6204. EXPECT_EQ(expected, current);
  6205. if (expected != current) {
  6206. expected = current;
  6207. }
  6208. }
  6209. // execute the dhcp configuration
  6210. ss.str("");
  6211. ss << "unparsed config #" << config_counter;
  6212. EXPECT_TRUE(executeConfiguration(expected, ss.str().c_str()));
  6213. // is it a fixed point?
  6214. ConstSrvConfigPtr extracted2 = CfgMgr::instance().getStagingCfg();
  6215. ConstElementPtr unparsed2;
  6216. ASSERT_NO_THROW(unparsed2 = extracted2->toElement());
  6217. ASSERT_TRUE(unparsed2);
  6218. EXPECT_TRUE(isEquivalent(unparsed, unparsed2));
  6219. }
  6220. /// Define the parametrized test loop
  6221. INSTANTIATE_TEST_CASE_P(Dhcp4GetConfigTest, Dhcp4GetConfigTest,
  6222. ::testing::Range(static_cast<size_t>(0), max_config_counter));
  6223. };