<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Below is a patch for AIS to allow binding to a GRE stateless tunnel.</div><div><br></div><div>This patch has been tested and functions as it should.</div><div><br></div><div>For this to work a multicast router software package must also be used.  For testing mrouted was used.</div><div><br></div>This is from our lead developer Jim Leu (<a href="mailto:jleu@inoc.com">jleu@inoc.com</a>) I didn't want to take credit for his work:<br><br>cat openais-0.80.3-ptp.patch<br><br><br>diff -uNr openais-0.80.3/exec/totemip.c openais-0.80.3-jleu/exec/totemip.c<br>--- openais-0.80.3/exec/totemip.c<span class="Apple-tab-span" style="white-space: pre; ">        </span>2007-06-24 02:33:09.000000000 -0400<br>+++ openais-0.80.3-jleu/exec/totemip.c<span class="Apple-tab-span" style="white-space: pre; ">      </span>2008-05-08 18:33:21.000000000 -0400<br>@@ -502,6 +502,15 @@<br><span class="Apple-tab-span" style="white-space: pre; ">      </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>parse_rtattr(tb, IFA_MAX, IFA_RTA(ifa), len);<br><br><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>memcpy(ipaddr.addr, RTA_DATA(tb[IFA_ADDRESS]), TOTEMIP_ADDRLEN);<br>+<span class="Apple-tab-span" style="white-space: pre; ">      </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>/*<br>+<span class="Apple-tab-span" style="white-space: pre; ">    </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span> * For a ptp line IFA_ADDRESS is remote and IFA_LOCAL is local<br>+<span class="Apple-tab-span" style="white-space: pre; ">   </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span> * Thus for ptp IFA_ADDRESS != IFA_LOCAL.<br>+<span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span> * For broadcast links IFA_ADDRESS == IFA_LOCAL.<br>+<span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span> */<br>+<span class="Apple-tab-span" style="white-space: pre; ">      </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>if (memcmp(RTA_DATA(tb[IFA_LOCAL]), RTA_DATA(tb[IFA_ADDRESS]), TOTEMIP_ADDRLEN)) {<br>+<span class="Apple-tab-span" style="white-space: pre; ">    </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>memcpy(ipaddr.addr, RTA_DATA(tb[IFA_LOCAL]), TOTEMIP_ADDRLEN);<br>+<span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>}<br>+<br><span class="Apple-tab-span" style="white-space: pre; ">   </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>if (totemip_equal(&ipaddr, bindnet)) {<br><span class="Apple-tab-span" style="white-space: pre; ">     </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>found_if = 1;<br><span class="Apple-tab-span" style="white-space: pre; ">  </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span><span class="Apple-tab-span" style="white-space: pre; "> </span>}<br><br><br><br>Thanks,<div><br></div><div>Doug Smith</div><div><br></div><div><br></div><div><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>--</div><div>Doug Smith</div><div>System Administrator</div><div>INOC</div><div>608.663.4555 ext. 202</div><div>608.663.4558 fax</div><div><a href="mailto:dmsmith@inoc.com">dmsmith@inoc.com</a></div><div><a href="http://www.inoc.com">www.inoc.com</a></div><div><br></div><div>*** DELIVERING UPTIME ***</div><br></div></div></span><br class="Apple-interchange-newline"> </div><br></div></body></html>