Purpose: Print 'vhca id' of the mellanox devices (CX5) from a VM

Note: The Mellanox macro/data structure is modified from UEK7 and UEK8.
Hence in UEK7 and UEK8, you need to pass the argument '-D uek7' and ' -D UEK8'
respectively.
For UEK5 and UEK6, no argument is required

command, arguments:
1) ./mlx_vhcaid.d -D uek8  (for UEK8)
2) ./mlx_vhcaid.d -D uek7  (for UEK7)
3) ./mlx_vhcaid.d (for UEK5,UEK6)


Output format: s.no) ip_addr=<ip> vhca_id=<id> name=<dev_name> bdf=<pci_id>

Sample output:

 uek7:

# ./mlx_vhcaid.d -D uek7
1) ip_addr=192.168.50.186 vhca_id=9 name=mlx5_0 bdf=0000:08:00.0
2) ip_addr=192.168.51.186 vhca_id=138 name=mlx5_1 bdf=0000:09:00.0

===============================
Number of devices: 2
===============================


-> If a wrong argument is passed, the script would fail with an error:

# ./mlx_vhcaid.d -D uek7
dtrace: failed to compile script ./mlx_vhcaid.d: line 81: hca is not a member of struct

