# OpenStack 源码分析之 Neutron

## OpenStack 源码分析之 Neutron

- [前言](https://yeasy.gitbook.io/openstack_code_neutron/master.md)
- [整体结构](https://yeasy.gitbook.io/openstack_code_neutron/overview.md)
- [bin](https://yeasy.gitbook.io/openstack_code_neutron/bin.md)
- [doc](https://yeasy.gitbook.io/openstack_code_neutron/doc.md)
- [etc](https://yeasy.gitbook.io/openstack_code_neutron/etc.md)
- [init.d/](https://yeasy.gitbook.io/openstack_code_neutron/etc/initd.md)
- [neutron/](https://yeasy.gitbook.io/openstack_code_neutron/etc/neutron.md)
- [api-paste.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/api-pasteini.md)
- [dhcp\_agent.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/dhcp_agentini.md)
- [fwaas\_driver.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/fwaas_driverini.md)
- [l3\_agent.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/l3_agentini.md)
- [lbaas\_agent.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/lbaas_agentini.md)
- [metadata\_agent.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/metadata_agentini.md)
- [metering\_agent.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/metering_agentini.md)
- [vpn\_agent.ini](https://yeasy.gitbook.io/openstack_code_neutron/etc/vpn_agentini.md)
- [neutron.conf](https://yeasy.gitbook.io/openstack_code_neutron/etc/neutronconf.md)
- [policy.json](https://yeasy.gitbook.io/openstack_code_neutron/etc/policyjson.md)
- [rootwrap.conf](https://yeasy.gitbook.io/openstack_code_neutron/etc/rootwrapconf.md)
- [services.conf](https://yeasy.gitbook.io/openstack_code_neutron/etc/servicesconf.md)
- [neutron](https://yeasy.gitbook.io/openstack_code_neutron/neutron.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent.md)
- [common/](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/common.md)
- [linux/](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/linux.md)
- [metadata/](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/metadata.md)
- [dhcp\_agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/dhcp_agentpy.md)
- [firewall.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/firewallpy.md)
- [l2population\_rpc.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/l2population_rpcpy.md)
- [l3\_agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/l3_agentpy.md)
- [l3\_ha\_agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/l3_ha_agentpy.md)
- [netns\_cleanup\_util.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/netns_cleanup_utilpy.md)
- [ovs\_cleanup\_util.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/ovs_cleanup_utilpy.md)
- [rpc.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/rpcpy.md)
- [securitygroups\_rpc.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/agent/securitygroups_rpcpy.md)
- [api](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api.md)
- [rpc](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api/rpc.md)
- [v2](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api/v2.md)
- [views](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api/views.md)
- [api\_common.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api/api_commonpy.md)
- [extensions.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api/extensionspy.md)
- [versions.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/api/versionspy.md)
- [cmd](https://yeasy.gitbook.io/openstack_code_neutron/neutron/cmd.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common.md)
- [config.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/configpy.md)
- [constants.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/constantspy.md)
- [exceptions.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/exceptionspy.md)
- [ipv6\_utils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/ipv6_utilspy.md)
- [log.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/logpy.md)
- [rpc.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/rpcpy.md)
- [test\_lib.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/test_libpy.md)
- [topics.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/topicspy.md)
- [utils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/common/utilspy.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db.md)
- [agents\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/agents_dbpy.md)
- [agentschedulers\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/agentschedulers_dbpy.md)
- [api.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/apipy.md)
- [common\_db\_mixin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/common_db_mixinpy.md)
- [db\_base\_plugin\_v2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/db_base_plugin_v2py.md)
- [migration](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/migration.md)
- [model\_base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/model_basepy.md)
- [models\_v2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/models_v2py.md)
- [securitygroups\_rpc\_base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/securitygroups_rpc_basepy.md)
- [sqlalchemyutils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/sqlalchemyutilspy.md)
- [扩展资源和操作类](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions.md)
- [allowedaddresspairs\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/allowedaddresspairs_dbpy.md)
- [dvr\_mac\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/dvr_mac_dbpy.md)
- [external\_net\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/external_net_dbpy.md)
- [extradhcpopt\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/extradhcpopt_dbpy.md)
- [extraroute\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/extraroute_dbpy.md)
- [firewall](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/firewall.md)
- [l3\_agentschedulers\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_agentschedulers_dbpy.md)
- [l3\_attrs\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_attrs_dbpy.md)
- [l3\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_dbpy.md)
- [l3\_dvr\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_dvr_dbpy.md)
- [l3\_dvrscheduler\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_dvrscheduler_db.py.md)
- [l3\_gwmode\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_gwmode_dbpy.md)
- [l3\_hamode\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_hamode_dbpy.md)
- [l3\_hascheduler\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/l3_hascheduler_dbpy.md)
- [loadbalancer](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/loadbalancer.md)
- [metering](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/metering.md)
- [portbindings\_base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/portbindings_basepy.md)
- [portbindings\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/portbindings_dbpy.md)
- [portsecurity\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/portsecurity_dbpy.md)
- [quota\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/quota_dbpy.md)
- [routedserviceinsertion\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/routedserviceinsertion_dbpy.md)
- [routerservicetype\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/routerservicetype_dbpy.md)
- [securitygroups\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/securitygroups_dbpy.md)
- [servicetype\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/servicetype_dbpy.md)
- [vpn](https://yeasy.gitbook.io/openstack_code_neutron/neutron/db/extensions/vpn.md)
- [debug](https://yeasy.gitbook.io/openstack_code_neutron/neutron/debug.md)
- [commands.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/debug/commandspy.md)
- [debug\_agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/debug/debug_agentpy.md)
- [shell.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/debug/shellpy.md)
- [extensions](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions.md)
- [agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/agentpy.md)
- [allowedaddresspairs.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/allowedaddresspairspy.md)
- [dhcpagentscheduler.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/dhcpagentschedulerpy.md)
- [dvr.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/dvrpy.md)
- [external\_net.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/external_netpy.md)
- [extraroute.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/extraroutepy.md)
- [extra\_dhcp\_opt.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/extra_dhcp_optpy.md)
- [firewall.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/firewallpy.md)
- [flavor.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/flavorpy.md)
- [l3.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/l3py.md)
- [l3agentscheduler.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/l3agentschedulerpy.md)
- [l3\_ext\_gw\_mode.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/l3_ext_gw_modepy.md)
- [l3\_ext\_ha\_mode.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/l3_ext_ha_modepy.md)
- [lbaas\_agentscheduler.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/lbaas_agentschedulerpy.md)
- [loadbalancer.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/loadbalancerpy.md)
- [metering.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/meteringpy.md)
- [multiprovidernet.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/multiprovidernetpy.md)
- [portbindings.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/portbindingspy.md)
- [portsecurity.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/portsecuritypy.md)
- [providernet.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/providernetpy.md)
- [quotasv2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/quotasv2py.md)
- [routedserviceinsertion.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/routedserviceinsertionpy.md)
- [routerservicetype.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/routerservicetypepy.md)
- [securitygroup.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/securitygrouppy.md)
- [servicetype.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/servicetypepy.md)
- [vpnaas.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/vpnaaspy.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/extensions/init.py.md)
- [hacking](https://yeasy.gitbook.io/openstack_code_neutron/neutron/hacking.md)
- [checks.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/hacking/checkspy.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/hacking/init.py.md)
- [locale](https://yeasy.gitbook.io/openstack_code_neutron/neutron/locale.md)
- [notifiers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/notifiers.md)
- [nova.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/notifiers/novapy.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/notifiers/init.py.md)
- [openstack](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common.md)
- [cache](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/cache.md)
- [context.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/contextpy.md)
- [eventlet\_backdoor.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/eventlet_backdoorpy.md)
- [fileutils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/fileutilspy.md)
- [fixture](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/fixture.md)
- [local.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/localpy.md)
- [lockutils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/lockutilspy.md)
- [log.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/logpy.md)
- [loopingcall.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/loopingcallpy.md)
- [middleware](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/middleware.md)
- [periodic\_task.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/periodic_taskpy.md)
- [policy.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/policypy.md)
- [processutils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/processutilspy.md)
- [service.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/servicepy.md)
- [systemd.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/systemdpy.md)
- [threadgroup.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/threadgrouppy.md)
- [uuidutils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/uuidutilspy.md)
- [versionutils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/versionutilspy.md)
- [\_i18n.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/openstack/common/_i18npy.md)
- [plugins](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins.md)
- [bigswitch](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/agent.md)
- [config.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/config.py.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/db.md)
- [extensions](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/extensions.md)
- [l3\_router\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/l3_router_plugin.py.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/plugin.py.md)
- [routerrule\_db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/routerrule_db.py.md)
- [servermanager.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/servermanager.py.md)
- [tests](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/tests.md)
- [vcsversion.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/vcsversion.py.md)
- [version.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/version.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/bigswitch/init.py.md)
- [brocade](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade/db.md)
- [NeutronPlugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade/neutronplugin.py.md)
- [nos](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade/nos.md)
- [tests](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade/tests.md)
- [vlanbm.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade/vlanbm.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/brocade/init.py.md)
- [cisco](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco.md)
- [cfg\_agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/cfg_agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/common.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/db.md)
- [extensions](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/extensions.md)
- [l2device\_plugin\_base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/l2device_plugin_base.py.md)
- [l3](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/l3.md)
- [models](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/models.md)
- [n1kv](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/n1kv.md)
- [network\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/network_plugin.py.md)
- [service\_plugins](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/service_plugins.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/cisco/init.py.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/common.md)
- [constants.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/common/constants.py.md)
- [utils.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/common/utils.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/common/init.py.md)
- [embrane](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane/agent.md)
- [base\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane/base_plugin.py.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane/common.md)
- [l2base](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane/l2base.md)
- [plugins](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane/plugins.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/embrane/init.py.md)
- [hyperv](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/agent.md)
- [agent\_notifier\_api.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/agent_notifier_api.py.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/common.md)
- [db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/db.py.md)
- [hyperv\_neutron\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/hyperv_neutron_plugin.py.md)
- [model.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/model.py.md)
- [rpc\_callbacks.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/rpc_callbacks.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/hyperv/init.py.md)
- [ibm](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ibm.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ibm/agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ibm/common.md)
- [sdnve\_api.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ibm/sdnve_apipy.md)
- [sdnve\_api\_fake.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ibm/sdnve_api_fakepy.md)
- [sdnve\_neutron\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ibm/sdnve_neutron_pluginpy.md)
- [linuxbridge](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/linuxbridge.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/linuxbridge/agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/linuxbridge/common.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/linuxbridge/db.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/linuxbridge/init.py.md)
- [metaplugin](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin/common.md)
- [meta\_db\_v2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin/meta_db_v2.py.md)
- [meta\_models\_v2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin/meta_models_v2.py.md)
- [meta\_neutron\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin/meta_neutron_plugin.py.md)
- [proxy\_neutron\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin/proxy_neutron_plugin.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/metaplugin/init.py.md)
- [midonet](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/midonet.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/midonet/agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/midonet/common.md)
- [midonet\_lib.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/midonet/midonet_lib.py.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/midonet/plugin.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/midonet/init.py.md)
- [ml2](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/common.md)
- [config.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/configpy.md)
- [db.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/dbpy.md)
- [drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/drivers.md)
- [driver\_api.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/driver_apipy.md)
- [driver\_context.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/driver_contextpy.md)
- [managers.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/managerspy.md)
- [models.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/modelspy.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/pluginpy.md)
- [rpc.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ml2/rpcpy.md)
- [mlnx](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/agent.md)
- [agent\_notify\_api.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/agent_notify_api.py.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/common.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/db.md)
- [mlnx\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/mlnx_plugin.py.md)
- [rpc\_callbacks.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/rpc_callbacks.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/mlnx/init.py.md)
- [nec](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/common.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/db.md)
- [drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/drivers.md)
- [extensions](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/extensions.md)
- [nec\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/nec_plugin.py.md)
- [nec\_router.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/nec_router.py.md)
- [ofc\_driver\_base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/ofc_driver_base.py.md)
- [ofc\_manager.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/ofc_manager.py.md)
- [packet\_filter.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/packet_filter.py.md)
- [router\_drivers.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/router_drivers.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nec/init.py.md)
- [nuage](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/common.md)
- [extensions](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/extensions.md)
- [nuagedb.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/nuagedb.py.md)
- [nuage\_models.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/nuage_models.py.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/plugin.py.md)
- [syncmanager.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/syncmanager.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/nuage/init.py.md)
- [ofagent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ofagent.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ofagent/agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/ofagent/common.md)
- [oneconvergence](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/oneconvergence.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/oneconvergence/agent.md)
- [lib](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/oneconvergence/lib.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/oneconvergence/plugin.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/oneconvergence/init.py.md)
- [opencontrail](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/opencontrail.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/opencontrail/common.md)
- [contrail\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/opencontrail/contrail_plugin.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/opencontrail/init.py.md)
- [openvswitch](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/openvswitch.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/openvswitch/agent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/openvswitch/common.md)
- [ovs\_models\_v2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/openvswitch/ovs_models_v2py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/openvswitch/init.py.md)
- [plumgrid](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/plumgrid.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/plumgrid/common.md)
- [drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/plumgrid/drivers.md)
- [plumgrid\_plugin](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/plumgrid/plumgrid_plugin.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/plumgrid/init.py.md)
- [sriovnicagent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/sriovnicagent.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/sriovnicagent/common.md)
- [eswitch\_manager.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/sriovnicagent/eswitch_manager.py.md)
- [pci\_lib.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/sriovnicagent/pci_lib.py.md)
- [sriov\_nic\_agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/sriovnicagent/sriov_nic_agent.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/sriovnicagent/init.py.md)
- [vmware](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware.md)
- [api\_client](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/api_client.md)
- [check\_nsx\_config.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/check_nsx_config.py.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/common.md)
- [dbexts](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/dbexts.md)
- [dhcpmeta\_modes.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/dhcpmeta_modes.py.md)
- [dhcp\_meta](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/dhcp_meta.md)
- [extensions](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/extensions.md)
- [nsxlib](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/nsxlib.md)
- [nsx\_cluster.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/nsx_cluster.py.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/plugin.py.md)
- [plugins](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/plugins.md)
- [shell](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/shell.md)
- [vshield](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/vshield.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/plugins/vmware/init.py.md)
- [scheduler](https://yeasy.gitbook.io/openstack_code_neutron/neutron/scheduler.md)
- [dhcp\_agent\_scheduler.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/scheduler/dhcp_agent_schedulerpy.md)
- [l3\_agent\_scheduler.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/scheduler/l3_agent_schedulerpy.md)
- [server](https://yeasy.gitbook.io/openstack_code_neutron/neutron/server.md)
- [service.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/service.py.md)
- [services](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services.md)
- [firewall](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/firewall.md)
- [agents](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/firewall/agents.md)
- [drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/firewall/drivers.md)
- [fwaas\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/firewall/fwaas_pluginpy.md)
- [l3\_router](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/l3_router.md)
- [brocade](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/l3_router/brocade.md)
- [l3\_apic.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/l3_router/l3_apicpy.md)
- [l3\_arista.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/l3_router/l3_arista.py.md)
- [l3\_router\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/l3_router/l3_router_pluginpy.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/l3_router/init.py.md)
- [loadbalancer](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/loadbalancer.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/loadbalancer/agent.md)
- [agent\_scheduler.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/loadbalancer/agent_schedulerpy.md)
- [constants.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/loadbalancer/constantspy.md)
- [drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/loadbalancer/drivers.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/loadbalancer/pluginpy.md)
- [metering](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/metering.md)
- [agents](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/metering/agents.md)
- [drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/metering/drivers.md)
- [metering\_plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/metering/metering_pluginpy.md)
- [provider\_configuration.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/provider_configurationpy.md)
- [service\_base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/service_basepy.md)
- [vpn](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn.md)
- [agent.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn/agentpy.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn/common.md)
- [device\_drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn/device_drivers.md)
- [plugin.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn/plugin.py.md)
- [service\_drivers](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn/service_drivers.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/vpn/init.py.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/services/init.py.md)
- [tests](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests.md)
- [base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/base.py.md)
- [common](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/common.md)
- [agents](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/common/agents.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/common/init.py.md)
- [etc](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/etc.md)
- [rootwrap.d](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/etc/rootwrap.d.md)
- [fake\_notifier.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/fake_notifier.py.md)
- [functional](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional.md)
- [agent](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional/agent.md)
- [base.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional/base.py.md)
- [contrib](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional/contrib.md)
- [db](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional/db.md)
- [sanity](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional/sanity.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/functional/init.py.md)
- [post\_mortem\_debug.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/post_mortem_debug.py.md)
- [tools.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/tools.py.md)
- [unit](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/unit.md)
- [var](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/var.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/tests/init.py.md)
- [auth.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/auth.py.md)
- [context.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/context.py.md)
- [hooks.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/hooks.py.md)
- [i18n.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/i18n.py.md)
- [manager.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/manager.py.md)
- [neutron\_plugin\_base\_v2.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/neutron_plugin_base_v2.py.md)
- [policy.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/policy.py.md)
- [quota.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/quota.py.md)
- [service.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/service.py-1.md)
- [version.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/version.py.md)
- [wsgi.py](https://yeasy.gitbook.io/openstack_code_neutron/neutron/wsgi.py.md)
- [rally-jobs](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs.md)
- [extra](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/extra.md)
- [README.rst](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/extra/readme.rst.md)
- [plugins](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/plugins.md)
- [README.rst](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/plugins/readme.rst.md)
- [init.py](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/plugins/__init__.py.md)
- [neutron-neutron.yaml](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/neutron-neutron.yaml.md)
- [README.rst](https://yeasy.gitbook.io/openstack_code_neutron/rally-jobs/readme.rst.md)
- [tools](https://yeasy.gitbook.io/openstack_code_neutron/tools.md)
- [check\_bash.sh](https://yeasy.gitbook.io/openstack_code_neutron/tools/check_bash.sh.md)
- [check\_i18n.py](https://yeasy.gitbook.io/openstack_code_neutron/tools/check_i18n.py.md)
- [check\_i18n\_test\_case.txt](https://yeasy.gitbook.io/openstack_code_neutron/tools/check_i18n_test_case.txt.md)
- [clean.sh](https://yeasy.gitbook.io/openstack_code_neutron/tools/clean.sh.md)
- [i18n\_cfg.py](https://yeasy.gitbook.io/openstack_code_neutron/tools/i18n_cfg.py.md)
- [install\_venv.py](https://yeasy.gitbook.io/openstack_code_neutron/tools/install_venv.py.md)
- [install\_venv\_common.py](https://yeasy.gitbook.io/openstack_code_neutron/tools/install_venv_common.py.md)
- [pretty\_tox.sh](https://yeasy.gitbook.io/openstack_code_neutron/tools/pretty_tox.sh.md)
- [with\_venv.sh](https://yeasy.gitbook.io/openstack_code_neutron/tools/with_venv.sh.md)
- [理解代码](https://yeasy.gitbook.io/openstack_code_neutron/understanding.md)
- [调用逻辑](https://yeasy.gitbook.io/openstack_code_neutron/understanding/call_logic.md)
- [REST API 专题](https://yeasy.gitbook.io/openstack_code_neutron/understanding/rest_api.md)
- [RPC 专题](https://yeasy.gitbook.io/openstack_code_neutron/understanding/rpc.md)
- [agent RPC](https://yeasy.gitbook.io/openstack_code_neutron/understanding/rpc/agent_rpc.md)
- [plugin RPC](https://yeasy.gitbook.io/openstack_code_neutron/understanding/rpc/plugin_rpc.md)
- [neutron-server RPC](https://yeasy.gitbook.io/openstack_code_neutron/understanding/rpc/neutron_server_rpc.md)
- [Plugin 专题](https://yeasy.gitbook.io/openstack_code_neutron/understanding/plugin.md)
- [Extension 专题](https://yeasy.gitbook.io/openstack_code_neutron/understanding/extension.md)
- [Agent 专题](https://yeasy.gitbook.io/openstack_code_neutron/understanding/agent.md)
- [Driver 专题](https://yeasy.gitbook.io/openstack_code_neutron/understanding/driver-zhuan-ti.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://yeasy.gitbook.io/openstack_code_neutron/master.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
