[SR-Users] Having kamailio bind to a VRF device

Daniel-Constantin Mierla miconda at gmail.com
Tue Sep 26 08:52:56 CEST 2017


Hello,

I haven't worked with vrf here, so no first hand experience ...

What happens if you try with next option?

listen=vrf-green:5060 advertise 2.2.2.2:5060

Cheers,
Daniel

On 25.09.17 19:10, George Diamantopoulos wrote:
> Sorry to bump this, but it would be very useful if I knew whether
> there's any point in pursuing this or not. Any hints?
>
> On 21 September 2017 at 14:06, George Diamantopoulos
> <georgediam at gmail.com <mailto:georgediam at gmail.com>> wrote:
>
>     Hello,
>
>     I have a use case where I need to have kamailio bind to a VRF
>     device. The configuration in question is similar to the example
>     below, where eth1 is a slave to the VRF-lite device:
>
>      +----------+      +-------------------+
>      |   eth0   |      |    vrf-green      |
>      | 1.1.1.1  |      |    127.0.0.1      |
>      +----------+      +-------------------+
>                                 |          
>                           +----------+     
>                           |   eth1   |   
>                           | 2.2.2.2  |  
>                           +----------+
>
>     Both the main routing table and "vrf-green" routing table have a
>     default route.
>
>     What I need to be able to do is have kamailio bind to both interfaces:
>
>     listen=eth0:5060
>     listen=vrf-green:5060
>
>     And additionally be able to use force_send_socket to select an
>     interface, for example:
>
>     force_send_socket(udp:2.2.2.2:5060 <http://2.2.2.2:5060>);
>
>     However, I can't get this to work. The above configuration fails
>     because there is no listen directive for 2.2.2.2. Also, kamailio
>     doesn't process packets received on the VRF with the above listen
>     directives, it behaves as if it doesn't listen on 2.2.2.2 indeed.
>
>     In addition using either of the below:
>
>     listen=udp:2.2.2.2:5060 <http://2.2.2.2:5060>
>     or
>     listen=eth1:5060
>
>     fails with an error upon starting kamailio.
>
>     According to the kernel documentation:
>
>     Applications that are to work within a VRF need to bind their socket to the
>     VRF device:
>
>         setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, dev, strlen(dev)+1);
>
>     or to specify the output device using cmsg and IP_PKTINFO.
>
>     The question is, is VRF useable with kamailio right now? Or is development needed? Thanks!
>
>     BR,
>
>     George
>
>
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - www.kamailioworld.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170926/4e2cb679/attachment.html>


More information about the sr-users mailing list