<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Ahoj (again) :-)<div class=""><br class=""></div><div class="">While in the process of cleaning up "ancient" configs (basically <i class="">rewriting</i> them from scratch) I came across an <i class="">odd</i><span style="font-style: normal;" class=""> discovery:</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class="">A </span><i class="">template</i><span style="font-style: normal;" class=""> definition (for a </span><i class="">kernel</i><span style="font-style: normal;" class=""> protocol) demands the specification of one (and only </span><i class="">one</i><span style="font-style: normal;" class="">) channel - which, in my case, defeats the whole purpose of having a </span><i class="">kernel template</i><span style="font-style: normal;" class=""> in the first place.</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class="">I attempted to have a template with all the "standard behaviour" I wanted (persist, metric, table #, ...) for both IPv6 and legacy-IPv4 kernel tables and then tried to apply it like so:</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div style="font-size: 13px;" class="">template kernel KERNEL {</div></div><div class=""><div style="font-size: 13px;" class="">        persist;</div></div><div class=""><div style="font-size: 13px;" class="">        learn;</div></div><div class=""><div style="font-size: 13px;" class="">        metric 20;</div></div><div class=""><div style="font-size: 13px;" class=""><br class=""></div></div><div class=""><div style="font-size: 13px;" class="">        kernel table 10;</div></div><div class=""><div style="font-size: 13px;" class="">}</div></div><div style="font-size: 13px;" class=""><br class=""></div><div style="font-size: 13px;" class=""><div class="">protocol kernel KERNEL6 from KERNEL {</div></div><div style="font-size: 13px;" class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;">  </span>ipv6;</div></div><div style="font-size: 13px;" class=""><div class="">}</div></div><div style="font-size: 13px;" class=""><br class=""></div><div style="font-size: 13px;" class=""><div class="">protocol kernel KERNEL4 from KERNEL {</div></div><div style="font-size: 13px;" class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>ipv4;</div></div><div style="font-size: 13px;" class=""><div class="">}</div></div></blockquote><div class=""><br class=""></div><div class="">... because I thought the templating mechanism was "just" some syntactic sugar, similar to an "include" statement?!</div><div class=""><br class=""></div><div class="">As the kernel template <i class="">demands</i><span style="font-style: normal;" class=""> a (single) channel statement, which could then, upon invocation, not be "negated" again, i.e., by a </span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>no ipv4;</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class="">statement I can only have </span><i class="">two</i><span style="font-style: normal;" class=""> templates - one pre-destined for IPv6 and another for IPv4.</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class="">What is the intention behind this? I do understand, that -in the end- the actual protocol defined through a template must have one (and only one in the case of a "kernel" protocol) channel definition and in my example this requirement would be fulfilled.</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class="">Thoughts? Hints?</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class="">Thanks again -</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>Clemens</span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div><div class=""><span style="font-style: normal;" class=""><br class=""></span></div></body></html>