您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ IF_OIFS函数代码示例

51自学网 2021-06-01 21:28:48
  C++
这篇教程C++ IF_OIFS函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中IF_OIFS函数的典型用法代码示例。如果您正苦于以下问题:C++ IF_OIFS函数的具体用法?C++ IF_OIFS怎么用?C++ IF_OIFS使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了IF_OIFS函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ospf_interface_delete

static intospf_interface_delete (int command, struct zclient *zclient,                       zebra_size_t length){  struct interface *ifp;  struct stream *s;  struct route_node *rn;  s = zclient->ibuf;  /* zebra_interface_state_read() updates interface structure in iflist */  ifp = zebra_interface_state_read (s);  if (ifp == NULL)    return 0;  if (if_is_up (ifp))    zlog_warn ("Zebra: got delete of %s, but interface is still up",               ifp->name);  if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))    zlog_debug      ("Zebra: interface delete %s index %d flags %llx metric %d mtu %d",       ifp->name, ifp->ifindex, (unsigned long long)ifp->flags, ifp->metric, ifp->mtu);#ifdef HAVE_SNMP  ospf_snmp_if_delete (ifp);#endif /* HAVE_SNMP */  for (rn = route_top (IF_OIFS (ifp)); rn; rn = route_next (rn))    if (rn->info)      ospf_if_free ((struct ospf_interface *) rn->info);  ifp->ifindex = IFINDEX_INTERNAL;  return 0;}
开发者ID:LabNConsulting,项目名称:OLD-quagga-patches,代码行数:35,


示例2: ospf_interface_state_down

static intospf_interface_state_down (int command, struct zclient *zclient,                           zebra_size_t length){  struct interface *ifp;  struct ospf_interface *oi;  struct route_node *node;  ifp = zebra_interface_state_read (zclient->ibuf);  if (ifp == NULL)    return 0;  if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))    zlog_debug ("Zebra: Interface[%s] state change to down.", ifp->name);  for (node = route_top (IF_OIFS (ifp)); node; node = route_next (node))    {      if ((oi = node->info) == NULL)        continue;      ospf_if_down (oi);    }  return 0;}
开发者ID:LabNConsulting,项目名称:OLD-quagga-patches,代码行数:25,


示例3: ospf_interface_address_delete

static intospf_interface_address_delete (int command, struct zclient *zclient,                               zebra_size_t length){  struct ospf *ospf;  struct connected *c;  struct interface *ifp;  struct ospf_interface *oi;  struct route_node *rn;  struct prefix p;  c = zebra_interface_address_read (command, zclient->ibuf);  if (c == NULL)    return 0;  if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))    {      char buf[128];      prefix2str(c->address, buf, sizeof(buf));      zlog_debug("Zebra: interface %s address delete %s", c->ifp->name, buf);    }  ifp = c->ifp;  p = *c->address;  p.prefixlen = IPV4_MAX_PREFIXLEN;  rn = route_node_lookup (IF_OIFS (ifp), &p);  if (!rn)    {      connected_free (c);      return 0;    }  assert (rn->info);  oi = rn->info;  /* Call interface hook functions to clean up */  ospf_if_free (oi);#ifdef HAVE_SNMP  ospf_snmp_if_update (c->ifp);#endif /* HAVE_SNMP */  connected_free (c);  ospf = ospf_lookup ();  if (ospf != NULL)    ospf_if_update (ospf);  return 0;}
开发者ID:Quagga,项目名称:historical,代码行数:52,


示例4: ospf_add_to_if

voidospf_add_to_if (struct interface *ifp, struct ospf_interface *oi){  struct route_node *rn;  struct prefix p;  p = *oi->address;  p.prefixlen = IPV4_MAX_PREFIXLEN;  rn = route_node_get (IF_OIFS (ifp), &p);  assert (! rn->info);  rn->info = oi;}
开发者ID:xi-yang,项目名称:DRAGON,代码行数:13,


示例5: ospf_if_update_params

void ospf_if_update_params(struct interface *ifp, struct in_addr addr){	struct route_node *rn;	struct ospf_interface *oi;	for (rn = route_top(IF_OIFS(ifp)); rn; rn = route_next(rn)) {		if ((oi = rn->info) == NULL)			continue;		if (IPV4_ADDR_SAME(&oi->address->u.prefix4, &addr))			oi->params =			    ospf_lookup_if_params(ifp, oi->address->u.prefix4);	}}
开发者ID:yubo,项目名称:quagga,代码行数:14,


示例6: ospf_if_reset

/* Simulate down/up on the interface.  This is needed, for example, when    the MTU changes. */void ospf_if_reset(struct interface *ifp){	struct route_node *rn;	for (rn = route_top(IF_OIFS(ifp)); rn; rn = route_next(rn)) {		struct ospf_interface *oi;		if ((oi = rn->info) == NULL)			continue;		ospf_if_down(oi);		ospf_if_up(oi);	}}
开发者ID:yubo,项目名称:quagga,代码行数:16,


示例7: ospf_if_delete_hook

intospf_if_delete_hook (struct interface *ifp){  int rc = 0;#ifdef HAVE_OPAQUE_LSA  rc = ospf_opaque_del_if (ifp);#endif /* HAVE_OPAQUE_LSA */  route_table_finish (IF_OIFS (ifp));  route_table_finish (IF_OIFS_PARAMS (ifp));  XFREE (MTYPE_OSPF_IF_INFO, ifp->info);  ifp->info = NULL;  return rc;}
开发者ID:xi-yang,项目名称:DRAGON,代码行数:14,


示例8: ospf_add_to_if

static void ospf_add_to_if(struct interface *ifp, struct ospf_interface *oi){	struct route_node *rn;	struct prefix p;	p = *oi->address;	p.prefixlen = IPV4_MAX_PREFIXLEN;	rn = route_node_get(IF_OIFS(ifp), &p);	/* rn->info should either be NULL or equal to this oi	 * as route_node_get may return an existing node	 */	assert(!rn->info || rn->info == oi);	rn->info = oi;}
开发者ID:yubo,项目名称:quagga,代码行数:15,


示例9: ospf_delete_from_if

static voidospf_delete_from_if (struct interface *ifp, struct ospf_interface *oi){  struct route_node *rn;  struct prefix p;  p = *oi->address;  p.prefixlen = IPV4_MAX_PREFIXLEN;  rn = route_node_lookup (IF_OIFS (oi->ifp), &p);  assert (rn);  assert (rn->info);  rn->info = NULL;  route_unlock_node (rn);  route_unlock_node (rn);}
开发者ID:Quagga,项目名称:historical,代码行数:16,


示例10: ospf_if_new_hook

intospf_if_new_hook (struct interface *ifp){  int rc = 0;  ifp->info = XMALLOC (MTYPE_OSPF_IF_INFO, sizeof (struct ospf_if_info));  memset (ifp->info, 0, sizeof (struct ospf_if_info));    IF_OIFS (ifp) = route_table_init ();  IF_OIFS_PARAMS (ifp) = route_table_init ();    IF_DEF_PARAMS (ifp) = ospf_new_if_params ();    SET_IF_PARAM (IF_DEF_PARAMS (ifp), transmit_delay);  IF_DEF_PARAMS (ifp)->transmit_delay = OSPF_TRANSMIT_DELAY_DEFAULT;    SET_IF_PARAM (IF_DEF_PARAMS (ifp), retransmit_interval);  IF_DEF_PARAMS (ifp)->retransmit_interval = OSPF_RETRANSMIT_INTERVAL_DEFAULT;  SET_IF_PARAM (IF_DEF_PARAMS (ifp), priority);  IF_DEF_PARAMS (ifp)->priority = OSPF_ROUTER_PRIORITY_DEFAULT;  IF_DEF_PARAMS (ifp)->mtu_ignore = OSPF_MTU_IGNORE_DEFAULT;  SET_IF_PARAM (IF_DEF_PARAMS (ifp), passive_interface);  IF_DEF_PARAMS (ifp)->passive_interface = OSPF_IF_ACTIVE;  SET_IF_PARAM (IF_DEF_PARAMS (ifp), v_hello);  IF_DEF_PARAMS (ifp)->v_hello = OSPF_HELLO_INTERVAL_DEFAULT;  SET_IF_PARAM (IF_DEF_PARAMS (ifp), fast_hello);  IF_DEF_PARAMS (ifp)->fast_hello = OSPF_FAST_HELLO_DEFAULT;  SET_IF_PARAM (IF_DEF_PARAMS (ifp), v_wait);  IF_DEF_PARAMS (ifp)->v_wait = OSPF_ROUTER_DEAD_INTERVAL_DEFAULT;  SET_IF_PARAM (IF_DEF_PARAMS (ifp), auth_simple);  memset (IF_DEF_PARAMS (ifp)->auth_simple, 0, OSPF_AUTH_SIMPLE_SIZE);    SET_IF_PARAM (IF_DEF_PARAMS (ifp), auth_type);  IF_DEF_PARAMS (ifp)->auth_type = OSPF_AUTH_NOTSET;  #ifdef HAVE_OPAQUE_LSA  rc = ospf_opaque_new_if (ifp);#endif /* HAVE_OPAQUE_LSA */  return rc;}
开发者ID:kkcloudy,项目名称:daemongroup,代码行数:47,


示例11:

/* lookup oi for specified prefix/ifp */struct ospf_interface *ospf_if_table_lookup(struct interface *ifp,					    struct prefix *prefix){	struct prefix p;	struct route_node *rn;	struct ospf_interface *rninfo = NULL;	p = *prefix;	p.prefixlen = IPV4_MAX_PREFIXLEN;	/* route_node_get implicitely locks */	if ((rn = route_node_lookup(IF_OIFS(ifp), &p))) {		rninfo = (struct ospf_interface *)rn->info;		route_unlock_node(rn);	}	return rninfo;}
开发者ID:yubo,项目名称:quagga,代码行数:19,


示例12: ospf_if_delete_hook

static intospf_if_delete_hook (struct interface *ifp){  int rc = 0;  struct route_node *rn;  rc = ospf_opaque_del_if (ifp);  route_table_finish (IF_OIFS (ifp));  for (rn = route_top (IF_OIFS_PARAMS (ifp)); rn; rn = route_next (rn))    if (rn->info)      ospf_del_if_params (rn->info);  route_table_finish (IF_OIFS_PARAMS (ifp));  ospf_del_if_params ((struct ospf_if_params *) IF_DEF_PARAMS (ifp));  XFREE (MTYPE_OSPF_IF_INFO, ifp->info);  ifp->info = NULL;  return rc;}
开发者ID:CumulusNetworks,项目名称:quagga,代码行数:20,


示例13: ospf_if_recalculate_output_cost

void ospf_if_recalculate_output_cost(struct interface *ifp){	u_int32_t newcost;	struct route_node *rn;	for (rn = route_top(IF_OIFS(ifp)); rn; rn = route_next(rn)) {		struct ospf_interface *oi;		if ((oi = rn->info) == NULL)			continue;		newcost = ospf_if_get_output_cost(oi);		/* Is actual output cost changed? */		if (oi->output_cost != newcost) {			oi->output_cost = newcost;			ospf_router_lsa_update_area(oi->area);		}	}}
开发者ID:yubo,项目名称:quagga,代码行数:20,


示例14: ospf_if_lookup_recv_if

/* determine receiving interface by ifp and source address */struct ospf_interface *ospf_if_lookup_recv_if (struct ospf *ospf, struct in_addr src,			struct interface *ifp){  struct route_node *rn;  struct prefix_ipv4 addr;  struct ospf_interface *oi, *match;  addr.family = AF_INET;  addr.prefix = src;  addr.prefixlen = IPV4_MAX_BITLEN;  match = NULL;  for (rn = route_top (IF_OIFS (ifp)); rn; rn = route_next (rn))    {      oi = rn->info;      if (!oi) /* oi can be NULL for PtP aliases */	continue;      if (oi->type == OSPF_IFTYPE_VIRTUALLINK)	continue;      if (if_is_loopback (oi->ifp))        continue;      if (prefix_match (CONNECTED_PREFIX(oi->connected),      			(struct prefix *) &addr))	{	  if ( (match == NULL) || 	       (match->address->prefixlen < oi->address->prefixlen)	     )	    match = oi;	}    }  return match;}
开发者ID:CumulusNetworks,项目名称:quagga,代码行数:40,


示例15: ospf_interface_state_up

static intospf_interface_state_up (int command, struct zclient *zclient,                         zebra_size_t length){  struct interface *ifp;  struct ospf_interface *oi;  struct route_node *rn;  ifp = zebra_interface_if_lookup (zclient->ibuf);  if (ifp == NULL)    return 0;  /* Interface is already up. */  if (if_is_operative (ifp))    {      /* Temporarily keep ifp values. */      struct interface if_tmp;      memcpy (&if_tmp, ifp, sizeof (struct interface));      zebra_interface_if_set_value (zclient->ibuf, ifp);      if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))        zlog_debug ("Zebra: Interface[%s] state update.", ifp->name);      if (if_tmp.bandwidth != ifp->bandwidth)        {          if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))            zlog_debug ("Zebra: Interface[%s] bandwidth change %d -> %d.",                       ifp->name, if_tmp.bandwidth, ifp->bandwidth);          ospf_if_recalculate_output_cost (ifp);        }      if (if_tmp.mtu != ifp->mtu)        {          if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))            zlog_debug ("Zebra: Interface[%s] MTU change %u -> %u.",                       ifp->name, if_tmp.mtu, ifp->mtu);	  /* Must reset the interface (simulate down/up) when MTU changes. */          ospf_if_reset(ifp);	}      return 0;    }  zebra_interface_if_set_value (zclient->ibuf, ifp);  if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))    zlog_debug ("Zebra: Interface[%s] state change to up.", ifp->name);  for (rn = route_top (IF_OIFS (ifp)); rn; rn = route_next (rn))    {      if ((oi = rn->info) == NULL)        continue;      ospf_if_up (oi);    }  return 0;}
开发者ID:LabNConsulting,项目名称:OLD-quagga-patches,代码行数:61,



注:本文中的IF_OIFS函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ IF_PRINT_WARNING函数代码示例
C++ IF_NAME函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。