作者:张华 发表于:2015-12-09
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
(http://blog.csdn.net/quqi99 )
neutron vrrp ha still do not support conntrack feature now.
1, Setting up test environment
# bzr branch lp:~openstack-charmers/+junk/openstack-charm-testing
juju destroy-environment --force zhhuabj
juju switch zhhuabj && juju bootstrap
juju-deployer -c ./next.yaml -d trusty-kilo
juju add-unit neutron-gateway
juju set neutron-api overlay-network-type=vxlan
juju set neutron-api l2-population=false enable-l3ha=true
./configure #edit script to use vxlan
source ./novarc
neutron net-list && neutron router-list
nova boot --image trusty --nic net-id=98e10e32-13eb-48ee-b265-4ae0e449b6e5 --flavor 2 i1
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
nova floating-ip-create
nova floating-ip-associate i1 10.5.150.1
Some important configurations in neutron.conf are as below:
l3_ha = True
max_l3_agents_per_router = 2
min_l3_agents_per_router = 2
allow_automatic_l3agent_failover = False
2, Future Work & Limitations
http://assafmuller.com/2014/08/16/layer-3-high-availability/
http://blog.aaronorosen.com/implementing-high-availability-instances-with-neutron-using-vrrp/
- TCP connection tracking – With the current implementation, TCP sessions are broken on failover. The idea is to use conntrackd in order to replicate the session states across HA routers, so that when the failover finishes, TCP sessions will continue where they left off.
- Where is the master instance hosted? As it is now it is impossible for the admin to know which network node is hosting the master instance of a HA router. The plan is for the agents to report this information and for the server to expose it via the API.
- Evacuating an agent – Ideally bringing down a node for maintenance should cause all of the HA router instances on said node to relinquish their master states, speeding up the failover process.
- Notifying L2pop of VIP movements – Consider the IP/MAC of the router on a tenant network. Only the master instance will actually have the IP configured, but the same Neutron port and same MAC will show up on all participating network nodes. This might have adverse effects on the L2pop mechanism driver, as it expects a MAC address in a single location in the network. The plan to solve this deficiency is to send an RPC message from the agent whenever it detects a VRRP state change, so that when a router becomes the master, the controller is notified, which can then update the L2pop state.
- FW, VPN and LB as a service integration. Both DVR and L3 HA have issues integrating with the advanced services, and a more serious look will be taken during the Kilo cycle.
- One HA network per tenant. This implies a limit of 255 HA routers per tenant, as each router takes up a VRID, and the VRRP protocol allows 255 distinct VRID values in a single broadcast domain.
3, Test steps and data
[email protected]:~/openstack-charm-testing$ neutron net-list
+--------------------------------------+----------------------------------------------------+-------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+----------------------------------------------------+-------------------------------------------------------+
| 70773c83-08fe-4efe-b601-4f04522d867f | ext_net | 6aed68fb-be4a-4a33-b53e-c2b742ac9985 10.5.0.0/16 |
| 98e10e32-13eb-48ee-b265-4ae0e449b6e5 | private | b6afcd08-f3b6-4224-a125-3befa4b34a63 192.168.21.0/24 |
| bc699825-19e1-4bf6-a0cf-fe90251ad391 | HA network tenant b31bb0f325fd4ec291a5a65d3dc11a63 | 20173269-0eb4-4f3f-9557-807c69f6e258 169.254.192.0/18 |
+--------------------------------------+----------------------------------------------------+-------------------------------------------------------+
[email protected]:~/openstack-charm-testing$ neutron router-list
+--------------------------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | name | external_gateway_info |
+--------------------------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| dd74a4c6-8320-40d6-b3b1-232e578cb6c7 | provider-router | {"network_id": "70773c83-08fe-4efe-b601-4f04522d867f", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "6aed68fb-be4a-4a33-b53e-c2b742ac9985", "ip_address": "10.5.150.0"}]} |
+--------------------------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
[email protected]:~/neutron-gateway-ha$ neutron l3-agent-list-hosting-router provider-router
+--------------------------------------+-------------------------+----------------+-------+
| id | host | admin_state_up | alive |
+--------------------------------------+-------------------------+----------------+-------+
| 99ca5ee5-33b6-43da-86e2-df1f16fbd7cb | juju-zhhuabj-machine-23 | True | :-) |
| c95e33d5-b080-458c-8adb-d15bafc16bfb | juju-zhhuabj-machine-12 | True | :-) |
+--------------------------------------+-------------------------+----------------+-------+
[email protected]:~/openstack-charm-testing$ nova list
+--------------------------------------+------+--------+------------+-------------+----------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------+--------+------------+-------------+----------------------------------+
| ebfe6140-580c-43dd-b582-5e708eba58d8 | i1 | ACTIVE | - | Running | private=192.168.21.5, 10.5.150.1 |
+--------------------------------------+------+--------+------------+-------------+----------------------------------+
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 ip addr show
2: ha-786d2e2f-a8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:f5:c4:16 brd ff:ff:ff:ff:ff:ff
inet 169.254.192.2/18 brd 169.254.255.255 scope global ha-786d2e2f-a8
valid_lft forever preferred_lft forever
inet 169.254.0.1/24 scope global ha-786d2e2f-a8
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fef5:c416/64 scope link
valid_lft forever preferred_lft forever
3: qr-de8b99fa-7c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:9f:a3:1b brd ff:ff:ff:ff:ff:ff
inet 192.168.21.1/24 scope global qr-de8b99fa-7c
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe9f:a31b/64 scope link
valid_lft forever preferred_lft forever
4: qg-aeb51a1d-32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:13:a9:24 brd ff:ff:ff:ff:ff:ff
inet 10.5.150.0/16 scope global qg-aeb51a1d-32
valid_lft forever preferred_lft forever
inet 10.5.150.1/32 scope global qg-aeb51a1d-32
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe13:a924/64 scope link
valid_lft forever preferred_lft forever
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 ip addr show
2: ha-37f7144e-02: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:04:b4:ce brd ff:ff:ff:ff:ff:ff
inet 169.254.192.1/18 brd 169.254.255.255 scope global ha-37f7144e-02
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe04:b4ce/64 scope link
valid_lft forever preferred_lft forever
3: qr-de8b99fa-7c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:9f:a3:1b brd ff:ff:ff:ff:ff:ff
4: qg-aeb51a1d-32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:13:a9:24 brd ff:ff:ff:ff:ff:ff
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.5.0.1 0.0.0.0 UG 0 0 0 qg-aeb51a1d-32
10.5.0.0 0.0.0.0 255.255.0.0 U 0 0 0 qg-aeb51a1d-32
169.254.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ha-786d2e2f-a8
169.254.192.0 0.0.0.0 255.255.192.0 U 0 0 0 ha-786d2e2f-a8
192.168.21.0 0.0.0.0 255.255.255.0 U 0 0 0 qr-de8b99fa-7c
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.192.0 0.0.0.0 255.255.192.0 U 0 0 0 ha-37f7144e-02
[email protected]:~$ ps -ef|grep ha
root 71 2 0 06:55 ? 00:00:00 [charger_manager]
neutron 5597 1 0 08:14 ? 00:00:00 /usr/bin/python /usr/bin/neutron-keepalived-state-change --router_id=dd74a4c6-8320-40d6-b3b1-232e578cb6c7 --namespace=qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 --conf_dir=/var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7 --monitor_interface=ha-786d2e2f-a8 --monitor_cidr=169.254.0.1/24 --pid_file=/var/lib/neutron/external/pids/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.monitor.pid --state_path=/var/lib/neutron --user=108 --group=112
root 5649 1 0 08:14 ? 00:00:00 keepalived -P -f /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/keepalived.conf -p /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid -r /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid-vrrp
root 11780 5649 0 09:02 ? 00:00:00 keepalived -P -f /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/keepalived.conf -p /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid -r /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid-vrrp
[email protected]:~$ ps -ef |grep ha
root 71 2 0 07:09 ? 00:00:00 [charger_manager]
root 6060 32207 0 09:02 ? 00:00:00 keepalived -P -f /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/keepalived.conf -p /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid -r /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid-vrrp
neutron 32142 1 0 08:14 ? 00:00:00 /usr/bin/python /usr/bin/neutron-keepalived-state-change --router_id=dd74a4c6-8320-40d6-b3b1-232e578cb6c7 --namespace=qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 --conf_dir=/var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7 --monitor_interface=ha-37f7144e-02 --monitor_cidr=169.254.0.1/24 --pid_file=/var/lib/neutron/external/pids/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.monitor.pid --state_path=/var/lib/neutron --user=108 --group=112
root 32207 1 0 08:14 ? 00:00:00 keepalived -P -f /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/keepalived.conf -p /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid -r /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7.pid-vrrp
[email protected]:~$ sudo cat /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/state
master
[email protected]:~$ sudo cat /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/keepalived.conf
vrrp_instance VR_1 {
state BACKUP
interface ha-786d2e2f-a8
virtual_router_id 1
priority 50
garp_master_repeat 5
garp_master_refresh 10
nopreempt
advert_int 2
track_interface {
ha-786d2e2f-a8
}
virtual_ipaddress {
169.254.0.1/24 dev ha-786d2e2f-a8
}
virtual_ipaddress_excluded {
10.5.150.0/16 dev qg-aeb51a1d-32
10.5.150.1/32 dev qg-aeb51a1d-32
192.168.21.1/24 dev qr-de8b99fa-7c
fe80::f816:3eff:fe13:a924/64 dev qg-aeb51a1d-32 scope link
fe80::f816:3eff:fe9f:a31b/64 dev qr-de8b99fa-7c scope link
}
virtual_routes {
0.0.0.0/0 via 10.5.0.1 dev qg-aeb51a1d-32
}
}
[email protected]:~$ sudo cat /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/state
backup
[email protected]:~$ sudo cat /var/lib/neutron/ha_confs/dd74a4c6-8320-40d6-b3b1-232e578cb6c7/keepalived.conf
vrrp_instance VR_1 {
state BACKUP
interface ha-37f7144e-02
virtual_router_id 1
priority 50
garp_master_repeat 5
garp_master_refresh 10
nopreempt
advert_int 2
track_interface {
ha-37f7144e-02
}
virtual_ipaddress {
169.254.0.1/24 dev ha-37f7144e-02
}
virtual_ipaddress_excluded {
10.5.150.0/16 dev qg-aeb51a1d-32
10.5.150.1/32 dev qg-aeb51a1d-32
192.168.21.1/24 dev qr-de8b99fa-7c
fe80::f816:3eff:fe13:a924/64 dev qg-aeb51a1d-32 scope link
fe80::f816:3eff:fe9f:a31b/64 dev qr-de8b99fa-7c scope link
}
virtual_routes {
0.0.0.0/0 via 10.5.0.1 dev qg-aeb51a1d-32
}
}
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 ifconfig ha-786d2e2f-a8 down
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ha-786d2e2f-a8: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether fa:16:3e:f5:c4:16 brd ff:ff:ff:ff:ff:ff
inet 169.254.192.2/18 brd 169.254.255.255 scope global ha-786d2e2f-a8
valid_lft forever preferred_lft forever
3: qr-de8b99fa-7c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:9f:a3:1b brd ff:ff:ff:ff:ff:ff
4: qg-aeb51a1d-32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:13:a9:24 brd ff:ff:ff:ff:ff:ff
[email protected]ne-23:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ha-37f7144e-02: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:04:b4:ce brd ff:ff:ff:ff:ff:ff
inet 169.254.192.1/18 brd 169.254.255.255 scope global ha-37f7144e-02
valid_lft forever preferred_lft forever
inet 169.254.0.1/24 scope global ha-37f7144e-02
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe04:b4ce/64 scope link
valid_lft forever preferred_lft forever
3: qr-de8b99fa-7c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:9f:a3:1b brd ff:ff:ff:ff:ff:ff
inet 192.168.21.1/24 scope global qr-de8b99fa-7c
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe9f:a31b/64 scope link
valid_lft forever preferred_lft forever
4: qg-aeb51a1d-32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:13:a9:24 brd ff:ff:ff:ff:ff:ff
inet 10.5.150.0/16 scope global qg-aeb51a1d-32
valid_lft forever preferred_lft forever
inet 10.5.150.1/32 scope global qg-aeb51a1d-32
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe13:a924/64 scope link
valid_lft forever preferred_lft forever
[email protected]:~/neutron-gateway-ha$ ping 10.5.150.1
PING 10.5.150.1 (10.5.150.1) 56(84) bytes of data.
64 bytes from 10.5.150.1: icmp_seq=1 ttl=63 time=5.00 ms
64 bytes from 10.5.150.1: icmp_seq=2 ttl=63 time=1.69 ms
[email protected]:~$ sudo ip netns exec qrouter-dd74a4c6-8320-40d6-b3b1-232e578cb6c7 tcpdump -n -i ha-37f7144e-02
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ha-37f7144e-02, link-type EN10MB (Ethernet), capture size 65535 bytes
03:59:45.723931 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:47.724833 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:49.727033 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:51.726947 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:53.728466 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:55.730700 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:57.731620 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
03:59:59.733136 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:01.734053 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:03.734711 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:05.737778 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:07.737146 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:09.739794 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:11.739332 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:13.740744 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:15.742741 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:17.744151 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:19.745413 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:21.746639 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:23.748244 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:25.750017 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:27.751713 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:29.752460 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:31.753797 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:33.755248 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:35.757904 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:37.759372 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:39.760449 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:41.761482 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:43.762326 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:45.764282 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:47.763669 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:49.764741 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:56.570867 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:00:58.572437 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:00:58.572504 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:00:58.572542 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:00:58.572581 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:00:58.572609 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:00:58.572665 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:00.573412 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:02.574520 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:03.573747 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:01:03.573850 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:01:03.573898 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:01:03.573948 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:01:03.573993 ARP, Request who-has 169.254.0.1 (ff:ff:ff:ff:ff:ff) tell 169.254.0.1, length 28
04:01:04.575330 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:06.576547 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:08.577765 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:10.578863 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:12.579946 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:14.581031 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:16.582120 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:18.583161 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:20.584254 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:22.585400 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:24.586493 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:26.587590 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:28.588677 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:30.589448 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:32.590557 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:34.591728 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:36.592887 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:38.594052 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:40.595402 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:42.596719 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:44.597883 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:46.599080 IP 169.254.192.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20
04:01:48.600390 IP 169.2