<div dir="ltr"><div>Hi Bogdan,<br><br>Thanks for your reply. The feature of setting the probe interface for DR would be great. In the meantime, I studied the exact behavior of the IPaddr2 resource agent a bit more. It turns out it uses iproute2 to bind the address. The VIP is added as a secondary IP address to the interface - no wonder the kernel picks the primary. I will see if I can modify the resource agent a bit so it will add the VIP as the primary IP (swap the IP addresses round). That way, the mhomed=yes option will work. I will report back my findings.<br>
<br>Thanks,<br><br></div>Remco.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 1, 2013 at 12:27 PM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div text="#000000" bgcolor="#ffffff">
    <tt>Hello Remco,<br>
      <br>
      In mhomed, yes you let the kernel to pick the source IP based on
      the routing table - so this approach delegate the logic from
      OpenSIPS to the kernel. And it is up to ho well the network part
      is set.<br>
      <br>
      In the future I would like to add to the DR module the possibility
      to set the probing interface (as you have now in the dispatcher
      module). For now, what you can do is to use the local_route to
      catch the DR pings and use force_send_socket() to change the
      outgoing interface.<br>
      <br>
      Best regards,<br>
    </tt>
    <pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre><div><div class="h5">
    <br>
    On 11/01/2013 10:39 AM, Remco . wrote:
    </div></div><blockquote type="cite"><div><div class="h5">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>Hi all,<br>
                <br>
              </div>
              I have a clustered OpenSIPS setup (using corosync with a
              virtual IP address). This has been working great over the
              last couple of years. I now want to add an extra IP
              address to the boxes, again floating a VIP over these
              interfaces. These interfaces will be used to communicate
              with PSTN gateways. I noticed however upon enabling these
              interfaces, the drouting module starts to ping the
              gateways using the wrong source address, i.e<br>
              <br>
            </div>
            1.1.1.1 = VIP on eth0<br>
          </div>
          2.2.2.2 = VIP on eth1<br>
          <br>
        </div>
        OpenSIPS is configured to listen on the the two VIPs with a
        listen directive.<br>
        <div><br>
          According to the kernel&#39;s routing table, it should use 2.2.2.2
          but it uses 1.1.1.1 which results in failure. As I understood,
          mhomed=yes should achieve just this behavior by asking the
          kernel for the appropriate source address on sending out a
          packet. However, when I enable the mhomed option, OpenSIPS
          starts to complain about not having a socket to send out the
          packets. I assume this is caused by the kernel returning the
          real IP from the interfaces (first) instead of the VIPs. <br>
          <br>
        </div>
        <div>Just because of the dynamic nature of the interface
          selection, I won&#39;t be able to use force_send_socket(). <br>
          <br>
        </div>
        <div>I know this question has come up on the list on several
          occasions, but nothing recent and I was still wondering if
          someone has a workaround or solution for this. I can imagine
          when using OpenSIPS as a load-balancer with two interfaces (in
          and out) you might encounter this problem as well if you try
          to add high availability (in which you often cannot avoid the
          Virtual IP scenario).<br>
          <br>
        </div>
        <div>Thanks,<br>
        </div>
        <div>Remco.<br>
        </div>
      </div>
      </div></div><pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
  </div>

</blockquote></div><br></div>