这篇教程C++ unregister_netdevice函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中unregister_netdevice函数的典型用法代码示例。如果您正苦于以下问题:C++ unregister_netdevice函数的具体用法?C++ unregister_netdevice怎么用?C++ unregister_netdevice使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了unregister_netdevice函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: niit_cleanupstatic void __exit niit_cleanup(void) { rtnl_lock(); unregister_netdevice(tunnel4_dev); unregister_netdevice(tunnel6_dev); rtnl_unlock();}
开发者ID:lynxis,项目名称:niit,代码行数:8,
示例2: veth_dellinkstatic void veth_dellink(struct net_device *dev){ struct veth_priv *priv; struct net_device *peer; priv = netdev_priv(dev); peer = priv->peer; unregister_netdevice(dev); unregister_netdevice(peer);}
开发者ID:3null,项目名称:fastsocket,代码行数:11,
示例3: ip6_tnl_destroy_tunnelsstatic void ip6_tnl_destroy_tunnels(struct ip6_tnl_net *ip6n){ int h; struct ip6_tnl *t; for (h = 0; h < HASH_SIZE; h++) { while ((t = ip6n->tnls_r_l[h]) != NULL) unregister_netdevice(t->dev); } t = ip6n->tnls_wc[0]; unregister_netdevice(t->dev);}
开发者ID:fr34k8,项目名称:DT_Hybrid_GPL_1.00.053,代码行数:13,
示例4: ip6ip6_destroy_tunnelsstatic void __exit ip6ip6_destroy_tunnels(void){ int h; struct ip6_tnl *t; for (h = 0; h < HASH_SIZE; h++) { while ((t = tnls_r_l[h]) != NULL) unregister_netdevice(t->dev); } t = tnls_wc[0]; unregister_netdevice(t->dev);}
开发者ID:philenotfound,项目名称:belkin-wemo-linux-2.6.21.x,代码行数:13,
示例5: vrf_newlinkstatic int vrf_newlink(struct net *src_net, struct net_device *dev, struct nlattr *tb[], struct nlattr *data[]){ struct net_vrf *vrf = netdev_priv(dev); int err; if (!data || !data[IFLA_VRF_TABLE]) return -EINVAL; vrf->tb_id = nla_get_u32(data[IFLA_VRF_TABLE]); if (vrf->tb_id == RT_TABLE_UNSPEC) return -EINVAL; dev->priv_flags |= IFF_L3MDEV_MASTER; err = register_netdevice(dev); if (err) goto out; if (add_fib_rules) { err = vrf_add_fib_rules(dev); if (err) { unregister_netdevice(dev); goto out; } add_fib_rules = false; }out: return err;}
开发者ID:AshishNamdev,项目名称:linux,代码行数:31,
示例6: alloc_netdevstatic struct net_device *ip6mr_reg_vif(struct net *net){ struct net_device *dev; dev = alloc_netdev(0, "pim6reg", reg_vif_setup); if (dev == NULL) return NULL; dev_net_set(dev, net); if (register_netdevice(dev)) { free_netdev(dev); return NULL; } dev->iflink = 0; if (dev_open(dev)) goto failure; dev_hold(dev); return dev;failure: /* allow the register to be completed before unregistering. */ rtnl_unlock(); rtnl_lock(); unregister_netdevice(dev); return NULL;}
开发者ID:vps2fast,项目名称:openvz-kernel,代码行数:30,
示例7: batadv_softif_destroyvoid batadv_softif_destroy(struct net_device *soft_iface){ batadv_debugfs_del_meshif(soft_iface); batadv_sysfs_del_meshif(soft_iface); batadv_mesh_free(soft_iface); unregister_netdevice(soft_iface);}
开发者ID:AdrianHuang,项目名称:linux-3.8.13,代码行数:7,
示例8: unregister_hdlc_devicevoid unregister_hdlc_device(struct net_device *dev){ rtnl_lock(); hdlc_proto_detach(dev_to_hdlc(dev)); unregister_netdevice(dev); rtnl_unlock();}
开发者ID:Distrotech,项目名称:dahdi-linux,代码行数:7,
示例9: br_del_bridgeint br_del_bridge(char *name){ struct net_device *dev; struct net_bridge *br; dev = __dev_get_by_name(name); if (!dev) return -ENXIO; if (dev->hard_start_xmit != br_dev_xmit) return -EPERM; if (dev->flags & IFF_UP) return -EBUSY; br = dev->priv; BUG_ON(&br->dev != dev); del_ifs(br); unregister_netdevice(dev); kfree(br); br_dec_use_count(); return 0;}
开发者ID:ProjectZeroSlackr,项目名称:linux-2.4.32-ipod,代码行数:26,
示例10: vhost_dellinkstatic voidvhost_dellink(struct net_device *dev, struct list_head *head)#endif{ struct vhost_priv *vp;#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,33)) unregister_netdevice_queue(dev, head);#else unregister_netdevice(dev);#endif vp = netdev_priv(dev); if (vp) { if (vp->vp_db_index >= 0) vhost_priv_db[vp->vp_db_index] = NULL; vp->vp_db_index = -1; if (vp->vp_phys_dev) { vhost_del_tap_phys(vp->vp_phys_dev); vp->vp_phys_dev = NULL; } vp->vp_phys_name[0] = '/0'; } if (!vhost_num_interfaces) BUG(); vhost_num_interfaces--; return;}
开发者ID:haripk,项目名称:contrail-vrouter,代码行数:33,
示例11: hostap_disable_hostapdstatic int hostap_disable_hostapd(PSDevice pDevice, int rtnl_locked){ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: disabling hostapd mode/n", pDevice->dev->name); if (pDevice->apdev && pDevice->apdev->name && pDevice->apdev->name[0]) { if (rtnl_locked) unregister_netdevice(pDevice->apdev); else unregister_netdev(pDevice->apdev); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Netdevice %s unregistered/n", pDevice->dev->name, pDevice->apdev->name); } kfree(pDevice->apdev); pDevice->apdev = NULL; pDevice->bEnable8021x = false; pDevice->bEnableHostWEP = false; pDevice->bEncryptionEnable = false;//4.2007-0118-03,<Add> by EinsnLiu//execute some clear workpDevice->pMgmt->byCSSPK=KEY_CTL_NONE;pDevice->pMgmt->byCSSGK=KEY_CTL_NONE;KeyvInitTable(&pDevice->sKey,pDevice->PortOffset); return 0;}
开发者ID:novic,项目名称:AniDroid-Hardened-Kernel,代码行数:27,
示例12: softif_destroyvoid softif_destroy(struct net_device *soft_iface){ debugfs_del_meshif(soft_iface); sysfs_del_meshif(soft_iface); mesh_free(soft_iface); unregister_netdevice(soft_iface);}
开发者ID:AnadoluPanteri,项目名称:kernel-plus-harmattan-1,代码行数:7,
示例13: woal_remove_virtual_interface/** * @brief This function removes an virtual interface. * * @param handle A pointer to the moal_handle structure * * @return N/A */voidwoal_remove_virtual_interface(moal_handle *handle){ moal_private *priv = NULL; int vir_intf = 0; int i = 0; ENTER(); rtnl_lock(); for (i = 0; i < handle->priv_num; i++) { priv = handle->priv[i]; if (priv) { if (priv->bss_virtual) { PRINTM(MCMND, "Remove virtual interface %s/n", priv->netdev->name);#ifdef CONFIG_PROC_FS#ifdef PROC_DEBUG /* Remove proc debug */ woal_debug_remove(priv);#endif /* PROC_DEBUG */ woal_proc_remove(priv);#endif /* CONFIG_PROC_FS */ netif_device_detach(priv->netdev); if (priv->netdev->reg_state == NETREG_REGISTERED) unregister_netdevice(priv->netdev); handle->priv[i] = NULL; vir_intf++; } } } rtnl_unlock(); handle->priv_num -= vir_intf; LEAVE();}
开发者ID:team-eureka,项目名称:eureka_linux,代码行数:41,
示例14: cleanup_modulevoid cleanup_module(void) { rtnl_lock(); unregister_qdisc(&the_master.qops); unregister_netdevice(&the_master.dev); rtnl_unlock();}
开发者ID:JBTech,项目名称:ralink_rt5350,代码行数:7,
示例15: alloc_netdevstatic struct net_device *ipmr_reg_vif(void){ struct net_device *dev; struct in_device *in_dev; dev = alloc_netdev(sizeof(struct net_device_stats), "pimreg", reg_vif_setup); if (dev == NULL) return NULL; if (register_netdevice(dev)) { free_netdev(dev); return NULL; } dev->iflink = 0; if ((in_dev = inetdev_init(dev)) == NULL) goto failure; in_dev->cnf.rp_filter = 0; if (dev_open(dev)) goto failure; return dev;failure: unregister_netdevice(dev); return NULL;}
开发者ID:qwerty1023,项目名称:wive-rtnl-firmware,代码行数:31,
示例16: alloc_netdevstatic struct net_device *ipmr_reg_vif(void){ struct net_device *dev; struct in_device *in_dev; dev = alloc_netdev(sizeof(struct net_device_stats), "pimreg", reg_vif_setup); if (dev == NULL) return NULL; if (register_netdevice(dev)) { free_netdev(dev); return NULL; } dev->iflink = 0; if ((in_dev = inetdev_init(dev)) == NULL) goto failure; in_dev->cnf.rp_filter = 0; if (dev_open(dev)) goto failure; return dev;failure: /* allow the register to be completed before unregistering. */ rtnl_unlock(); rtnl_lock(); unregister_netdevice(dev); return NULL;}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:35,
示例17: cleanup_modulevoid cleanup_module(void){ if ( inet_del_protocol(&ipip_protocol) < 0 ) printk(KERN_INFO "ipip close: can't remove protocol/n"); unregister_netdevice(&ipip_fb_tunnel_dev);}
开发者ID:GNUHurdTR,项目名称:hurd,代码行数:7,
示例18: mwifiex_del_virtual_intf/* * del_virtual_intf: remove the virtual interface determined by dev */int mwifiex_del_virtual_intf(struct wiphy *wiphy, struct net_device *dev){ struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);#ifdef CONFIG_DEBUG_FS mwifiex_dev_debugfs_remove(priv);#endif if (!netif_queue_stopped(priv->netdev)) netif_stop_queue(priv->netdev); if (netif_carrier_ok(priv->netdev)) netif_carrier_off(priv->netdev); if (dev->reg_state == NETREG_REGISTERED) unregister_netdevice(dev); if (dev->reg_state == NETREG_UNREGISTERED) free_netdev(dev); /* Clear the priv in adapter */ priv->netdev = NULL; priv->media_connected = false; priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED; return 0;}
开发者ID:aywq2008,项目名称:omniplay,代码行数:32,
示例19: __dev_get_by_namestaticstruct net_device *ipmr_new_tunnel(struct net *net, struct vifctl *v){ struct net_device *dev; dev = __dev_get_by_name(net, "tunl0"); if (dev) { const struct net_device_ops *ops = dev->netdev_ops; int err; struct ifreq ifr; struct ip_tunnel_parm p; struct in_device *in_dev; memset(&p, 0, sizeof(p)); p.iph.daddr = v->vifc_rmt_addr.s_addr; p.iph.saddr = v->vifc_lcl_addr.s_addr; p.iph.version = 4; p.iph.ihl = 5; p.iph.protocol = IPPROTO_IPIP; sprintf(p.name, "dvmrp%d", v->vifc_vifi); ifr.ifr_ifru.ifru_data = (__force void __user *)&p; if (ops->ndo_do_ioctl) { mm_segment_t oldfs = get_fs(); set_fs(KERNEL_DS); err = ops->ndo_do_ioctl(dev, &ifr, SIOCADDTUNNEL); set_fs(oldfs); } else err = -EOPNOTSUPP; dev = NULL; if (err == 0 && (dev = __dev_get_by_name(net, p.name)) != NULL) { dev->flags |= IFF_MULTICAST; in_dev = __in_dev_get_rtnl(dev); if (in_dev == NULL) goto failure; ipv4_devconf_setall(in_dev); IPV4_DEVCONF(in_dev->cnf, RP_FILTER) = 0; if (dev_open(dev)) goto failure; dev_hold(dev); } } return dev;failure: /* allow the register to be completed before unregistering. */ rtnl_unlock(); rtnl_lock(); unregister_netdevice(dev); return NULL;}
开发者ID:mfleming,项目名称:linux-2.6,代码行数:60,
示例20: qtnf_del_virtual_intfint qtnf_del_virtual_intf(struct wiphy *wiphy, struct wireless_dev *wdev){ struct net_device *netdev = wdev->netdev; struct qtnf_vif *vif; if (WARN_ON(!netdev)) return -EFAULT; vif = qtnf_netdev_get_priv(wdev->netdev); if (qtnf_cmd_send_del_intf(vif)) pr_err("VIF%u.%u: failed to delete VIF/n", vif->mac->macid, vif->vifid); /* Stop data */ netif_tx_stop_all_queues(netdev); if (netif_carrier_ok(netdev)) netif_carrier_off(netdev); if (netdev->reg_state == NETREG_REGISTERED) unregister_netdevice(netdev); vif->netdev->ieee80211_ptr = NULL; vif->netdev = NULL; vif->wdev.iftype = NL80211_IFTYPE_UNSPECIFIED; eth_zero_addr(vif->mac_addr); return 0;}
开发者ID:mkrufky,项目名称:linux,代码行数:29,
示例21: lowpan_register_netdeviceint lowpan_register_netdevice(struct net_device *dev, enum lowpan_lltypes lltype){ int i, ret; dev->addr_len = EUI64_ADDR_LEN; dev->type = ARPHRD_6LOWPAN; dev->mtu = IPV6_MIN_MTU; dev->priv_flags |= IFF_NO_QUEUE; lowpan_dev(dev)->lltype = lltype; spin_lock_init(&lowpan_dev(dev)->ctx.lock); for (i = 0; i < LOWPAN_IPHC_CTX_TABLE_SIZE; i++) lowpan_dev(dev)->ctx.table[i].id = i; dev->ndisc_ops = &lowpan_ndisc_ops; ret = register_netdevice(dev); if (ret < 0) return ret; ret = lowpan_dev_debugfs_init(dev); if (ret < 0) unregister_netdevice(dev); return ret;}
开发者ID:AK101111,项目名称:linux,代码行数:28,
示例22: rtw_change_ifname/** Jeff: this function should be called under ioctl (rtnl_lock is accquired) while* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)*/int rtw_change_ifname(_adapter *padapter, const char *ifname){ struct net_device *pnetdev; struct net_device *cur_pnetdev; struct rereg_nd_name_data *rereg_priv; int ret; if(!padapter) goto error; cur_pnetdev = padapter->pnetdev; rereg_priv = &padapter->rereg_nd_name_priv; //free the old_pnetdev if(rereg_priv->old_pnetdev) { free_netdev(rereg_priv->old_pnetdev); rereg_priv->old_pnetdev = NULL; }#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)) if(!rtnl_is_locked()) unregister_netdev(cur_pnetdev); else#endif unregister_netdevice(cur_pnetdev); rereg_priv->old_pnetdev=cur_pnetdev; pnetdev = rtw_init_netdev(padapter); if (!pnetdev) { ret = -1; goto error; } SET_NETDEV_DEV(pnetdev, dvobj_to_dev(adapter_to_dvobj(padapter))); rtw_init_netdev_name(pnetdev, ifname); _rtw_memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)) if(!rtnl_is_locked()) ret = register_netdev(pnetdev); else#endif ret = register_netdevice(pnetdev); if ( ret != 0) { RT_TRACE(_module_hci_intfs_c_,_drv_err_,("register_netdev() failed/n")); goto error; } return 0;error: return -1;}
开发者ID:OpenLD,项目名称:linux-wetek-3.10.y,代码行数:63,
示例23: veth_dellinkstatic void veth_dellink(struct net_device *dev){ struct veth_priv *priv; struct net_device *peer; priv = netdev_priv(dev); peer = priv->peer; if (!list_empty(&priv->list)) list_del(&priv->list); priv = netdev_priv(peer); if (!list_empty(&priv->list)) list_del(&priv->list); unregister_netdevice(dev); unregister_netdevice(peer);}
开发者ID:PennPanda,项目名称:linux-repo,代码行数:18,
示例24: sit_cleanupvoid __exit sit_cleanup(void){ inet_del_protocol(&sit_protocol, IPPROTO_IPV6); rtnl_lock(); sit_destroy_tunnels(); unregister_netdevice(ipip6_fb_tunnel_dev); rtnl_unlock();}
开发者ID:nighthawk149,项目名称:fvs318g-cfw,代码行数:9,
示例25: sit_cleanupstatic void __exit sit_cleanup(void){ xfrm4_tunnel_deregister(&sit_handler, AF_INET6); rtnl_lock(); sit_destroy_tunnels(); unregister_netdevice(ipip6_fb_tunnel_dev); rtnl_unlock();}
开发者ID:matti,项目名称:asuswrt-merlin,代码行数:9,
示例26: unregister_hdlc_devicevoid unregister_hdlc_device(hdlc_device *hdlc){ if (hdlc_to_dev(hdlc)->name==NULL) return; /* device not registered */ destroy_pvc_list(hdlc); unregister_netdevice(hdlc_to_dev(hdlc)); MOD_DEC_USE_COUNT;}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:9,
示例27: sn_release_netdevvoid sn_release_netdev(struct sn_device *dev){ rtnl_lock(); /* it is possible that the netdev has already been unregistered */ if (dev && dev->netdev && dev->netdev->reg_state == NETREG_REGISTERED) unregister_netdevice(dev->netdev); rtnl_unlock();}
开发者ID:NetSys,项目名称:bess,代码行数:10,
示例28: internal_dev_destroystatic void internal_dev_destroy(struct vport *vport){ struct netdev_vport *netdev_vport = netdev_vport_priv(vport); netif_stop_queue(netdev_vport->dev); dev_set_promiscuity(netdev_vport->dev, -1); unregister_netdevice(netdev_vport->dev);}
开发者ID:MiniBlu,项目名称:cm11_kernel_htc_msm8974a3ul,代码行数:10,
示例29: internal_dev_destroystatic void internal_dev_destroy(struct vport *vport){ struct netdev_vport *netdev_vport = netdev_vport_priv(vport); netif_stop_queue(netdev_vport->dev); dev_set_promiscuity(netdev_vport->dev, -1); /* unregister_netdevice() waits for an RCU grace period. */ unregister_netdevice(netdev_vport->dev);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:10,
注:本文中的unregister_netdevice函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ unregister_netdevice_notifier函数代码示例 C++ unregister_net_sysctl_table函数代码示例 |