convert the output in table format

Hi All,
I have a output like below values

 
val1=test.com
val2=10.26.208.11
val3=en1
val4=test-priv1.com
val5=192.168.3.4
val6=en2
val7=test-priv2.com
val8=192.168.4.4
val9=en3
val10=test-vip.com
val11=10.26.208.9
val12=$val3

I want to convet this output values into below tablular format. I have tried with echo and passing the variables but somehow the alignment is not coming properly. Pls advice how to do it ....

|--------------------------------|-------------------------------|-----------------------|----------------------|
                |Interface_Type                  |Hostname                       |IP_Address             |Interface_Name        |          
   |--------------------------------|-------------------------------|-----------------------|----------------------|
                |Public     |test.com    |10.26.208.11   |en1   |
                |--------------------------------|-------------------------------|-----------------------|----------------------|
                |Private1    |test-priv1.com   |192.168.3.4   |en2   |                
  |--------------------------------|-------------------------------|-----------------------|----------------------|
                |Priavte2    |test-priv2.com   |192.168.4.4   |en3   |                
  |--------------------------------|-------------------------------|-----------------------|----------------------|
                |VIP     |test-vip.com    |10.26.208.11   |en1   |                
  |--------------------------------|-------------------------------|-----------------------|----------------------|

Regards
Kanann

Not knowing how to deduct the interface type from your data, and leaving all fancy table formatting to you, this could be a good starting point for you:

awk 'BEGIN {FS="="; OFS="\t"; print "IF-type","hostname","ip-address","if-name"} {p=$2; getline; q=$2; getline; r=$2; print "", p, q, r}'