📄 mfea_client.xif
字号:
/* $XORP: xorp/xrl/interfaces/mfea_client.xif,v 1.7 2006/07/03 23:33:42 pavlin Exp $ *//* * Multicast Forwarding Engine Abstraction client XRL interface. */interface mfea_client/0.1 { /** * Add a new vif. * * @param vif_name the name of the new vif. * @param vif_index the index of the new vif. */ new_vif ? vif_name:txt & vif_index:u32 /** * Delete an existing vif. * * @param vif_name the name of the vif to delete. */ delete_vif ? vif_name:txt /** * Add an address to a vif. * * @param vif_name the name of the vif. * @param addr the unicast address to add. * @param subnet the subnet address to add. * @param broadcast the broadcast address (when applicable). * @param peer the peer address (when applicable). */ add_vif_addr4 ? vif_name:txt \ & addr:ipv4 & subnet:ipv4net \ & broadcast:ipv4 & peer:ipv4 add_vif_addr6 ? vif_name:txt \ & addr:ipv6 & subnet:ipv6net \ & broadcast:ipv6 & peer:ipv6 /** * Delete an address from a vif. * * @param vif_name the name of the vif. * @param addr the unicast address to delete. */ delete_vif_addr4? vif_name:txt & addr:ipv4 delete_vif_addr6? vif_name:txt & addr:ipv6 /** * Set flags to a vif. * * @param vif_name the name of the vif. * @param is_pim_register true if this is a PIM Register vif. * @param is_p2p true if this is a point-to-point vif. * @param is_loopback true if this is a loopback interface. * @param is_multicast true if the vif is multicast-capable. * @param is_broadcast true if the vif is broadcast-capable. * @param is_up true if the vif is UP and running. * @param mtu the MTU of the vif. */ set_vif_flags ? vif_name:txt \ & is_pim_register:bool & is_p2p:bool \ & is_loopback:bool & is_multicast:bool \ & is_broadcast:bool & is_up:bool & mtu:u32 /** * Complete all transactions with vif information. */ set_all_vifs_done /** * Test if the vif setup is completed. * * @param is_completed if true the vif setup is completed. */ is_vif_setup_completed -> is_completed:bool /** * Receive a protocol message from the MFEA. * * @param xrl_sender_name the XRL name of the originator of this XRL. * @param protocol_name the name of the protocol that sends a message. * @param protocol_id the ID of the protocol that sends a message * (both sides must agree on the particular values). * @param vif_name the name of the vif the message was received on. * @param vif_index the index of the vif the message was received on. * @param source_address the address of the sender. * @param dest_address the destination address. * @param ip_ttl the TTL of the received IP packet. If it has a * negative value, it should be ignored. * @param ip_tos the TOS of the received IP packet. If it has a * negative value, it should be ignored. * @param is_router_alert if true, the IP Router Alert option in * the IP packet was set (when applicable). * @param protocol_message the protocol message. */ recv_protocol_message4 ? xrl_sender_name:txt \ & protocol_name:txt & protocol_id:u32 \ & vif_name:txt & vif_index:u32 \ & source_address:ipv4 \ & dest_address:ipv4 \ & ip_ttl:i32 & ip_tos:i32 \ & is_router_alert:bool \ & protocol_message:binary recv_protocol_message6 ? xrl_sender_name:txt \ & protocol_name:txt & protocol_id:u32 \ & vif_name:txt & vif_index:u32 \ & source_address:ipv6 \ & dest_address:ipv6 \ & ip_ttl:i32 & ip_tos:i32 \ & is_router_alert:bool \ & protocol_message:binary /** * Receive a kernel signal message from the MFEA. * * @param xrl_sender_name the XRL name of the originator of this XRL. * @param protocol_name the name of the protocol that sends a message. * @param protocol_id the ID of the protocol that sends a message * (both sides must agree on the particular values). * @param message_type the type of the kernel signal message (TODO: * integer for now: the particular types are well-known by both sides). * @param vif_name the name of the vif the message was received on. * @param vif_index the index of the vif the message was received on. * @param source_address the address of the sender. * @param dest_address the destination address. * @param protocol_message the protocol message. */ recv_kernel_signal_message4 ? xrl_sender_name:txt \ & protocol_name:txt & protocol_id:u32 \ & message_type:u32 \ & vif_name:txt & vif_index:u32 \ & source_address:ipv4 \ & dest_address:ipv4 \ & protocol_message:binary recv_kernel_signal_message6 ? xrl_sender_name:txt \ & protocol_name:txt & protocol_id:u32 \ & message_type:u32 \ & vif_name:txt & vif_index:u32 \ & source_address:ipv6 \ & dest_address:ipv6 \ & protocol_message:binary /** * A signal that a dataflow-related pre-condition is true. * * @param xrl_sender_name the XRL name of the originator of this XRL. * @param source_address the source address of the dataflow. * @param group_address the group address of the dataflow. * @param threshold_interval_sec the number of seconds in the * interval requested for measurement. * @param threshold_interval_usec the number of microseconds in the * interval requested for measurement. * @param measured_interval_sec the number of seconds in the * last measured interval that has triggered the signal. * @param measured_interval_usec the number of microseconds in the * last measured interval that has triggered the signal. * @param threshold_packets the threshold value to trigger a signal * (in number of packets). * @param threshold_bytes the threshold value to trigger a signal * (in bytes). * @param measured_packets the number of packets measured within the * measured interval. * @param measured_bytes the number of bytes measured within the * measured interval. * @param is_threshold_in_packets if true, threshold_packets * is valid. * @param is_threshold_in_bytes if true, threshold_bytes * is valid. * @param is_geq_upcall if true, the operation for comparison is ">=". * @param is_leq_upcall if true, the operation for comparison is "<=". */ recv_dataflow_signal4 ? xrl_sender_name:txt \ & source_address:ipv4 \ & group_address:ipv4 \ & threshold_interval_sec:u32 \ & threshold_interval_usec:u32 \ & measured_interval_sec:u32 \ & measured_interval_usec:u32 \ & threshold_packets:u32 \ & threshold_bytes:u32 \ & measured_packets:u32 \ & measured_bytes:u32 \ & is_threshold_in_packets: bool \ & is_threshold_in_bytes: bool \ & is_geq_upcall:bool \ & is_leq_upcall: bool recv_dataflow_signal6 ? xrl_sender_name:txt \ & source_address:ipv6 \ & group_address:ipv6 \ & threshold_interval_sec:u32 \ & threshold_interval_usec:u32 \ & measured_interval_sec:u32 \ & measured_interval_usec:u32 \ & threshold_packets:u32 \ & threshold_bytes:u32 \ & measured_packets:u32 \ & measured_bytes:u32 \ & is_threshold_in_packets: bool \ & is_threshold_in_bytes: bool \ & is_geq_upcall:bool \ & is_leq_upcall:bool}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -