'destination' is the IP address of the router to which the firewall will forward traffic for the IP address you specified in the command.
'if address' is the IP address of the firewall interface through which this traffic will leave when destined to the IP address you specified in the command.
If i run the same command for different IP address it shows this output
route -n get 22.214.171.124
route to: 126.96.36.199
if address: 10.31.102.17
recvpipe sendpipe ssthresh rtt,msec mtu weight expire
0 0 0 0 1500 1 0
Need to understand why it shows gateway address here?
Does it mean that traffic to 172.16.10.220 will leave via router 192.168.10.128 via firewall inetrface IP 10.31.102.17?
What role does Gateway IP 10.31.102.18 plays here?
Oh sorry, the output does change when you have explicit routes configured. The firewall I tested on only had the 'interface routes' and the 'default' route so I didn't see this same output.
The 'destination' appears to be the broadcast address of the network-route you added. I believe if you add a host-route instead then the 'destination' will be the same as the IP address you specified in the command (with a mask of 255.255.255.255).
The 'gateway' is the IP address of the router to which the firewall will forward this traffic.
In your first output you already have an interface on the same subnet as the IP address you specified so there is no 'gateway' specified there (since the firewall will just ARP and forward the traffic to that destination IP).
Correct me if i am wrong but destination 188.8.131.52 is network address.
Broadcast address will be 184.108.40.206.
Yes, sorry, I mixed that one up, you're correct.
Many thanks for answering the question.