"""Cisco Hot Standby Router Protocol."""

from packetracer import packetracer

# Opcodes
HELLO = 0
COUP = 1
RESIGN = 2

# States
INITIAL = 0x00
LEARN = 0x01
LISTEN = 0x02
SPEAK = 0x04
STANDBY = 0x08
ACTIVE = 0x10


class HSRP(packetracer.Packet):
    __hdr__ = (
        ("version", "B", 0),
        ("opcode", "B", 0),
        ("state", "B", 0),
        ("hello", "B", 0),
        ("hold", "B", 0),
        ("priority", "B", 0),
        ("group", "B", 0),
        ("rsvd", "B", 0),
        ("auth", "8s", b"cisco"),
        ("vip", "4s", b"")
    )
