亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mld6igmp_vif.hh

?? MLDv2 support igmpv3 lite
?? HH
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*-// Copyright (c) 2001-2008 XORP, Inc.//// Permission is hereby granted, free of charge, to any person obtaining a// copy of this software and associated documentation files (the "Software")// to deal in the Software without restriction, subject to the conditions// listed in the XORP LICENSE file. These conditions include: you must// preserve this copyright notice, and you cannot mention the copyright// holders in advertising related to the Software without their permission.// The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This// notice is a summary of the XORP LICENSE file; the license in that file is// legally binding.// $XORP: xorp/contrib/mld6igmp_lite/mld6igmp_vif.hh,v 1.2 2008/07/23 05:09:49 pavlin Exp $#ifndef __MLD6IGMP_MLD6IGMP_VIF_HH__#define __MLD6IGMP_MLD6IGMP_VIF_HH__//// IGMP and MLD virtual interface definition.//#include <utility>#include "libxorp/config_param.hh"#include "libxorp/timer.hh"#include "libxorp/vif.hh"#include "libproto/proto_unit.hh"#include "mrt/buffer.h"#include "mrt/multicast_defs.h"#include "igmp_proto.h"#include "mld6_proto.h"#include "mld6igmp_node.hh"#include "mld6igmp_group_record.hh"//// Constants definitions////// Structures/classes, typedefs and macros///** * @short A class for MLD/IGMP-specific virtual interface. */class Mld6igmpVif : public ProtoUnit, public Vif {public:    /**     * Constructor for a given MLD/IGMP node and a generic virtual interface.     *      * @param mld6igmp_node the @ref Mld6igmpNode this interface belongs to.     * @param vif the generic Vif interface that contains various information.     */    Mld6igmpVif(Mld6igmpNode& mld6igmp_node, const Vif& vif);        /**     * Destructor     */    virtual	~Mld6igmpVif();    /**     * Set the current protocol version.     *      * The protocol version must be in the interval     * [IGMP_VERSION_MIN, IGMP_VERSION_MAX]     * or [MLD_VERSION_MIN, MLD_VERSION_MAX]     *      * @param proto_version the protocol version to set.     * @return XORP_OK on success, otherwise XORP_ERROR.     */    int		set_proto_version(int proto_version);        /**     *  Start MLD/IGMP on a single virtual interface.     *      * @param error_msg the error message (if error).     * @return XORP_OK on success, otherwise XORP_ERROR.     */    int		start(string& error_msg);        /**     *  Stop MLD/IGMP on a single virtual interface.     *      * @param error_msg the error message (if error).     * @return XORP_OK on success, otherwise XORP_ERROR.     */    int		stop(string& error_msg);    /**     * Enable MLD/IGMP on a single virtual interface.     *      * If an unit is not enabled, it cannot be start, or pending-start.     */    void	enable();        /**     * Disable MLD/IGMP on a single virtual interface.     *      * If an unit is disabled, it cannot be start or pending-start.     * If the unit was runnning, it will be stop first.     */    void	disable();    /**     * Receive a protocol message.     *      * @param src the source address of the message.     * @param dst the destination address of the message.     * @param ip_ttl the IP TTL of the message. If it has a negative value     * it should be ignored.     * @param ip_ttl the IP TOS of the message. If it has a negative value,     * it should be ignored.     * @param ip_router_alert if true, the IP Router Alert option in the IP     * packet was set (when applicable).     * @param ip_internet_control if true, then this is IP control traffic.     * @param buffer the data buffer with the received message.     * @param error_msg the error message (if error).     * @return XORP_OK on success, otherwise XORP_ERROR.     */    int		mld6igmp_recv(const IPvX& src, const IPvX& dst,			      int ip_ttl, int ip_tos, bool ip_router_alert,			      bool ip_internet_control,			      buffer_t *buffer, string& error_msg);        /**     * Get the string with the flags about the vif status.     *      * TODO: temporary here. Should go to the Vif class after the Vif     * class starts using the Proto class.     *      * @return the C++ style string with the flags about the vif status     * (e.g., UP/DOWN/DISABLED, etc).     */    string	flags_string() const;        /**     * Get the MLD6IGMP node (@ref Mld6igmpNode).     *      * @return a reference to the MLD6IGMP node (@ref Mld6igmpNode).     */    Mld6igmpNode& mld6igmp_node() const { return (_mld6igmp_node); }    /**     * Get my primary address on this interface.     *      * @return my primary address on this interface.     */    const IPvX&	primary_addr() const	{ return (_primary_addr); }    /**     * Set my primary address on this interface.     *      * @param v the value of the primary address.     */    void	set_primary_addr(const IPvX& v) { _primary_addr = v; }    /**     * Update the primary address.     *      * The primary address should be a link-local unicast address, and     * is used for transmitting the multicast control packets on the LAN.     *      * @param error_msg the error message (if error).     * @return XORP_OK on success, otherwise XORP_ERROR.     */    int		update_primary_address(string& error_msg);        /**     * Get the MLD/IGMP querier address.     *      * @return the MLD/IGMP querier address.     */    const IPvX&	querier_addr()	const		{ return (_querier_addr); }        /**     * Set the MLD6/IGMP querier address.     *      * @param v the value of the MLD/IGMP querier address.     */    void	set_querier_addr(const IPvX& v) { _querier_addr = v;	}    /**     * Get the set with the multicast group records information     * (@ref Mld6igmpGroupSet).     *      * @return the set with the multicast group records information     * (@ref Mld6igmpGroupSet).     */    Mld6igmpGroupSet& group_records() { return (_group_records); }    /**     * Get the const set with the multicast group records information     * (@ref Mld6igmpGroupSet).     *      * @return the const set with the multicast group records information     * (@ref Mld6igmpGroupSet).     */    const Mld6igmpGroupSet& group_records() const { return (_group_records); }    /**     * Test if the protocol is Source-Specific Multicast (e.g., IGMPv3     * or MLDv2).     *      * @return true if the protocol is Source-Specific Multicast (e.g., IGMPv3     * or MLDv2).     */    bool	proto_is_ssm() const;        /**     * Get the timer to timeout the (other) MLD/IGMP querier.     *      * @return a reference to the timer to timeout the (other)     * MLD/IGMP querier.     *     */    const XorpTimer& const_other_querier_timer() const { return (_other_querier_timer); }    /**     * Optain a reference to the "IP Router Alert option check" flag.     *     * @return a reference to the "IP Router Alert option check" flag.     */    ConfigParam<bool>& ip_router_alert_option_check() { return (_ip_router_alert_option_check); }        /**     * Optain a reference to the configured Query Interval.     *     * @return a reference to the configured Query Interval.     */    ConfigParam<TimeVal>& configured_query_interval() { return (_configured_query_interval); }    /**     * Get the effective Query Interval value.     *     * Note that this value may be modified by reconfiguring the router,     * or by the Query message from the current Querier.     *     * @return the value of the effective Query Interval.     */    const TimeVal& effective_query_interval() const { return (_effective_query_interval); }    /**     * Set the effective Query Interval.     *     * Note that this value may be modified by reconfiguring the router,     * or by the Query message from the current Querier.     *     * @param v the value of the effective Query Interval.     */    void	set_effective_query_interval(const TimeVal& v);    /**     * Optain a reference to the Last Member Query Interval.     *     * @return a reference to the Last Member Query Interval.     */    ConfigParam<TimeVal>& query_last_member_interval() { return (_query_last_member_interval); }    /**     * Optain a reference to the Query Response Interval.     *     * @return a reference to the Query Response Interval.     */    ConfigParam<TimeVal>& query_response_interval() { return (_query_response_interval); }    /**     * Optain a reference to the configured Robustness Variable count.     *     * @return a reference to the configured Robustness Variable count.     */    ConfigParam<uint32_t>& configured_robust_count() { return (_configured_robust_count); }    /**     * Get the effective Robustness Variable value.     *     * Note that this value may be modified by reconfiguring the router,     * or by the Query messages from the current Querier.     *     * @return the value of the effective Robustness Variable.     */    uint32_t	effective_robustness_variable() const { return (_effective_robustness_variable); }    /**     * Set the effective Robustness Variable.     *     * Note that this value may be modified by reconfiguring the router,     * or by the Query messages from the current Querier.     *     * @param v the value of the effective Robustness Variable.     */    void	set_effective_robustness_variable(uint32_t v);    /**     * Get the Last Member Query Count value.     *     * Note: According to the IGMP/MLD spec, the default value for the     * Last Member Query Count is the Robustness Variable.     * Hence, the Last Member Query Count itself should be configurable.     * For simplicity (and for consistency with other router vendors), it     * is always same as the Robustness Variable.     *     * @return the value of the Last Member Query Count.     */    uint32_t	last_member_query_count() const { return (_last_member_query_count); }    /**     * Obtain a reference to the Group Membership Interval.     *     * Note that it is not directly configurable, but may be tuned by     * changing the values of the parameters it depends on.     *     * @return a reference to the Group Membership Interval.     */    const TimeVal& group_membership_interval() const { return (_group_membership_interval); }    /**     * Obtain a reference to the Last Member Query Time.     *     * Note that it is not directly configurable, but may be tuned by     * changing the values of the parameters it depends on.     *     * @return a reference to the Last Member Query Time.     */    const TimeVal& last_member_query_time() const { return (_last_member_query_time); }    /**     * Obtain a reference to the Older Version Host Present Interval.     *     * Note that it is not directly configurable, but may be tuned by     * changing the values of the parameters it depends on.     *     * @return a reference to the Older Version Host Present Interval.     */    const TimeVal& older_version_host_present_interval() const { return (_older_version_host_present_interval); }    //    // Add/delete routing protocols that need to be notified for membership    // changes.    //    /**     * Add a protocol that needs to be notified about multicast membership     * changes.     *      * Add a protocol to the list of entries that would be notified     * if there is membership change on a particular interface.     *      * @param module_instance_name the module instance name of the     * protocol to add.     * @param module_id the module ID (@ref xorp_module_id) of the     * protocol to add.     * @return XORP_OK on success, otherwise XORP_ERROR.     */    int		add_protocol(xorp_module_id module_id,			     const string& module_instance_name);        /**     * Delete a protocol that needs to be notified about multicast membership     * changes.     *      * Delete a protocol from the list of entries that would be notified     * if there is membership change on a particular interface.     *      * @param module_instance_name the module instance name of the     * protocol to delete.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线这里只有精品| 日本伊人色综合网| 国产精品一区一区三区| 4438x亚洲最大成人网| 亚洲福利一区二区三区| 欧美在线免费视屏| 亚洲国产aⅴ天堂久久| 欧美日韩国产一级二级| 亚洲成人一区在线| 欧美精品视频www在线观看| 亚洲图片一区二区| 337p亚洲精品色噜噜噜| 日韩在线卡一卡二| 日韩精品一区在线| 国产精品一二三四五| 中文在线一区二区| 色先锋资源久久综合| 亚洲国产日韩a在线播放| 777xxx欧美| 九九热在线视频观看这里只有精品| 日韩精品一区国产麻豆| 国产成人精品亚洲777人妖 | 美国av一区二区| 欧美大片在线观看一区二区| 国产一区视频网站| 自拍偷拍国产亚洲| 欧美丰满少妇xxxxx高潮对白| 蜜桃精品视频在线| 日本一区二区免费在线| 日本韩国精品一区二区在线观看| 丝袜亚洲另类欧美综合| www久久精品| 91在线观看一区二区| 亚洲成人在线免费| 久久精品一区蜜桃臀影院| 91啪在线观看| 日韩av电影天堂| 国产三级一区二区| 欧美视频一区二区| 国产精品资源网站| 亚洲第一主播视频| 国产嫩草影院久久久久| 欧美午夜电影在线播放| 国产在线视频一区二区| 亚洲精品水蜜桃| 日韩情涩欧美日韩视频| 播五月开心婷婷综合| 日韩综合小视频| 国产精品久久影院| 在线不卡免费欧美| 99久久精品久久久久久清纯| 日韩和欧美的一区| 国产精品不卡一区二区三区| 91精品国产综合久久久久久久| 成人做爰69片免费看网站| 丝袜美腿亚洲色图| 亚洲三级在线观看| 精品国产乱码久久久久久老虎| 99久久精品免费精品国产| 久久国产夜色精品鲁鲁99| 亚洲综合成人在线| 国产精品久久久久久久久快鸭 | 欧美va在线播放| 91蝌蚪国产九色| 国产成人精品免费在线| 免费在线观看视频一区| 亚洲精品欧美综合四区| 中文字幕的久久| 精品播放一区二区| 欧美猛男超大videosgay| 99国产精品久久久久久久久久| 激情综合色综合久久| 午夜精品久久久久久久 | 国产人成亚洲第一网站在线播放| 在线精品视频免费观看| jlzzjlzz亚洲日本少妇| 国产一区二区精品久久| 免播放器亚洲一区| 天天综合天天做天天综合| 一区二区三区精品视频在线| 亚洲国产成人午夜在线一区| 久久久久久一二三区| 亚洲精品一区二区三区在线观看| 欧美猛男男办公室激情| 欧美亚洲综合久久| 在线免费观看成人短视频| 一本久久精品一区二区| av网站免费线看精品| 成人免费视频国产在线观看| 国产呦精品一区二区三区网站| 久久精品国产免费| 黑人精品欧美一区二区蜜桃| 精品在线你懂的| 激情小说欧美图片| 国产精品一区二区果冻传媒| 国产主播一区二区三区| 国产在线精品一区二区| 国产福利不卡视频| 国产成人午夜精品5599| 国产成人精品三级麻豆| 成人sese在线| 97精品久久久久中文字幕| 91丨porny丨户外露出| 99视频精品全部免费在线| 99久久精品免费| 日本道色综合久久| 欧美精品一二三| 欧美大片一区二区| 国产三级欧美三级日产三级99| 国产日韩精品视频一区| 《视频一区视频二区| 亚洲综合激情网| 秋霞午夜av一区二区三区| 久久国产免费看| 国产美女主播视频一区| 成人黄色777网| 欧美影院一区二区| 欧美美女一区二区| 日韩欧美国产一区在线观看| 亚洲精品一区在线观看| 国产午夜三级一区二区三| 亚洲国产精品传媒在线观看| 亚洲精品日日夜夜| 奇米亚洲午夜久久精品| 国产成人激情av| 国产经典欧美精品| 色婷婷亚洲婷婷| 在线综合亚洲欧美在线视频| 精品国免费一区二区三区| 国产精品乱子久久久久| 亚洲最大的成人av| 美洲天堂一区二卡三卡四卡视频| 国产乱码精品一区二区三区忘忧草| 成人av电影在线| 337p亚洲精品色噜噜| 久久精品综合网| 一区二区三区美女视频| 久草在线在线精品观看| 99九九99九九九视频精品| 欧美日韩国产电影| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品国产三级国产aⅴ无密码| 亚洲大片一区二区三区| 国产成人午夜电影网| 欧美人与性动xxxx| 亚洲国产激情av| 男男成人高潮片免费网站| 成人激情免费视频| 欧美一级理论片| 国产精品色婷婷| 日本网站在线观看一区二区三区| 粗大黑人巨茎大战欧美成人| 欧美老人xxxx18| 中文字幕va一区二区三区| 亚洲成年人网站在线观看| 国产成人aaaa| 日韩视频中午一区| 亚洲国产日韩a在线播放| 成人综合在线观看| 精品国产sm最大网站| 亚洲尤物在线视频观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 久久综合国产精品| 香蕉乱码成人久久天堂爱免费| 成人免费高清在线| 欧美大度的电影原声| 一区二区三区欧美日韩| 国产99精品国产| 日韩美女一区二区三区四区| 亚洲国产成人tv| 99国产精品久久久久久久久久久 | 亚洲欧美成aⅴ人在线观看| 卡一卡二国产精品| 欧美日精品一区视频| 国产精品不卡在线| 国产91精品精华液一区二区三区 | 国产91精品入口| 欧美精品一区二区三区蜜桃| 五月天久久比比资源色| 色综合天天综合给合国产| 国产日韩精品一区二区浪潮av| 伦理电影国产精品| 欧美日韩一区二区在线观看视频 | 国产成人免费视频一区| 国产福利一区在线观看| 欧美mv日韩mv国产| 久久精品国产亚洲5555| 欧美精品乱码久久久久久| 亚洲免费观看高清完整版在线观看熊| 福利一区二区在线观看| 26uuu亚洲| 久久精品国产精品青草| 欧美一级高清大全免费观看| 午夜精品成人在线视频| 在线影院国内精品| 亚洲黄一区二区三区| 国产成人高清视频| 国产无人区一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 国产成人av福利|