Forum Discussion

ahmad_munzir_KS's avatar
ahmad_munzir_KS
Icon for Nimbostratus rankNimbostratus
May 17, 2017

MRF bidirectional

I'm using F5 for load balancing by GX and GY request with persistence SUBSCRIPTION-ID[0]:SUBSCRIPTION-ID-DATA[0]. When i use this custom persistence, it will cause MRF function only become one direction and if traffic coming from server it will causing looping.

 

I'm very new to iRule related to Diameter. I hoping anyone can help me with below iRule to make it become bidirectional.

 

DIAMETER::persist [new-persist-key] [bidirection]

 

My config :- [root@SN234YLNW1V0001:Active:In Sync] tmp tmsh list /ltm virtual SCE_MRF ltm virtual SCE_MRF { description testing destination 10.26.81.66:diameter ip-protocol tcp mask 255.255.255.255 profiles { SCE_router { } diameter_session_SCE { } stats { } tcp { } } source 0.0.0.0/0 translate-address enabled translate-port enabled vs-index 51 } [root@SN234YLNW1V0001:Active:In Sync] tmp tmsh list /ltm pool EC_OPENNET_POOL ltm pool EC_OPENNET_POOL { members { DRA1:diameter { address 10.26.81.30 session monitor-enabled state down } DRA2:diameter { address 10.26.81.38 session monitor-enabled state up } DRA3:diameter { address 10.26.81.46 session monitor-enabled state down } } monitor TCP-3868 }

 

1 Reply

  • Hi,

     

    the goal here is to create a new persistence record which match with the reverse connection. We should play with different commands added on 13.1 to create that persistence record.

     

    Basically you should enable MR::ignore_peer_port "true" (as the new source port should be ignored to match the persistence record) but still we have some persistence fields that will not match.

     

    So MR::connect_back_port 3868 will help you (as the server side will connect to a new VS) and MR::equivalent_transport config outbound_tc will match the profile used.

     

    you may need also MR::message route config to finish the MRF bidireccional persistence.

     

    Best regards.