Merge pull request #53 from frankbb/master

literal ipv6 addresses should be enclosed by brackets
Merge pull request #54 from frankbb/master

check if IFA_F_NODAD if defined
vrrp: fix unicast handling address selection

SjonHortensius reported issue while testing unicast_peer. It wouldn't
work without adding the native_ipv6 flag. Removed this dependency !
since it not correlated with VRRP protocol version used.
vrrp: extend ip parser to support default and default6

When you are using virtual_routes you may want to use default or default6
while configuring routes. Extended parser accordingly !
vrrp: take care of label while comparing IP addresses.

Label was not taken into account while comparing 2 IP addresses, this
can lead to a non deletion while stopping daemon and some configuration
changes have been done while deamon running. This issue was reported by
Stepan Rogov.
vrrp: fix/extend gratuitous ARP handling

multiple people reported issues where MASTER didnt recover properly
after outage due to no gratuitous ARP sent. VRRP is a protocol designed
to be used between node plugged on the same layer2 in order to guarantee
link failure is directly linked to a protocol FSM handling (FAULT
transition). With current virtualization env quite every think can be
virtualized from host (VM) to network (vswitch). In some cases those
virtualized env offer a virtualized layer2 on which VRRP is plugged and
sometime forwarding or routing over this virtual path can be broken.

I extended gratuitous ARP handling in 2 ways :

(1) When a MASTER receive a higher prio advert it sends a last
    advert before transiting to BACKUP state. The immediate effect
    at remote MASTER side is to sollicite a gratuitous ARP
    broadcast.

(2) Add an optional support to periodic gratuitous ARP sending
    while in MASTER state. By default it is disabled but one
    can activate this feature by configuring keyword
    "garp_master_refresh" in seconds in vrrp_instance block
    (refer to keepalived.conf.SYNOPSIS).