<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class="">While looking at a bug report I looked at the message chain for logging the</div><div class="">cm-mac-address from a received packet.  As it didn’t get an explanation</div><div class="">then I thought adding one now might be useful both in general and for people</div><div class="">who search the archives.</div><div class=""><br class=""></div></div><div class="">For those people trying to access any option that a DHCPv6 relay has added</div><div class="">to the message you must notice that for relays V6 is a good bit different than V4.</div><div class="">In V4 a relay will simply insert any additional options in the message as sent</div><div class="">from the client.  In V6 a relay will encapsulate the client’s message into an option</div><div class="">in a new message and then add any extra items as options in the new message.</div><div class="">Additional relays can continue this type of encapsulation for up to 32 levels according</div><div class="">to the specification.</div><div class=""><br class=""></div><div class="">When you have the server attempt to access an option from the message it will look</div><div class="">for that option in the message sent from the client (the inner most encapsulation).  If</div><div class="">you wish to access an option that a V6 relay has added you need to indicate that you</div><div class="">want an option from the relays and which relay you are examining.  The v6relay() function</div><div class="">is used for this, It includes a number indicating which relay to examine</div><div class="">(1 is closest to the client).  For example:</div><div class=""><br class=""></div><div class=""><span style="font-family: arial, helvetica, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">log(info, binary-to-ascii(16, 8, ":", substring(v6relay(1, option docsis.relay-agent), 0, 6)));</span></div><div class=""><span style="font-family: arial, helvetica, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class=""><br class=""></span></div><div class=""><span style="font-family: arial, helvetica, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">would look for the docsis.relay-agent option (which you would need </span><span style="font-family: arial, helvetica, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">to define, in my</span></div><div class=""><span style="font-family: arial, helvetica, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">test this was the name I gave to option 1026) in </span><span style="font-family: arial, helvetica, sans-serif; font-size: large; background-color: rgb(255, 255, 255);" class="">the set of options added by the relay</span></div><div class=""><span style="font-family: arial, helvetica, sans-serif; font-size: large; background-color: rgb(255, 255, 255);" class="">agent closest to the client </span><span style="font-family: arial, helvetica, sans-serif; font-size: large; background-color: rgb(255, 255, 255);" class="">(the 1 in the arguments).  The rest of the command is standard.</span></div><div class=""><span style="background-color: rgb(255, 255, 255);" class=""><font face="arial, helvetica, sans-serif" size="4" class=""><br class=""></font></span></div><div class=""><span style="background-color: rgb(255, 255, 255);" class=""><font face="arial, helvetica, sans-serif" size="4" class="">There is also a construct for use with host-identifier statements.</font></span></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">The “option” portion can be replaced with “v6relopt <number> <option-name> <option-data>.</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">Again the number indicates which relay to examine for the option.</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class=""><br class=""></span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">The v6relay() statement is described in the dhcp-options man page while</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">the v6relopt is described in the dhcpd.conf man page.</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class=""><br class=""></span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">NOTE WELL: the v6relay and v6relopt features were added in 4.3.0.  They aren’t</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">available in 4.1</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class=""><br class=""></span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class="">Shawn Routhier</span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class=""><br class=""></span></font></div><div class=""><font face="arial, helvetica, sans-serif" size="4" class=""><span style="background-color: rgb(255, 255, 255);" class=""><br class=""></span></font></div><div class=""><span style="background-color: rgb(255, 255, 255);" class=""><font face="arial, helvetica, sans-serif" size="4" class=""><br class=""></font></span></div></body></html>