Reference verification
Review that the targeted function matches what the text describes.
| Report file | Line | Reference | Status | Targeted function |
|---|---|---|---|---|
| 00-summary_stable-2026.2.md | 45 | neutron_vpnaas/services/vpn/plugin.py:56 | OK | VPNDriverPlugin |
| 00-summary_stable-2026.2.md | 45 | neutron_vpnaas/services/vpn/ovn_plugin.py:77 | OK | VPNOVNDriverPlugin |
| 00-summary_stable-2026.2.md | 45 | pyproject.toml:57-60 | OK | <module> |
| 00-summary_stable-2026.2.md | 45 | neutron_vpnaas/services/vpn/service_drivers/ipsec.py:34-39 | OK | create_rpc_conn |
| 00-summary_stable-2026.2.md | 46 | neutron_vpnaas/services/vpn/plugin.py:80-85 | OK | start_rpc_listeners |
| 00-summary_stable-2026.2.md | 46 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:510-515 | OK | start_rpc_listeners |
| 00-summary_stable-2026.2.md | 47 | neutron_vpnaas/services/vpn/ovn/maintenance.py:20-35 | OK | VPNOVNMaintenancePeriodics |
| 00-summary_stable-2026.2.md | 48 | pyproject.toml:49 | OK | <module> |
| 00-summary_stable-2026.2.md | 48 | neutron_vpnaas/services/vpn/ovn_agent.py:65-72 | OK | main |
| 00-summary_stable-2026.2.md | 49 | neutron_vpnaas/services/vpn/agent.py:108 | OK | L3WithVPNaaS |
| 00-summary_stable-2026.2.md | 49 | pyproject.toml:51-52 | OK | <module> |
| 00-summary_stable-2026.2.md | 50 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:159 | OK | main |
| 00-summary_stable-2026.2.md | 50 | pyproject.toml:48 | OK | <module> |
| 00-summary_stable-2026.2.md | 76 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:31-35 | OK | init |
| 00-summary_stable-2026.2.md | 77 | neutron_vpnaas/services/vpn/ovn_plugin.py:53-54 | OK | check_router_in_use |
| 01-rest-api_stable-2026.2.md | 6 | pyproject.toml:57-60 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 6 | neutron-lib:neutron_lib/api/definitions/vpn.py:230 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 6 | neutron-lib:neutron_lib/api/definitions/vpn_endpoint_groups.py:43 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 6 | neutron:neutron/api/v2/base.py | OK | |
| 01-rest-api_stable-2026.2.md | 14 | neutron_vpnaas/services/vpn/plugin.py:56 | OK | VPNDriverPlugin |
| 01-rest-api_stable-2026.2.md | 14 | neutron_vpnaas/services/vpn/service_drivers/ipsec.py:27 | OK | IPsecVPNDriver |
| 01-rest-api_stable-2026.2.md | 14 | neutron_vpnaas/services/vpn/agent.py:108 | OK | L3WithVPNaaS |
| 01-rest-api_stable-2026.2.md | 15 | neutron_vpnaas/services/vpn/ovn_plugin.py:77 | OK | VPNOVNDriverPlugin |
| 01-rest-api_stable-2026.2.md | 15 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:503 | OK | IPsecOvnVPNDriver |
| 01-rest-api_stable-2026.2.md | 15 | neutron_vpnaas/agent/ovn/vpn/agent.py:79 | OK | OvnVpnAgent |
| 01-rest-api_stable-2026.2.md | 19 | neutron_vpnaas/services/vpn/plugin.py:53 | OK | VPNPlugin |
| 01-rest-api_stable-2026.2.md | 19 | neutron_vpnaas/services/vpn/ovn_plugin.py:74 | OK | ovn_maintenance_periodics |
| 01-rest-api_stable-2026.2.md | 19 | neutron_vpnaas/policies/vpnservice.py:22-93 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 23 | neutron_vpnaas/db/vpn/vpn_db.py:380 | OK | get_ikepolicies |
| 01-rest-api_stable-2026.2.md | 24 | neutron_vpnaas/db/vpn/vpn_db.py:318 | OK | create_ikepolicy |
| 01-rest-api_stable-2026.2.md | 25 | neutron_vpnaas/db/vpn/vpn_db.py:374 | OK | get_ikepolicy |
| 01-rest-api_stable-2026.2.md | 26 | neutron_vpnaas/db/vpn/vpn_db.py:344 | OK | update_ikepolicy |
| 01-rest-api_stable-2026.2.md | 27 | neutron_vpnaas/db/vpn/vpn_db.py:364 | OK | delete_ikepolicy |
| 01-rest-api_stable-2026.2.md | 28 | neutron_vpnaas/db/vpn/vpn_db.py:466 | OK | get_ipsecpolicies |
| 01-rest-api_stable-2026.2.md | 29 | neutron_vpnaas/db/vpn/vpn_db.py:404 | OK | create_ipsecpolicy |
| 01-rest-api_stable-2026.2.md | 30 | neutron_vpnaas/db/vpn/vpn_db.py:460 | OK | get_ipsecpolicy |
| 01-rest-api_stable-2026.2.md | 31 | neutron_vpnaas/db/vpn/vpn_db.py:428 | OK | update_ipsecpolicy |
| 01-rest-api_stable-2026.2.md | 32 | neutron_vpnaas/db/vpn/vpn_db.py:449 | OK | delete_ipsecpolicy |
| 01-rest-api_stable-2026.2.md | 33 | neutron_vpnaas/db/vpn/vpn_db.py:680 | OK | get_endpoint_groups |
| 01-rest-api_stable-2026.2.md | 34 | neutron_vpnaas/db/vpn/vpn_db.py:635 | OK | create_endpoint_group |
| 01-rest-api_stable-2026.2.md | 35 | neutron_vpnaas/db/vpn/vpn_db.py:674 | OK | get_endpoint_group |
| 01-rest-api_stable-2026.2.md | 36 | neutron_vpnaas/db/vpn/vpn_db.py:655 | OK | update_endpoint_group |
| 01-rest-api_stable-2026.2.md | 37 | neutron_vpnaas/db/vpn/vpn_db.py:666 | OK | delete_endpoint_group |
| 01-rest-api_stable-2026.2.md | 38 | neutron_vpnaas/db/vpn/vpn_db.py:560 | OK | get_vpnservices |
| 01-rest-api_stable-2026.2.md | 39 | neutron_vpnaas/services/vpn/plugin.py:204 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 40 | neutron_vpnaas/db/vpn/vpn_db.py:554 | OK | get_vpnservice |
| 01-rest-api_stable-2026.2.md | 41 | neutron_vpnaas/services/vpn/plugin.py:214 | OK | update_vpnservice |
| 01-rest-api_stable-2026.2.md | 42 | neutron_vpnaas/services/vpn/plugin.py:222 | OK | delete_vpnservice |
| 01-rest-api_stable-2026.2.md | 43 | neutron_vpnaas/db/vpn/vpn_db.py:275 | OK | get_ipsec_site_connections |
| 01-rest-api_stable-2026.2.md | 44 | neutron_vpnaas/services/vpn/plugin.py:166 | OK | create_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 45 | neutron_vpnaas/db/vpn/vpn_db.py:267 | OK | get_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 46 | neutron_vpnaas/services/vpn/plugin.py:186 | OK | update_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 47 | neutron_vpnaas/services/vpn/plugin.py:177 | OK | delete_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 48 | neutron_vpnaas/extensions/vpn_agentschedulers.py:50 | OK | index |
| 01-rest-api_stable-2026.2.md | 49 | neutron_vpnaas/extensions/vpn_agentschedulers.py:58 | OK | create |
| 01-rest-api_stable-2026.2.md | 50 | neutron_vpnaas/extensions/vpn_agentschedulers.py:70 | OK | delete |
| 01-rest-api_stable-2026.2.md | 51 | neutron_vpnaas/extensions/vpn_agentschedulers.py:91 | OK | index |
| 01-rest-api_stable-2026.2.md | 53 | neutron_vpnaas/services/vpn/ovn_plugin.py:70 | OK | ovn_maintenance_periodics |
| 01-rest-api_stable-2026.2.md | 59 | neutron-lib:neutron_lib/api/definitions/vpn.py:71 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 59 | neutron-lib:neutron_lib/api/definitions/vpn_aes_ccm_gcm.py:27 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 59 | neutron-lib:neutron_lib/api/definitions/vpn_aes_ctr.py:38 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 59 | neutron-lib:neutron_lib/api/definitions/vpn_no_sha1_3des.py:33-89 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 61 | neutron:neutron/api/extensions.py:353-364 | OK | extend_resources |
| 01-rest-api_stable-2026.2.md | 61 | neutron:neutron/api/extensions.py:447 | OK | _load_all_extensions_from_path |
| 01-rest-api_stable-2026.2.md | 61 | neutron-lib:neutron_lib/api/definitions/vpn_no_sha1_3des.py:38-41 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 61 | neutron_vpnaas/db/vpn/vpn_models.py:32-41 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 74 | neutron_vpnaas/db/vpn/vpn_db.py:322-323 | OK | create_ikepolicy |
| 01-rest-api_stable-2026.2.md | 76 | neutron_vpnaas/db/vpn/vpn_validator.py:229-231 | OK | assign_sensible_ipsec_sitecon_defaults |
| 01-rest-api_stable-2026.2.md | 85 | neutron_vpnaas/policies/ike_policy.py:22-90 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 89 | neutron_vpnaas/db/vpn/vpn_db.py:321-323 | OK | create_ikepolicy |
| 01-rest-api_stable-2026.2.md | 90 | neutron_vpnaas/db/vpn/vpn_db.py:349-351 | OK | update_ikepolicy |
| 01-rest-api_stable-2026.2.md | 90 | neutron_vpnaas/db/vpn/vpn_db.py:366-368 | OK | delete_ikepolicy |
| 01-rest-api_stable-2026.2.md | 91 | neutron_vpnaas/db/vpn/vpn_validator.py:357-363 | OK | validate_ike_policy |
| 01-rest-api_stable-2026.2.md | 94 | neutron-lib:neutron_lib/api/definitions/vpn.py:467-473 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 98 | neutron_vpnaas/db/vpn/vpn_db.py:300-316 | OK | _make_ikepolicy_dict |
| 01-rest-api_stable-2026.2.md | 101 | neutron-lib:api-ref/source/v2/vpnaas.inc:62 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 105 | neutron_vpnaas/db/vpn/vpn_db.py:385-469 | OK | _make_ipsecpolicy_dict |
| 01-rest-api_stable-2026.2.md | 108 | neutron_vpnaas/db/vpn/vpn_validator.py:297-303 | OK | validate_ipsec_policy |
| 01-rest-api_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/service_drivers/ipsec_validator.py:30-50 | OK | _check_transform_protocol |
| 01-rest-api_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:31-35 | OK | init |
| 01-rest-api_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/service_drivers/driver_validator.py:17-29 | OK | VpnDriverValidator |
| 01-rest-api_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.conf.template:29-35 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 110 | neutron_vpnaas/db/vpn/vpn_db.py:433-436 | OK | update_ipsecpolicy |
| 01-rest-api_stable-2026.2.md | 110 | neutron_vpnaas/db/vpn/vpn_db.py:451-454 | OK | delete_ipsecpolicy |
| 01-rest-api_stable-2026.2.md | 116 | neutron_vpnaas/policies/endpoint_group.py:22-90 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 117 | neutron_vpnaas/db/vpn/vpn_validator.py:328-355 | OK | validate_endpoint_group |
| 01-rest-api_stable-2026.2.md | 123 | neutron-lib:neutron_lib/api/definitions/vpn_endpoint_groups.py:77-90 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 124 | neutron_vpnaas/db/vpn/vpn_db.py:685-693 | OK | check_endpoint_group_not_in_use |
| 01-rest-api_stable-2026.2.md | 125 | neutron_vpnaas/db/vpn/vpn_db.py:793-799 | OK | subnet_callback |
| 01-rest-api_stable-2026.2.md | 136 | neutron_vpnaas/db/vpn/vpn_validator.py:275-278 | OK | _check_router |
| 01-rest-api_stable-2026.2.md | 137 | neutron_vpnaas/db/vpn/vpn_validator.py:280-289 | OK | _check_subnet_id |
| 01-rest-api_stable-2026.2.md | 138 | neutron_vpnaas/services/vpn/plugin.py:129-150 | OK | _get_provider_for_flavor |
| 01-rest-api_stable-2026.2.md | 143 | neutron_vpnaas/services/vpn/plugin.py:205-209 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 145 | neutron_vpnaas/db/vpn/vpn_db.py:485-502 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 146 | neutron_vpnaas/services/vpn/plugin.py:208 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 147 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:168-183 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 148 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:60-61 | OK | _get_agent_hosting_vpn_services |
| 01-rest-api_stable-2026.2.md | 149 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:373-435 | OK | _setup |
| 01-rest-api_stable-2026.2.md | 151 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:375 | OK | _setup |
| 01-rest-api_stable-2026.2.md | 151 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:39-41 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 152 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:350-370 | OK | _ensure_gateway |
| 01-rest-api_stable-2026.2.md | 154 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:258-273 | OK | make_gw_port |
| 01-rest-api_stable-2026.2.md | 155 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:169-213 | OK | make_transit_network |
| 01-rest-api_stable-2026.2.md | 156 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:403-405 | OK | _setup |
| 01-rest-api_stable-2026.2.md | 157 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:323-343 | OK | _get_gateway_ips |
| 01-rest-api_stable-2026.2.md | 158 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:425-434 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 163 | neutron_vpnaas/db/vpn/vpn_db.py:520-523 | OK | set_vpnservice_status |
| 01-rest-api_stable-2026.2.md | 163 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:431-433 | OK | create_vpnservice |
| 01-rest-api_stable-2026.2.md | 164 | neutron_vpnaas/extensions/vpnaas.py:46-47 | OK | NoVPNAgentAvailable |
| 01-rest-api_stable-2026.2.md | 164 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:376-377 | OK | _setup |
| 01-rest-api_stable-2026.2.md | 168 | neutron_vpnaas/db/vpn/vpn_db.py:471-483 | OK | _make_vpnservice_dict |
| 01-rest-api_stable-2026.2.md | 173 | neutron_vpnaas/db/vpn/vpn_db.py:88-92 | OK | assert_update_allowed |
| 01-rest-api_stable-2026.2.md | 173 | neutron_vpnaas/db/vpn/vpn_db.py:532 | OK | update_vpnservice |
| 01-rest-api_stable-2026.2.md | 174 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:185-186 | OK | update_vpnservice |
| 01-rest-api_stable-2026.2.md | 174 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:315-327 | OK | update |
| 01-rest-api_stable-2026.2.md | 177 | neutron_vpnaas/db/vpn/vpn_db.py:537-546 | OK | delete_vpnservice |
| 01-rest-api_stable-2026.2.md | 178 | neutron_vpnaas/services/vpn/plugin.py:222-228 | OK | delete_vpnservice |
| 01-rest-api_stable-2026.2.md | 178 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:407-443 | OK | _cleanup |
| 01-rest-api_stable-2026.2.md | 179 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:437-443 | OK | delete_vpnservice |
| 01-rest-api_stable-2026.2.md | 187 | neutron_vpnaas/policies/ipsec_site_connection.py:23 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 188 | neutron_vpnaas/db/vpn/vpn_db.py:159-164 | OK | create_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 190 | neutron_vpnaas/services/vpn/plugin.py:169-171 | OK | create_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 190 | neutron_vpnaas/services/vpn/service_drivers/ipsec_validator.py:46-50 | OK | validate_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 191 | neutron_vpnaas/db/vpn/vpn_validator.py:206-238 | OK | assign_sensible_ipsec_sitecon_defaults |
| 01-rest-api_stable-2026.2.md | 192 | neutron_vpnaas/db/vpn/vpn_validator.py:166-204 | OK | validate_ipsec_conn_optional_args |
| 01-rest-api_stable-2026.2.md | 195 | neutron_vpnaas/db/vpn/vpn_validator.py:252-262 | OK | validate_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 196 | neutron_vpnaas/db/vpn/vpn_validator.py:263-266 | OK | validate_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 199 | neutron_vpnaas/db/vpn/vpn_validator.py:38 | OK | VpnReferenceValidator |
| 01-rest-api_stable-2026.2.md | 200 | neutron_vpnaas/db/vpn/vpn_validator.py:82-96 | OK | resolve_peer_address |
| 01-rest-api_stable-2026.2.md | 201 | neutron_vpnaas/db/vpn/vpn_validator.py:67-80 | OK | _validate_peer_address |
| 01-rest-api_stable-2026.2.md | 202 | neutron_vpnaas/db/vpn/vpn_db.py:180-182 | OK | create_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 204 | neutron_vpnaas/db/vpn/vpn_db.py:153-203 | OK | create_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 205 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:297-321 | OK | _update_static_routes |
| 01-rest-api_stable-2026.2.md | 206 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:82-104 | OK | _agent_notification |
| 01-rest-api_stable-2026.2.md | 206 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:477-500 | OK | _agent_notification |
| 01-rest-api_stable-2026.2.md | 209 | neutron_vpnaas/db/vpn/vpn_db.py:587-608 | OK | check_subnet_in_use |
| 01-rest-api_stable-2026.2.md | 211 | neutron-lib:neutron_lib/api/definitions/vpn.py:425-431 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 211 | neutron_vpnaas/db/vpn/vpn_db.py:106 | OK | _make_ipsec_site_connection_dict |
| 01-rest-api_stable-2026.2.md | 212 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:267-281 | OK | _get_nexthop |
| 01-rest-api_stable-2026.2.md | 213 | neutron_vpnaas/db/vpn/vpn_models.py:54 | OK | IPsecPeerCidr |
| 01-rest-api_stable-2026.2.md | 217 | neutron_vpnaas/db/vpn/vpn_db.py:94-124 | OK | _make_ipsec_site_connection_dict |
| 01-rest-api_stable-2026.2.md | 221 | neutron_vpnaas/db/vpn/vpn_db.py:217-225 | OK | update_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 221 | neutron_vpnaas/db/vpn/vpn_db.py:226 | OK | update_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 221 | neutron_vpnaas/db/vpn/vpn_db.py:228-244 | OK | update_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 222 | neutron_vpnaas/services/vpn/plugin.py:193-195 | OK | update_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 225 | neutron_vpnaas/services/vpn/plugin.py:177-184 | OK | delete_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 231 | neutron_vpnaas/extensions/vpn_agentschedulers.py:52-54 | OK | index |
| 01-rest-api_stable-2026.2.md | 231 | neutron_vpnaas/extensions/vpn_agentschedulers.py:93-95 | OK | index |
| 01-rest-api_stable-2026.2.md | 231 | neutron_vpnaas/policies/__init__.py:22-29 | OK | list_rules |
| 01-rest-api_stable-2026.2.md | 233 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:132-139 | OK | validate_agent_router_combination |
| 01-rest-api_stable-2026.2.md | 233 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:187-214 | OK | add_router_to_vpn_agent |
| 01-rest-api_stable-2026.2.md | 234 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:21-52 | OK | <module> |
| 01-rest-api_stable-2026.2.md | 234 | neutron_vpnaas/services/vpn/ovn_plugin.py:78-84 | OK | vpn_router_agent_binding_changed |
| 01-rest-api_stable-2026.2.md | 234 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:463-473 | OK | update_port_bindings |
| 01-rest-api_stable-2026.2.md | 235 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:216-230 | OK | remove_router_from_vpn_agent |
| 01-rest-api_stable-2026.2.md | 235 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:99-103 | OK | _get_agent_hosting_vpn_services |
| 01-rest-api_stable-2026.2.md | 236 | neutron_vpnaas/extensions/vpn_agentschedulers.py:187-190 | OK | notify |
| 01-rest-api_stable-2026.2.md | 237 | neutron:neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py:75-93 | OK | as_dict |
| 01-rest-api_stable-2026.2.md | 257 | neutron_vpnaas/db/vpn/vpn_db.py:189 | OK | create_ipsec_site_connection |
| 01-rest-api_stable-2026.2.md | 257 | neutron_vpnaas/db/vpn/vpn_db.py:285-298 | OK | _update_connection_status |
| 01-rest-api_stable-2026.2.md | 257 | neutron_vpnaas/db/vpn/vpn_db.py:297 | OK | _update_connection_status |
| 01-rest-api_stable-2026.2.md | 274 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:296-313 | OK | status |
| 02-errors_stable-2026.2.md | 8 | neutron-lib:neutron_lib/exceptions/vpn.py | OK | |
| 02-errors_stable-2026.2.md | 8 | neutron-lib:neutron_lib/api/faults.py:19-29 | OK | <module> |
| 02-errors_stable-2026.2.md | 26 | neutron-lib:neutron_lib/api/definitions/vpn_no_sha1_3des.py:44-89 | OK | <module> |
| 02-errors_stable-2026.2.md | 26 | neutron:neutron/api/v2/base.py | OK | |
| 02-errors_stable-2026.2.md | 27 | neutron-lib:neutron_lib/api/definitions/vpn.py:228 | OK | <module> |
| 02-errors_stable-2026.2.md | 28 | neutron_vpnaas/db/vpn/vpn_models.py:79-81 | OK | IPsecPolicy |
| 02-errors_stable-2026.2.md | 28 | neutron-lib:neutron_lib/api/definitions/vpn.py:129-131 | OK | <module> |
| 02-errors_stable-2026.2.md | 36 | neutron_vpnaas/db/vpn/vpn_db.py:81 | OK | _get_resource |
| 02-errors_stable-2026.2.md | 37 | neutron_vpnaas/db/vpn/vpn_db.py:72 | OK | _get_resource |
| 02-errors_stable-2026.2.md | 38 | neutron_vpnaas/db/vpn/vpn_db.py:76 | OK | _get_resource |
| 02-errors_stable-2026.2.md | 39 | neutron_vpnaas/db/vpn/vpn_db.py:78 | OK | _get_resource |
| 02-errors_stable-2026.2.md | 40 | neutron_vpnaas/db/vpn/vpn_db.py:83 | OK | _get_resource |
| 02-errors_stable-2026.2.md | 41 | neutron_vpnaas/db/vpn/vpn_validator.py:59 | OK | _check_dpd |
| 02-errors_stable-2026.2.md | 42 | neutron_vpnaas/db/vpn/vpn_validator.py:64 | OK | _check_mtu |
| 02-errors_stable-2026.2.md | 43 | neutron_vpnaas/db/vpn/vpn_validator.py:145 | OK | _check_peer_cidrs |
| 02-errors_stable-2026.2.md | 44 | neutron_vpnaas/db/vpn/vpn_db.py:351 | OK | update_ikepolicy |
| 02-errors_stable-2026.2.md | 44 | neutron_vpnaas/db/vpn/vpn_db.py:368 | OK | delete_ikepolicy |
| 02-errors_stable-2026.2.md | 45 | neutron_vpnaas/db/vpn/vpn_db.py:435 | OK | update_ipsecpolicy |
| 02-errors_stable-2026.2.md | 45 | neutron_vpnaas/db/vpn/vpn_db.py:453 | OK | delete_ipsecpolicy |
| 02-errors_stable-2026.2.md | 46 | neutron_vpnaas/db/vpn/vpn_db.py:542 | OK | delete_vpnservice |
| 02-errors_stable-2026.2.md | 47 | neutron_vpnaas/db/vpn/vpn_db.py:583 | OK | check_subnet_in_use |
| 02-errors_stable-2026.2.md | 47 | neutron_vpnaas/db/vpn/vpn_db.py:779-781 | OK | vpn_router_gateway_callback |
| 02-errors_stable-2026.2.md | 48 | neutron_vpnaas/db/vpn/vpn_db.py:606 | OK | check_subnet_in_use |
| 02-errors_stable-2026.2.md | 49 | neutron_vpnaas/db/vpn/vpn_db.py:622 | OK | check_subnet_in_use_by_endpoint_group |
| 02-errors_stable-2026.2.md | 49 | neutron_vpnaas/db/vpn/vpn_db.py:793-799 | OK | subnet_callback |
| 02-errors_stable-2026.2.md | 50 | neutron_vpnaas/db/vpn/vpn_db.py:92 | OK | assert_update_allowed |
| 02-errors_stable-2026.2.md | 51 | neutron_vpnaas/services/vpn/vpn_service.py:44 | OK | load_device_drivers |
| 02-errors_stable-2026.2.md | 52 | neutron_vpnaas/db/vpn/vpn_validator.py:287 | OK | _check_subnet_id |
| 02-errors_stable-2026.2.md | 53 | neutron_vpnaas/db/vpn/vpn_validator.py:278 | OK | _check_router |
| 02-errors_stable-2026.2.md | 54 | neutron_vpnaas/db/vpn/vpn_validator.py:92 | OK | resolve_peer_address |
| 02-errors_stable-2026.2.md | 55 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:274 | OK | _get_nexthop |
| 02-errors_stable-2026.2.md | 56 | neutron_vpnaas/db/vpn/vpn_validator.py:78 | OK | _validate_peer_address |
| 02-errors_stable-2026.2.md | 57 | neutron_vpnaas/db/vpn/vpn_validator.py:352 | OK | _check_endpoints_unique |
| 02-errors_stable-2026.2.md | 57 | neutron_vpnaas/db/vpn/vpn_validator.py:310 | OK | _validate_cidrs |
| 02-errors_stable-2026.2.md | 57 | neutron_vpnaas/db/vpn/vpn_validator.py:319 | OK | _validate_subnets |
| 02-errors_stable-2026.2.md | 58 | neutron_vpnaas/db/vpn/vpn_validator.py:337 | OK | validate_endpoint_group |
| 02-errors_stable-2026.2.md | 59 | neutron_vpnaas/db/vpn/vpn_validator.py:325 | OK | _validate_subnets |
| 02-errors_stable-2026.2.md | 60 | neutron_vpnaas/db/vpn/vpn_validator.py:123 | OK | _check_local_endpoint_ip_versions |
| 02-errors_stable-2026.2.md | 60 | neutron_vpnaas/db/vpn/vpn_validator.py:136 | OK | _check_peer_endpoint_ip_versions |
| 02-errors_stable-2026.2.md | 61 | neutron_vpnaas/db/vpn/vpn_validator.py:154 | OK | _check_peer_cidrs_ip_versions |
| 02-errors_stable-2026.2.md | 62 | neutron_vpnaas/db/vpn/vpn_validator.py:164 | OK | _validate_compatible_ip_versions |
| 02-errors_stable-2026.2.md | 63 | neutron_vpnaas/db/vpn/vpn_validator.py:190 | OK | validate_ipsec_conn_optional_args |
| 02-errors_stable-2026.2.md | 64 | neutron_vpnaas/db/vpn/vpn_validator.py:100 | OK | _get_local_subnets |
| 02-errors_stable-2026.2.md | 64 | neutron_vpnaas/db/vpn/vpn_validator.py:109 | OK | _get_peer_cidrs |
| 02-errors_stable-2026.2.md | 65 | neutron_vpnaas/db/vpn/vpn_validator.py:194 | OK | validate_ipsec_conn_optional_args |
| 02-errors_stable-2026.2.md | 66 | neutron_vpnaas/db/vpn/vpn_validator.py:181 | OK | validate_ipsec_conn_optional_args |
| 02-errors_stable-2026.2.md | 67 | neutron_vpnaas/db/vpn/vpn_validator.py:203 | OK | validate_ipsec_conn_optional_args |
| 02-errors_stable-2026.2.md | 68 | neutron_vpnaas/db/vpn/vpn_db.py:693 | OK | check_endpoint_group_not_in_use |
| 02-errors_stable-2026.2.md | 69 | neutron_vpnaas/services/vpn/service_drivers/ipsec_validator.py:21 | OK | IpsecValidationFailure |
| 02-errors_stable-2026.2.md | 69 | neutron-lib:neutron_lib/exceptions/vpn.py:174 | OK | IpsecValidationFailure |
| 02-errors_stable-2026.2.md | 69 | neutron_vpnaas/services/vpn/service_drivers/ipsec_validator.py:37 | OK | _check_transform_protocol |
| 02-errors_stable-2026.2.md | 70 | neutron-lib:neutron_lib/exceptions/vpn.py:165-170 | OK | FlavorsPluginNotLoaded |
| 02-errors_stable-2026.2.md | 76 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:154 | OK | _handle_router_precommit_update |
| 02-errors_stable-2026.2.md | 76 | neutron_vpnaas/extensions/vpnaas.py:29 | OK | RouteInUseByVPN |
| 02-errors_stable-2026.2.md | 77 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:369 | OK | _ensure_gateway |
| 02-errors_stable-2026.2.md | 77 | neutron_vpnaas/extensions/vpnaas.py:37 | OK | VPNGatewayNotReady |
| 02-errors_stable-2026.2.md | 78 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:363 | OK | _ensure_gateway |
| 02-errors_stable-2026.2.md | 79 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:377 | OK | _setup |
| 02-errors_stable-2026.2.md | 80 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:332 | OK | _get_gateway_ips |
| 02-errors_stable-2026.2.md | 80 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:41 | OK | RouterIsNotVPNExternal |
| 02-errors_stable-2026.2.md | 81 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:45 | OK | RouterHasVPNExternal |
| 02-errors_stable-2026.2.md | 82 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:165 | OK | prevent_vpn_network_deletion |
| 02-errors_stable-2026.2.md | 83 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:138 | OK | prevent_vpn_port_deletion |
| 02-errors_stable-2026.2.md | 84 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:152 | OK | prevent_vpn_subnet_deletion |
| 02-errors_stable-2026.2.md | 85 | neutron_vpnaas/services/vpn/ovn_plugin.py:53-54 | OK | check_router_in_use |
| 02-errors_stable-2026.2.md | 85 | neutron_vpnaas/db/vpn/vpn_db.py:571 | OK | check_router_in_use |
| 02-errors_stable-2026.2.md | 86 | neutron_vpnaas/services/vpn/plugin.py:132 | OK | _get_provider_for_flavor |
| 02-errors_stable-2026.2.md | 86 | neutron_vpnaas/extensions/vpn_flavors.py:23 | OK | FlavorsPluginNotLoaded |
| 02-errors_stable-2026.2.md | 87 | neutron_vpnaas/services/vpn/plugin.py:136 | OK | _get_provider_for_flavor |
| 02-errors_stable-2026.2.md | 88 | neutron_vpnaas/services/vpn/plugin.py:139 | OK | _get_provider_for_flavor |
| 02-errors_stable-2026.2.md | 89 | neutron_vpnaas/services/vpn/plugin.py:144 | OK | _get_provider_for_flavor |
| 02-errors_stable-2026.2.md | 89 | neutron_vpnaas/extensions/vpn_flavors.py:27 | OK | NoProviderFoundForFlavor |
| 02-errors_stable-2026.2.md | 90 | neutron_vpnaas/services/vpn/plugin.py:134 | OK | _get_provider_for_flavor |
| 02-errors_stable-2026.2.md | 91 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:139 | OK | validate_agent_router_combination |
| 02-errors_stable-2026.2.md | 91 | neutron_vpnaas/extensions/vpn_agentschedulers.py:145 | OK | InvalidVPNAgent |
| 02-errors_stable-2026.2.md | 92 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:160 | OK | check_agent_router_scheduling_needed |
| 02-errors_stable-2026.2.md | 93 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:203 | OK | add_router_to_vpn_agent |
| 02-errors_stable-2026.2.md | 94 | neutron_vpnaas/scheduler/vpn_agent_scheduler.py:114 | OK | _schedule_router |
| 02-errors_stable-2026.2.md | 94 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:283 | OK | _notify_agents_router_rescheduled |
| 02-errors_stable-2026.2.md | 95 | neutron_vpnaas/extensions/vpn_agentschedulers.py:52 | OK | index |
| 02-errors_stable-2026.2.md | 96 | neutron_vpnaas/extensions/vpn_agentschedulers.py:40 | OK | VPNRouterSchedulerController |
| 02-errors_stable-2026.2.md | 97 | neutron_vpnaas/db/vpn/vpn_db.py:522 | OK | set_vpnservice_status |
| 02-errors_stable-2026.2.md | 98 | neutron_vpnaas/services/vpn/plugin.py:111 | OK | _check_orphan_vpnservice_associations |
| 02-errors_stable-2026.2.md | 106 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:342-364 | OK | enable |
| 02-errors_stable-2026.2.md | 107 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:388-390 | OK | _check_status_line |
| 02-errors_stable-2026.2.md | 107 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:196-198 | OK | get_status |
| 02-errors_stable-2026.2.md | 108 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:738-752 | OK | update_downed_connections |
| 02-errors_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:808-811 | OK | report_status |
| 02-errors_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:801-806 | OK | report_status |
| 02-errors_stable-2026.2.md | 110 | neutron_vpnaas/db/vpn/vpn_db.py:753-759 | OK | update_status_by_agent |
| 02-errors_stable-2026.2.md | 111 | neutron_vpnaas/db/vpn/vpn_db.py:293-296 | OK | _update_connection_status |
| 02-errors_stable-2026.2.md | 112 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:106-113 | OK | reschedule_vpnservices_from_down_agents |
| 02-errors_stable-2026.2.md | 113 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:114-118 | OK | reschedule_vpnservices_from_down_agents |
| 02-errors_stable-2026.2.md | 114 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:390-401 | OK | _setup |
| 02-errors_stable-2026.2.md | 115 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:418-423 | OK | _cleanup |
| 02-errors_stable-2026.2.md | 116 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:136-138 | OK | setup_external |
| 02-errors_stable-2026.2.md | 116 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:169-171 | OK | setup_internal |
| 02-errors_stable-2026.2.md | 117 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:106-109 | OK | filter_command |
| 02-errors_stable-2026.2.md | 118 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:136-139 | OK | execute_with_mount |
| 02-errors_stable-2026.2.md | 119 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:50-52 | OK | vpnservice_added_to_agent |
| 02-errors_stable-2026.2.md | 125 | neutron_vpnaas/services/vpn/plugin.py:110 | OK | _check_orphan_vpnservice_associations |
| 02-errors_stable-2026.2.md | 126 | neutron_vpnaas/services/vpn/plugin.py:70 | OK | init |
| 02-errors_stable-2026.2.md | 127 | neutron_vpnaas/services/vpn/plugin.py:119 | OK | _check_orphan_vpnservice_associations |
| 02-errors_stable-2026.2.md | 128 | neutron_vpnaas/db/vpn/vpn_db.py:757 | OK | update_status_by_agent |
| 02-errors_stable-2026.2.md | 129 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:429 | OK | create_vpnservice |
| 02-errors_stable-2026.2.md | 130 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:419 | OK | _cleanup |
| 02-errors_stable-2026.2.md | 131 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:101 | OK | reschedule_vpnservices_from_down_agents |
| 02-errors_stable-2026.2.md | 132 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:112 | OK | reschedule_vpnservices_from_down_agents |
| 02-errors_stable-2026.2.md | 133 | neutron_vpnaas/scheduler/vpn_agent_scheduler.py:90 | OK | _get_candidates |
| 02-errors_stable-2026.2.md | 134 | neutron_vpnaas/scheduler/vpn_agent_scheduler.py:79 | OK | auto_schedule_routers |
| 02-errors_stable-2026.2.md | 135 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:351 | OK | enable |
| 02-errors_stable-2026.2.md | 135 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:361 | OK | disable |
| 02-errors_stable-2026.2.md | 136 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:256 | OK | restart |
| 02-errors_stable-2026.2.md | 137 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:194 | OK | _process_running |
| 02-errors_stable-2026.2.md | 138 | neutron_vpnaas/agent/ovn/vpn/agent.py:61 | OK | run |
| 02-errors_stable-2026.2.md | 139 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:264 | OK | destroy_process |
| 02-errors_stable-2026.2.md | 140 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:107 | OK | filter_command |
| 02-errors_stable-2026.2.md | 141 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:149 | OK | execute_with_mount |
| 02-errors_stable-2026.2.md | 141 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:153 | OK | execute_with_mount |
| 02-errors_stable-2026.2.md | 145 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:196-198 | OK | get_status |
| 02-errors_stable-2026.2.md | 145 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:239-241 | OK | get_status |
| 02-errors_stable-2026.2.md | 145 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:66-71 | OK | execute |
| 02-errors_stable-2026.2.md | 146 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:272 | OK | _get_nexthop |
| 02-errors_stable-2026.2.md | 147 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:21-23 | OK | <module> |
| 03-interactions_stable-2026.2.md | 22 | pyproject.toml:54-55 | OK | <module> |
| 03-interactions_stable-2026.2.md | 22 | neutron_vpnaas/db/migration/alembic_migrations/versions/2026.2/expand/842256a43ce2_remove_deprecated_sha1_and_3des.py:28-29 | OK | <module> |
| 03-interactions_stable-2026.2.md | 26 | neutron_vpnaas/db/vpn/vpn_models.py:86 | OK | IKEPolicy |
| 03-interactions_stable-2026.2.md | 27 | neutron_vpnaas/db/vpn/vpn_models.py:62 | OK | IPsecPolicy |
| 03-interactions_stable-2026.2.md | 28 | neutron_vpnaas/db/vpn/vpn_models.py:158 | OK | VPNService |
| 03-interactions_stable-2026.2.md | 29 | neutron_vpnaas/db/vpn/vpn_models.py:109 | OK | IPsecSiteConnection |
| 03-interactions_stable-2026.2.md | 30 | neutron_vpnaas/db/vpn/vpn_models.py:51 | OK | IPsecPeerCidr |
| 03-interactions_stable-2026.2.md | 31 | neutron_vpnaas/db/vpn/vpn_models.py:194 | OK | VPNEndpointGroup |
| 03-interactions_stable-2026.2.md | 32 | neutron_vpnaas/db/vpn/vpn_models.py:179 | OK | VPNEndpoint |
| 03-interactions_stable-2026.2.md | 33 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:54 | OK | VPNExtGW |
| 03-interactions_stable-2026.2.md | 34 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:54 | OK | RouterVPNAgentBinding |
| 03-interactions_stable-2026.2.md | 55 | neutron_vpnaas/db/vpn/vpn_db.py:349-351 | OK | update_ikepolicy |
| 03-interactions_stable-2026.2.md | 58 | neutron_vpnaas/db/vpn/vpn_db.py:587-604 | OK | check_subnet_in_use |
| 03-interactions_stable-2026.2.md | 65 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:338-348 | OK | get_unscheduled_vpn_routers |
| 03-interactions_stable-2026.2.md | 70 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:367-382 | OK | get_vpn_agent_with_min_routers |
| 03-interactions_stable-2026.2.md | 78 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:350-370 | OK | _ensure_gateway |
| 03-interactions_stable-2026.2.md | 78 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:164-185 | OK | create_router_to_agent_binding |
| 03-interactions_stable-2026.2.md | 79 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:373-405 | OK | _setup |
| 03-interactions_stable-2026.2.md | 97 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:106-110 | OK | vpnservice_updated |
| 03-interactions_stable-2026.2.md | 98 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:438-445 | OK | get_vpn_services_on_host |
| 03-interactions_stable-2026.2.md | 99 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:448-455 | OK | update_status |
| 03-interactions_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:211-214 | OK | get_vpn_transit_network_details |
| 03-interactions_stable-2026.2.md | 101 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:216-219 | OK | get_subnet_info |
| 03-interactions_stable-2026.2.md | 102 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:44-52 | OK | vpnservice_added_to_agent |
| 03-interactions_stable-2026.2.md | 103 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:38-42 | OK | vpnservice_removed_from_agent |
| 03-interactions_stable-2026.2.md | 104 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:33-36 | OK | agent_updated |
| 03-interactions_stable-2026.2.md | 106 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:477 | OK | init |
| 03-interactions_stable-2026.2.md | 106 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:209 | OK | init |
| 03-interactions_stable-2026.2.md | 143 | neutron_vpnaas/extensions/vpn_agentschedulers.py:187-190 | OK | notify |
| 03-interactions_stable-2026.2.md | 149 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:48-89 | OK | ChassisVPNAgentWriteEvent |
| 03-interactions_stable-2026.2.md | 150 | neutron_vpnaas/agent/ovn/vpn/agent.py:143-158 | OK | register_vpn_agent |
| 03-interactions_stable-2026.2.md | 152 | neutron_vpnaas/services/vpn/common/constants.py:36-38 | OK | <module> |
| 03-interactions_stable-2026.2.md | 152 | neutron_vpnaas/agent/ovn/vpn/ovsdb.py:33-62 | OK | init |
| 03-interactions_stable-2026.2.md | 152 | neutron_vpnaas/services/vpn/ovn_agent.py:55-62 | OK | register_opts |
| 03-interactions_stable-2026.2.md | 168 | neutron_vpnaas/agent/ovn/vpn/agent.py:160-168 | OK | _get_own_chassis_name |
| 03-interactions_stable-2026.2.md | 174 | neutron_vpnaas/db/vpn/vpn_validator.py:276 | OK | _check_router |
| 03-interactions_stable-2026.2.md | 174 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:305 | OK | _update_static_routes |
| 03-interactions_stable-2026.2.md | 175 | neutron_vpnaas/db/vpn/vpn_validator.py:281-285 | OK | _check_subnet_id |
| 03-interactions_stable-2026.2.md | 176 | neutron_vpnaas/db/vpn/vpn_validator.py:323 | OK | _validate_subnets |
| 03-interactions_stable-2026.2.md | 176 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:90 | OK | get_subnet_info |
| 03-interactions_stable-2026.2.md | 177 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:92-95 | OK | _agent_notification |
| 03-interactions_stable-2026.2.md | 178 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:320-336 | OK | get_vpn_agents |
| 03-interactions_stable-2026.2.md | 179 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:169-273 | OK | make_transit_network |
| 03-interactions_stable-2026.2.md | 180 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:215-256 | OK | _del_port |
| 03-interactions_stable-2026.2.md | 181 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:314-321 | OK | _update_static_routes |
| 03-interactions_stable-2026.2.md | 182 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:459-461 | OK | _update_port_binding |
| 03-interactions_stable-2026.2.md | 183 | neutron_vpnaas/services/vpn/plugin.py:87-157 | OK | _check_orphan_vpnservice_associations |
| 03-interactions_stable-2026.2.md | 184 | neutron_vpnaas/services/vpn/plugin.py:129-150 | OK | _get_provider_for_flavor |
| 03-interactions_stable-2026.2.md | 188 | pyproject.toml:48 | OK | <module> |
| 03-interactions_stable-2026.2.md | 188 | etc/neutron/rootwrap.d/vpnaas.filters | OK | |
| 03-interactions_stable-2026.2.md | 192 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:129-131 | OK | _get_strongswan_piddir |
| 03-interactions_stable-2026.2.md | 193 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:147-163 | OK | _execute |
| 03-interactions_stable-2026.2.md | 194 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:107-127 | OK | _ipsec_execute |
| 03-interactions_stable-2026.2.md | 195 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:141-156 | OK | execute_with_mount |
| 03-interactions_stable-2026.2.md | 196 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:262-265 | OK | remove_config |
| 03-interactions_stable-2026.2.md | 196 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:165-171 | OK | copy_and_overwrite |
| 03-interactions_stable-2026.2.md | 196 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:140-158 | OK | ensure_configs |
| 03-interactions_stable-2026.2.md | 197 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:558-563 | OK | ensure_nat_rules |
| 03-interactions_stable-2026.2.md | 198 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:69-204 | OK | set_default_route |
| 03-interactions_stable-2026.2.md | 202 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:120-135 | OK | BaseSwanProcess |
| 03-interactions_stable-2026.2.md | 202 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:129-181 | OK | _ensure_needed_files |
| 03-interactions_stable-2026.2.md | 202 | neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.conf.template:1-38 | OK | <module> |
| 03-interactions_stable-2026.2.md | 202 | neutron_vpnaas/services/vpn/device_drivers/template/libreswan/ipsec.conf.template:1-91 | OK | <module> |
| 03-interactions_stable-2026.2.md | 239 | neutron_vpnaas/db/vpn/vpn_validator.py:82-93 | OK | resolve_peer_address |
| 04-scenarios_stable-2026.2.md | 62 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:373-447 | OK | _setup |
| 04-scenarios_stable-2026.2.md | 62 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:307-320 | OK | _sync_vpn_processes |
| 04-scenarios_stable-2026.2.md | 131 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:760-811 | OK | report_status |
| 04-scenarios_stable-2026.2.md | 131 | neutron_vpnaas/db/vpn/vpn_db.py:733-768 | OK | update_status_by_agent |
| 04-scenarios_stable-2026.2.md | 170 | neutron_vpnaas/services/vpn/ovn/maintenance.py:34-35 | OK | check_vpn_agents |
| 04-scenarios_stable-2026.2.md | 170 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:82-118 | OK | reschedule_vpnservices_from_down_agents |
| 04-scenarios_stable-2026.2.md | 170 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:240-284 | OK | reschedule_router |
| 04-scenarios_stable-2026.2.md | 206 | neutron_vpnaas/services/vpn/plugin.py:177-228 | OK | delete_ipsec_site_connection |
| 04-scenarios_stable-2026.2.md | 206 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:407-451 | OK | _cleanup |
| 04-scenarios_stable-2026.2.md | 237 | neutron_vpnaas/agent/ovn/vpn/agent.py:35-168 | OK | ChassisPrivateCreateEvent |
| 04-scenarios_stable-2026.2.md | 237 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:48-89 | OK | ChassisVPNAgentWriteEvent |
| 05-async-processing_stable-2026.2.md | 30 | neutron_vpnaas/services/vpn/service_drivers/ipsec.py:34-39 | OK | create_rpc_conn |
| 05-async-processing_stable-2026.2.md | 30 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:510-515 | OK | start_rpc_listeners |
| 05-async-processing_stable-2026.2.md | 30 | neutron_vpnaas/services/vpn/plugin.py:80-85 | OK | start_rpc_listeners |
| 05-async-processing_stable-2026.2.md | 30 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:429-455 | OK | IPsecVpnDriverApi |
| 05-async-processing_stable-2026.2.md | 30 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:206-219 | OK | IPsecOvnDriverApi |
| 05-async-processing_stable-2026.2.md | 31 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:478-487 | OK | init |
| 05-async-processing_stable-2026.2.md | 31 | neutron_vpnaas/api/rpc/agentnotifiers/vpn_rpc_agent_api.py:26-52 | OK | VPNAgentNotifyAPI |
| 05-async-processing_stable-2026.2.md | 33 | neutron-lib:neutron_lib/rpc.py:346-350 | OK | create_consumer |
| 05-async-processing_stable-2026.2.md | 39 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:106-110 | OK | vpnservice_updated |
| 05-async-processing_stable-2026.2.md | 40 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:117-131 | OK | create_ipsec_site_connection |
| 05-async-processing_stable-2026.2.md | 40 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:185-189 | OK | update_vpnservice |
| 05-async-processing_stable-2026.2.md | 40 | neutron_vpnaas/services/vpn/service_drivers/__init__.py:92-104 | OK | _agent_notification |
| 05-async-processing_stable-2026.2.md | 40 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:488-500 | OK | _agent_notification |
| 05-async-processing_stable-2026.2.md | 42 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:583-591 | OK | vpnservice_updated |
| 05-async-processing_stable-2026.2.md | 43 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:815 | OK | sync |
| 05-async-processing_stable-2026.2.md | 49 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:438-445 | OK | get_vpn_services_on_host |
| 05-async-processing_stable-2026.2.md | 53 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:46-84 | OK | _get_agent_hosting_vpn_services |
| 05-async-processing_stable-2026.2.md | 55 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:94-112 | OK | _get_agent_hosting_vpn_services |
| 05-async-processing_stable-2026.2.md | 55 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:338-353 | OK | get_unscheduled_vpn_routers |
| 05-async-processing_stable-2026.2.md | 55 | neutron_vpnaas/scheduler/vpn_agent_scheduler.py:68-84 | OK | auto_schedule_routers |
| 05-async-processing_stable-2026.2.md | 56 | neutron_vpnaas/db/vpn/vpn_db.py:718-731 | OK | _build_local_subnet_cidr_map |
| 05-async-processing_stable-2026.2.md | 58 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:203-267 | OK | make_vpnservice_dict |
| 05-async-processing_stable-2026.2.md | 58 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:226-235 | OK | make_vpnservice_dict |
| 05-async-processing_stable-2026.2.md | 59 | neutron_vpnaas/services/vpn/service_drivers/base_ipsec.py:77 | OK | get_vpn_services_on_host |
| 05-async-processing_stable-2026.2.md | 65 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:448-455 | OK | update_status |
| 05-async-processing_stable-2026.2.md | 68 | neutron_vpnaas/db/vpn/vpn_db.py:733-768 | OK | update_status_by_agent |
| 05-async-processing_stable-2026.2.md | 70 | neutron_vpnaas/db/vpn/vpn_db.py:285-298 | OK | _update_connection_status |
| 05-async-processing_stable-2026.2.md | 72 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:765-772 | OK | report_status |
| 05-async-processing_stable-2026.2.md | 77 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:206-219 | OK | IPsecOvnDriverApi |
| 05-async-processing_stable-2026.2.md | 78 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:313-318 | OK | _sync_vpn_processes |
| 05-async-processing_stable-2026.2.md | 78 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:143-145 | OK | setup_external |
| 05-async-processing_stable-2026.2.md | 79 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:75-86 | OK | get_vpn_transit_network_details |
| 05-async-processing_stable-2026.2.md | 79 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:88-92 | OK | get_subnet_info |
| 05-async-processing_stable-2026.2.md | 80 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:120-179 | OK | setup_external |
| 05-async-processing_stable-2026.2.md | 81 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:76-77 | OK | get_vpn_transit_network_details |
| 05-async-processing_stable-2026.2.md | 87 | neutron:neutron/api/rpc/agentnotifiers/utils.py:54 | OK | retry |
| 05-async-processing_stable-2026.2.md | 87 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:206-210 | OK | add_router_to_vpn_agent |
| 05-async-processing_stable-2026.2.md | 87 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:278-284 | OK | _notify_agents_router_rescheduled |
| 05-async-processing_stable-2026.2.md | 87 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:335-337 | OK | vpnservice_added_to_agent |
| 05-async-processing_stable-2026.2.md | 88 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:331-333 | OK | vpnservice_removed_from_agent |
| 05-async-processing_stable-2026.2.md | 88 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:263-276 | OK | destroy_process |
| 05-async-processing_stable-2026.2.md | 89 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py:1738-1740 | OK | update_agent |
| 05-async-processing_stable-2026.2.md | 91 | neutron_vpnaas/services/vpn/ovn_plugin.py:46-47 | OK | init |
| 05-async-processing_stable-2026.2.md | 91 | neutron_vpnaas/services/vpn/ovn_plugin.py:78-84 | OK | vpn_router_agent_binding_changed |
| 05-async-processing_stable-2026.2.md | 91 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:459-473 | OK | _update_port_binding |
| 05-async-processing_stable-2026.2.md | 95 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:489-492 | OK | init |
| 05-async-processing_stable-2026.2.md | 95 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:52-54 | OK | <module> |
| 05-async-processing_stable-2026.2.md | 95 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:853 | OK | sync |
| 05-async-processing_stable-2026.2.md | 99 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:760-775 | OK | report_status |
| 05-async-processing_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:688-707 | OK | _capture_process_status |
| 05-async-processing_stable-2026.2.md | 101 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:147-163 | OK | _execute |
| 05-async-processing_stable-2026.2.md | 101 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:196-198 | OK | get_status |
| 05-async-processing_stable-2026.2.md | 101 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:68-74 | OK | StrongSwanProcess |
| 05-async-processing_stable-2026.2.md | 102 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:170-179 | OK | BaseSwanProcess |
| 05-async-processing_stable-2026.2.md | 102 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:378-401 | OK | _check_status_line |
| 05-async-processing_stable-2026.2.md | 103 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:175 | OK | BaseSwanProcess |
| 05-async-processing_stable-2026.2.md | 103 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:74 | OK | StrongSwanProcess |
| 05-async-processing_stable-2026.2.md | 104 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:296-313 | OK | status |
| 05-async-processing_stable-2026.2.md | 105 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:656-663 | OK | get_process_status_cache |
| 05-async-processing_stable-2026.2.md | 107 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:665-681 | OK | is_status_updated |
| 05-async-processing_stable-2026.2.md | 107 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:709-736 | OK | _copy_process_status |
| 05-async-processing_stable-2026.2.md | 107 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:795-798 | OK | report_status |
| 05-async-processing_stable-2026.2.md | 108 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:738-752 | OK | update_downed_connections |
| 05-async-processing_stable-2026.2.md | 109 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:801-806 | OK | report_status |
| 05-async-processing_stable-2026.2.md | 110 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:808-811 | OK | report_status |
| 05-async-processing_stable-2026.2.md | 112 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:306-312 | OK | active |
| 05-async-processing_stable-2026.2.md | 117 | neutron_vpnaas/services/vpn/ovn/maintenance.py:34-35 | OK | check_vpn_agents |
| 05-async-processing_stable-2026.2.md | 117 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py:464-471 | OK | _start_maintenance_thread |
| 05-async-processing_stable-2026.2.md | 117 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:46-48 | OK | <module> |
| 05-async-processing_stable-2026.2.md | 117 | neutron_vpnaas/services/vpn/ovn_plugin.py:62-65 | OK | ovn_maintenance_periodics |
| 05-async-processing_stable-2026.2.md | 120 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:82-130 | OK | reschedule_vpnservices_from_down_agents |
| 05-async-processing_stable-2026.2.md | 121 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py:1620-1638 | OK | ping_all_chassis |
| 05-async-processing_stable-2026.2.md | 121 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py:1715-1720 | OK | get_agents |
| 05-async-processing_stable-2026.2.md | 121 | neutron:neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py:96-107 | OK | alive |
| 05-async-processing_stable-2026.2.md | 121 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:28-31 | OK | OVNVPNAgent |
| 05-async-processing_stable-2026.2.md | 123 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:240-264 | OK | reschedule_router |
| 05-async-processing_stable-2026.2.md | 125 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:266-284 | OK | _notify_agents_router_rescheduled |
| 05-async-processing_stable-2026.2.md | 128 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py:64-90 | OK | has_lock_periodic |
| 05-async-processing_stable-2026.2.md | 129 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:106-118 | OK | reschedule_vpnservices_from_down_agents |
| 05-async-processing_stable-2026.2.md | 135 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py:387-396 | OK | ChassisAgentEvent |
| 05-async-processing_stable-2026.2.md | 135 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:48-74 | OK | ChassisVPNAgentWriteEvent |
| 05-async-processing_stable-2026.2.md | 136 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:61-70 | OK | match_fn |
| 05-async-processing_stable-2026.2.md | 138 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:24-45 | OK | OVNVPNAgent |
| 05-async-processing_stable-2026.2.md | 139 | neutron:neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py:51-57 | OK | update |
| 05-async-processing_stable-2026.2.md | 140 | neutron_vpnaas/services/vpn/ovn_plugin.py:49-57 | OK | init |
| 05-async-processing_stable-2026.2.md | 140 | neutron_vpnaas/services/vpn/ovn/agent_monitor.py:77-89 | OK | OVNVPNAgentMonitor |
| 05-async-processing_stable-2026.2.md | 140 | neutron_vpnaas/agent/ovn/vpn/agent.py:146 | OK | register_vpn_agent |
| 05-async-processing_stable-2026.2.md | 141 | neutron:neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py:399-427 | OK | ChassisAgentDownEvent |
| 05-async-processing_stable-2026.2.md | 146 | neutron_vpnaas/agent/ovn/vpn/agent.py:65-76 | OK | SbGlobalUpdateEvent |
| 05-async-processing_stable-2026.2.md | 149 | neutron_vpnaas/agent/ovn/vpn/agent.py:151-158 | OK | update_vpn_sb_cfg_key |
| 05-async-processing_stable-2026.2.md | 154 | neutron_vpnaas/agent/ovn/vpn/agent.py:35-62 | OK | ChassisPrivateCreateEvent |
| 05-async-processing_stable-2026.2.md | 154 | neutron_vpnaas/agent/ovn/vpn/ovsdb.py:47-49 | OK | init |
| 05-async-processing_stable-2026.2.md | 156 | neutron_vpnaas/agent/ovn/vpn/agent.py:52-62 | OK | run |
| 05-async-processing_stable-2026.2.md | 160 | pyproject.toml:51-52 | OK | <module> |
| 05-async-processing_stable-2026.2.md | 164 | neutron:neutron/agent/l3/agent.py:638 | OK | _process_added_router |
| 05-async-processing_stable-2026.2.md | 164 | neutron_vpnaas/services/vpn/agent.py:59-68 | OK | add_router |
| 05-async-processing_stable-2026.2.md | 164 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:615-631 | OK | create_router |
| 05-async-processing_stable-2026.2.md | 165 | neutron:neutron/agent/l3/agent.py:698 | OK | _process_updated_router |
| 05-async-processing_stable-2026.2.md | 165 | neutron_vpnaas/services/vpn/agent.py:70-78 | OK | update_router |
| 05-async-processing_stable-2026.2.md | 166 | neutron:neutron/agent/l3/agent.py:485 | OK | _safe_router_removed |
| 05-async-processing_stable-2026.2.md | 166 | neutron_vpnaas/services/vpn/agent.py:80-83 | OK | delete_router |
| 05-async-processing_stable-2026.2.md | 166 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:633-654 | OK | destroy_process |
| 05-async-processing_stable-2026.2.md | 167 | neutron:neutron/agent/l3/ha.py:210 | OK | _enqueue_state_change |
| 05-async-processing_stable-2026.2.md | 167 | neutron_vpnaas/services/vpn/agent.py:85-102 | OK | ha_state_change |
| 05-async-processing_stable-2026.2.md | 169 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:494-509 | OK | get_namespace |
| 05-async-processing_stable-2026.2.md | 169 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:529-567 | OK | ensure_nat_rules |
| 05-async-processing_stable-2026.2.md | 169 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:231 | OK | init |
| 05-async-processing_stable-2026.2.md | 175 | neutron_vpnaas/db/vpn/vpn_db.py:771-778 | OK | vpn_router_gateway_callback |
| 05-async-processing_stable-2026.2.md | 175 | neutron_vpnaas/db/vpn/vpn_db.py:565-575 | OK | check_router_in_use |
| 05-async-processing_stable-2026.2.md | 175 | neutron_vpnaas/services/vpn/ovn_plugin.py:53-54 | OK | check_router_in_use |
| 05-async-processing_stable-2026.2.md | 176 | neutron_vpnaas/db/vpn/vpn_db.py:577-608 | OK | check_subnet_in_use |
| 05-async-processing_stable-2026.2.md | 177 | neutron:neutron/db/l3_dvr_db.py:149-157 | OK | _validate_router_migration |
| 05-async-processing_stable-2026.2.md | 177 | neutron_vpnaas/db/vpn/vpn_db.py:784-790 | OK | migration_callback |
| 05-async-processing_stable-2026.2.md | 178 | neutron_vpnaas/db/vpn/vpn_db.py:793-799 | OK | subnet_callback |
| 05-async-processing_stable-2026.2.md | 179 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:135-155 | OK | _handle_router_precommit_update |
| 05-async-processing_stable-2026.2.md | 180 | neutron_vpnaas/db/vpn/vpn_ext_gw_db.py:95-165 | OK | _prevent_vpn_port_delete_callback |
| 05-async-processing_stable-2026.2.md | 181 | neutron_vpnaas/services/vpn/ovn_plugin.py:49-57 | OK | init |
| 05-async-processing_stable-2026.2.md | 183 | neutron_vpnaas/db/vpn/vpn_db.py:802-823 | OK | subscribe |
| 05-async-processing_stable-2026.2.md | 183 | neutron_vpnaas/services/vpn/plugin.py:74 | OK | init |
| 05-async-processing_stable-2026.2.md | 188 | neutron_vpnaas/services/vpn/agent.py:108-115 | OK | L3WithVPNaaS |
| 05-async-processing_stable-2026.2.md | 188 | neutron_vpnaas/services/vpn/vpn_service.py:32-46 | OK | load_device_drivers |
| 05-async-processing_stable-2026.2.md | 188 | neutron_vpnaas/services/vpn/agent.py:27-38 | OK | <module> |
| 05-async-processing_stable-2026.2.md | 191 | neutron_vpnaas/services/vpn/ovn_agent.py:65-72 | OK | main |
| 05-async-processing_stable-2026.2.md | 192 | neutron_vpnaas/agent/ovn/vpn/agent.py:101-128 | OK | start |
| 05-async-processing_stable-2026.2.md | 193 | neutron_vpnaas/services/vpn/ovn_agent.py:31-39 | OK | <module> |
| 05-async-processing_stable-2026.2.md | 194 | neutron_vpnaas/agent/ovn/vpn/agent.py:160-168 | OK | _get_own_chassis_name |
| 05-async-processing_stable-2026.2.md | 195 | neutron_vpnaas/agent/ovn/vpn/ovsdb.py:29-62 | OK | VPNAgentOvnSbIdl |
| 05-async-processing_stable-2026.2.md | 195 | neutron_vpnaas/agent/ovn/vpn/ovsdb.py:53-57 | OK | init |
| 05-async-processing_stable-2026.2.md | 199 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:815-853 | OK | sync |
| 05-async-processing_stable-2026.2.md | 202 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:855-873 | OK | _sync_vpn_processes |
| 05-async-processing_stable-2026.2.md | 203 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:250-261 | OK | _ensure_namespace |
| 05-async-processing_stable-2026.2.md | 203 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:287-320 | OK | _update_route |
| 05-async-processing_stable-2026.2.md | 203 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:120-179 | OK | setup_external |
| 05-async-processing_stable-2026.2.md | 205 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:322-328 | OK | _cleanup_stale_vpn_processes |
| 05-async-processing_stable-2026.2.md | 208 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:315-340 | OK | update |
| 05-async-processing_stable-2026.2.md | 210 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:342-353 | OK | enable |
| 05-async-processing_stable-2026.2.md | 211 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:137-166 | OK | BaseSwanProcess |
| 05-async-processing_stable-2026.2.md | 211 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:76-123 | OK | init |
| 05-async-processing_stable-2026.2.md | 211 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:61-92 | OK | init |
| 05-async-processing_stable-2026.2.md | 211 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:216-227 | OK | base64_encode_psk |
| 05-async-processing_stable-2026.2.md | 212 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:173-242 | OK | ensure_configs |
| 05-async-processing_stable-2026.2.md | 212 | neutron_vpnaas/services/vpn/common/netns_wrapper.py:112-156 | OK | execute_with_mount |
| 05-async-processing_stable-2026.2.md | 213 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:135-385 | OK | ensure_configs |
| 07-rewrite-pack_stable-2026.2.md | 31 | neutron:etc/neutron/api-paste.ini | OK | |
| 07-rewrite-pack_stable-2026.2.md | 42 | openstacksdk:openstack/network/v2/vpn_ipsec_site_connection.py:27-47 | OK | VpnIPSecSiteConnection |
| 07-rewrite-pack_stable-2026.2.md | 50 | neutron:neutron/api/extensions.py:353-364 | OK | extend_resources |
| 07-rewrite-pack_stable-2026.2.md | 50 | neutron-lib:neutron_lib/api/extensions.py:146-149 | OK | update_attributes_map |
| 07-rewrite-pack_stable-2026.2.md | 50 | neutron:neutron/api/extensions.py:447 | OK | _load_all_extensions_from_path |
| 07-rewrite-pack_stable-2026.2.md | 50 | neutron-lib:neutron_lib/api/definitions/vpn_no_sha1_3des.py:33-41 | OK | <module> |
| 07-rewrite-pack_stable-2026.2.md | 52 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:81-83 | OK | init |
| 07-rewrite-pack_stable-2026.2.md | 52 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:64-66 | OK | init |
| 07-rewrite-pack_stable-2026.2.md | 55 | neutron_vpnaas/services/vpn/plugin.py:166-175 | OK | create_ipsec_site_connection |
| 07-rewrite-pack_stable-2026.2.md | 55 | neutron_vpnaas/db/vpn/vpn_db.py:153-203 | OK | create_ipsec_site_connection |
| 07-rewrite-pack_stable-2026.2.md | 76 | neutron_vpnaas/db/vpn/vpn_validator.py:221-227 | OK | assign_sensible_ipsec_sitecon_defaults |
| 07-rewrite-pack_stable-2026.2.md | 79 | neutron_vpnaas/db/vpn/vpn_db.py:285-298 | OK | _update_connection_status |
| 07-rewrite-pack_stable-2026.2.md | 79 | neutron_vpnaas/db/vpn/vpn_db.py:761-763 | OK | update_status_by_agent |
| 07-rewrite-pack_stable-2026.2.md | 80 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:760-811 | OK | report_status |
| 07-rewrite-pack_stable-2026.2.md | 85 | neutron_vpnaas/scheduler/vpn_agent_scheduler.py:86-91 | OK | _get_candidates |
| 07-rewrite-pack_stable-2026.2.md | 85 | neutron_vpnaas/scheduler/vpn_agent_scheduler.py:155-185 | OK | AZLeastRoutersScheduler |
| 07-rewrite-pack_stable-2026.2.md | 86 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:367-382 | OK | get_vpn_agent_with_min_routers |
| 07-rewrite-pack_stable-2026.2.md | 88 | neutron_vpnaas/services/vpn/service_drivers/ovn_ipsec.py:99-103 | OK | _get_agent_hosting_vpn_services |
| 07-rewrite-pack_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:137-166 | OK | BaseSwanProcess |
| 07-rewrite-pack_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/strongswan_ipsec.py:76-123 | OK | init |
| 07-rewrite-pack_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/libreswan_ipsec.py:61-92 | OK | init |
| 07-rewrite-pack_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.conf.template:1-38 | OK | <module> |
| 07-rewrite-pack_stable-2026.2.md | 100 | neutron_vpnaas/services/vpn/device_drivers/template/libreswan/ipsec.conf.template:1-91 | OK | <module> |
| 07-rewrite-pack_stable-2026.2.md | 109 | openstacksdk:openstack/network/v2/vpn_ipsec_site_connection.py:17-19 | OK | VpnIPSecSiteConnection |
| 07-rewrite-pack_stable-2026.2.md | 110 | openstacksdk:openstack/network/v2/vpn_ipsec_site_connection.py:27-47 | OK | VpnIPSecSiteConnection |
| 07-rewrite-pack_stable-2026.2.md | 110 | openstacksdk:openstack/network/v2/vpn_service.py:30-41 | OK | VpnService |
| 07-rewrite-pack_stable-2026.2.md | 111 | openstacksdk:openstack/network/v2/vpn_ipsec_site_connection.py:62 | OK | VpnIPSecSiteConnection |
| 07-rewrite-pack_stable-2026.2.md | 111 | openstacksdk:openstack/network/v2/vpn_ipsec_site_connection.py:107-109 | OK | VpnIPSecSiteConnection |
| 07-rewrite-pack_stable-2026.2.md | 112 | openstacksdk:openstack/network/v2/vpn_ipsec_site_connection.py:23 | OK | VpnIPSecSiteConnection |
| 07-rewrite-pack_stable-2026.2.md | 113 | neutron_vpnaas/services/vpn/device_drivers/ipsec.py:429-455 | OK | IPsecVpnDriverApi |
| 07-rewrite-pack_stable-2026.2.md | 113 | neutron_vpnaas/services/vpn/device_drivers/ovn_ipsec.py:120-179 | OK | setup_external |
| 07-rewrite-pack_stable-2026.2.md | 126 | neutron_vpnaas/services/vpn/plugin.py:87-111 | OK | _check_orphan_vpnservice_associations |
| 07-rewrite-pack_stable-2026.2.md | 127 | etc/neutron/rootwrap.d/vpnaas.filters | OK | |
| 07-rewrite-pack_stable-2026.2.md | 134 | neutron_vpnaas/tests/unit/db/vpn/test_vpn_db.py | OK | |
| 07-rewrite-pack_stable-2026.2.md | 134 | neutron_vpnaas/tests/unit/services/vpn/service_drivers/test_ovn_ipsec.py | OK | |
| 07-rewrite-pack_stable-2026.2.md | 134 | neutron_vpnaas/tests/unit/services/vpn/device_drivers/test_ipsec.py | OK | |
| 07-rewrite-pack_stable-2026.2.md | 142 | neutron_vpnaas/extensions/vpn_aes_ctr.py:26-37 | OK | Vpn_aes_ctr |
| 07-rewrite-pack_stable-2026.2.md | 142 | neutron_vpnaas/extensions/vpn_no_sha1_3des.py:26-37 | OK | Vpn_no_sha1_3des |
| 07-rewrite-pack_stable-2026.2.md | 143 | neutron_vpnaas/db/vpn/vpn_db.py:522 | OK | set_vpnservice_status |
| 07-rewrite-pack_stable-2026.2.md | 143 | neutron_vpnaas/db/vpn/vpn_agentschedulers_db.py:395-396 | OK | get_router_availability_zones |
Source: reverse-spec-neutron-vpnaas/_verification_stable-2026.2.md. The _rewrite/ and _inventory/ files are not published on the site.