Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - FailOver/Load balancing within single device with 2 Links(WIFI & Ethernet): (5 Items)
   
FailOver/Load balancing within single device with 2 Links(WIFI & Ethernet)  
I am trying to implement the failover/load balancing mechanism, for the QNX device with both WIFI and Ethernet links. 
For example, if the high priority WIFI links is down or not able to transmit data, I should be able to reroute via the 
active Ethernet link. This should happen with out bring down the application’s which is currently active in 
transmission (ttcp, ftp etc)

I am trying to solve the issue by using packet filter, by rerouting the failed link route to the active link. 
           I am facing following problem in rerouting,
           -Not able to trigger a callback on link failure (ie, when ifconfig run0 down), using PFIL_IFNET flag
           -Able to trigger a callback on link failure (ie, when ifconfig run0 delete), but even after altering the 
packet header’s with active source and destination addresses, ttcp fails.

Is there any ready failover/load balancing mechanisms supported by QNX?
Any useful information on this will be helpful.  


Re: FailOver/Load balancing within single device with 2 Links(WIFI & Ethernet)  
On Mon, Jun 15, 2009 at 02:37:22AM -0400, Brabhu Hansen wrote:
> I am trying to implement the failover/load balancing mechanism, for the QNX device with both WIFI and Ethernet links. 
For example, if the high priority WIFI links is down or not able to transmit data, I should be able to reroute via the 
active Ethernet link. This should happen with out bring down the application???s which is currently active in 
transmission (ttcp, ftp etc)
> 
> I am trying to solve the issue by using packet filter, by rerouting the failed link route to the active link. 
>            I am facing following problem in rerouting,
>            -Not able to trigger a callback on link failure (ie, when ifconfig run0 down), using PFIL_IFNET flag
>            -Able to trigger a callback on link failure (ie, when ifconfig run0 delete), but even after altering the 
packet header???s with active source and destination addresses, ttcp fails.
> 
> Is there any ready failover/load balancing mechanisms supported by QNX?
> Any useful information on this will be helpful.  
> 

This is 'agr' in NetBSD:

http://netbsd.gw.com/cgi-bin/man-cgi?agr++NetBSD-current

http://en.wikipedia.org/wiki/Link_aggregation

It's not currently supported in QNX but it's come up before
so it could possibly be looked into at some point..

What's currently possible is the parsing of routing
messages on the routing socket on link / address change.
Check out 'route monitor'.

Regards,

-seanb
Re: FailOver/Load balancing within single device with 2 Links(WIFI & Ethernet)  
I tried to make use of Packet filter combined with routing monitor application. But i am getting following error,

mount: can't mount / (type io-pkt)
mount: Possible reason: No such device or address

Here i am trying mount the modified packet filter using follwing command
mount -Tio-pkt -o192.168.64.1 /lib/dll/lsm-xxx.so

The lsm-xxx.so is generated by linking statically the routing monitor API's, so can be used within packet filter hooks 
and pfil_entry()
Re: FailOver/Load balancing within single device with 2 Links(WIFI & Ethernet)  
Adding few comments for the above comment. The mount failure issue might be because of the usage of user space API's in 
kernel code.

So i am tring by have user space application monitoring the links, which update the packet filter hooks to redirect the 
packets once the link is down.

Will this approach work?

I don't need to do link aggregassion, as my requirement is to have one active link and the as passsive till the active 
link fails. Also the these links IP addresses can be under different subnet masks.
Re: FailOver/Load balancing within single device with 2 Links(WIFI & Ethernet)  
Adding few comments for the above comment. The mount failure issue might be because of the usage of user space API's in 
kernel code.

So i am tring by have user space application(similar to route monitoring) monitoring the links, which update the packet 
filter hooks via IPC calls to redirect the packets once the link is down.

Will this approach work?

I don't need to do link aggregassion, as my requirement is to have one active link and all other as passsive till the 
active link fails/slows down in performance. Also the these links IP addresses can be under different subnet masks.