This class manages all VRRP instances and provides a link between XRLs and the VRRP state machine.
static const string vrrp_target_name | vrrp_target_name |
static const string fea_target_name | fea_target_name |
VrrpTarget (XrlRouter& rtr)
| VrrpTarget |
Parameters:
rtr | the XRL router to use. |
~VrrpTarget ()
| ~VrrpTarget |
bool running ()
| running |
[const]
Check whether VRRP is running.
Returns: whether the VRRP protocol is running.
void tree_complete ()
| tree_complete |
Called when the rtrmgr configuration is first received.
Reimplemented from IfMgrHintObserver.
void updates_made ()
| updates_made |
Called when the rtrmgr configuration changed.
Reimplemented from IfMgrHintObserver.
void send (const string& ifname, const string& vifname,
const Mac& src, const Mac& dst, uint32_t ether,
const PAYLOAD& payload)
| send |
Transmit a L2 packet.
Parameters:
ifname | the physical interface on which to transmit. |
vifname | the logical interface on which to transmit. |
src | the source MAC address. |
dst | the destination MAC address. |
ether | the 802.3 ethernet type. |
payload | the data to follow the MAC header. |
void join_mcast (const string& ifname, const string& vifname)
| join_mcast |
Join the VRRP multicast group.
Parameters:
ifname | the interface on which to join. |
vifname | the vif on which to join. |
void leave_mcast (const string& ifname, const string& vifname)
| leave_mcast |
Leave the VRRP multicast group.
Parameters:
ifname | the interface on which to join. |
vifname | the vif on which to join. |
void start_arps (const string& ifname, const string& vifname)
| start_arps |
Start the reception of ARP packets on an interface.
Parameters:
ifname | the interface on which to receive ARPs. |
vifname | the vif on which to get ARPs. |
void stop_arps (const string& ifname, const string& vifname)
| stop_arps |
Stop the reception of ARPs.
Parameters:
ifname | the interface on which to stop reception. |
vifname | the vif on which to stop reception. |
void add_mac (const string& ifname, const Mac& mac)
| add_mac |
Add a MAC address to the router.
Parameters:
ifname | the interface on which to add the MAC. |
mac | the MAC address. |
void delete_mac (const string& ifname, const Mac& mac)
| delete_mac |
Delete MAC address from the router.
Parameters:
ifname | the interface on which the MAC should be deleted. |
mac | the MAC to remove. |
EventLoop& eventloop ()
| eventloop |
Returns: an instance of the eventloop.
XrlCmdError common_0_1_get_target_name (
string& name)
| common_0_1_get_target_name |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError common_0_1_get_version (
string& version)
| common_0_1_get_version |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError common_0_1_get_status (
uint32_t& status,
string& reason)
| common_0_1_get_status |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError common_0_1_shutdown ()
| common_0_1_shutdown |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_add_vrid (
const string& ifname,
const string& vifname,
const uint32_t& vrid)
| vrrp_0_1_add_vrid |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_delete_vrid (
const string& ifname,
const string& vifname,
const uint32_t& vrid)
| vrrp_0_1_delete_vrid |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_set_priority (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
const uint32_t& priority)
| vrrp_0_1_set_priority |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_set_interval (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
const uint32_t& interval)
| vrrp_0_1_set_interval |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_set_preempt (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
const bool& preempt)
| vrrp_0_1_set_preempt |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_set_disable (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
const bool& disable)
| vrrp_0_1_set_disable |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_add_ip (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
const IPv4& ip)
| vrrp_0_1_add_ip |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_delete_ip (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
const IPv4& ip)
| vrrp_0_1_delete_ip |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_get_vrid_info (
const string& ifname,
const string& vifname,
const uint32_t& vrid,
string& state,
IPv4& master)
| vrrp_0_1_get_vrid_info |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_get_vrids (
const string& ifname,
const string& vifname,
XrlAtomList& vrids)
| vrrp_0_1_get_vrids |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_get_ifs (
XrlAtomList& ifs)
| vrrp_0_1_get_ifs |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError vrrp_0_1_get_vifs (
const string& ifname,
XrlAtomList& vifs)
| vrrp_0_1_get_vifs |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError raw_packet4_client_0_1_recv (
const string& if_name,
const string& vif_name,
const IPv4& src_address,
const IPv4& dst_address,
const uint32_t& ip_protocol,
const int32_t& ip_ttl,
const int32_t& ip_tos,
const bool& ip_router_alert,
const bool& ip_internet_control,
const vector<uint8_t>& payload)
| raw_packet4_client_0_1_recv |
[protected]
Reimplemented from XrlVrrpTargetBase.
XrlCmdError raw_link_client_0_1_recv (
const string& if_name,
const string& vif_name,
const Mac& src_address,
const Mac& dst_address,
const uint32_t& ether_type,
const vector<uint8_t>& payload)
| raw_link_client_0_1_recv |
[protected]
Reimplemented from XrlVrrpTargetBase.