neutron/neutron/agent
Bence Romsics a818c41c25 metadata-ipv6: Accept link local address in X-Forwarded-For
In the spec we said:
"""
When the metadata proxy processes a request, it gathers the L2 addresses
of a VM, and the source interface, and passes it to the metadata service.

The Metadata service, instead of using the VM IP, uses the "VM MAC" and
"Gateway MAC" to identify the instance.
"""

But since we switched from the home-grown metadata-ns-proxy to haproxy
we no longer control some of the headers included, like X-Forwarded-For.
haproxy allows us to turn X-Forwarded-For on or off, but it cannot
give us an X-Forwarded-For-MAC header.

Instead it seems we have to rely on the source address being the IPv6
link local address generated from the NIC's MAC address as specified
in RFC 4291:
https://tools.ietf.org/html/rfc4291#section-2.5.6
https://tools.ietf.org/html/rfc4291#appendix-A

Note that means you cannot use IPv6 Privacy Extensions:
https://tools.ietf.org/html/rfc4941

Change-Id: Ife592fcfc69e26f61ec1f45c06821cb025cc7cf2
Closes-Bug: #1460177
2020-08-31 13:02:49 +02:00
..
common Merge "Improve terminology in the Neutron tree" 2020-08-28 14:06:18 +00:00
dhcp metadata-ipv6: DHCP namespace 2020-08-31 13:02:39 +02:00
l2 Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
l3 metadata-ipv6: Router namespace 2020-08-31 13:02:49 +02:00
linux metadata-ipv6: Router namespace 2020-08-31 13:02:49 +02:00
metadata metadata-ipv6: Accept link local address in X-Forwarded-For 2020-08-31 13:02:49 +02:00
ovn [OVN] Use the Chassis_Private table for agents healthcheck 2020-08-21 10:14:28 +01:00
ovsdb Bump pylint version to support python 3.8 2020-08-06 16:00:30 +02:00
windows Remove "six" library 2020-07-28 16:55:52 +00:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
agent_extensions_manager.py Make code follow log translation guideline 2017-08-14 02:01:48 +00:00
dhcp_agent.py Set process name for agents 2020-07-01 12:28:29 +02:00
firewall.py Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
l3_agent.py Set process name for agents 2020-07-01 12:28:29 +02:00
metadata_agent.py Remove deprecated cache_url 2017-11-10 00:47:19 -05:00
resource_cache.py Ignore first local port update notification 2019-07-04 12:06:11 +00:00
rpc.py ovs agent: signal to plugin if tunnel refresh needed 2020-01-09 14:18:43 +00:00
securitygroups_rpc.py Support for stateless security groups 2020-03-03 16:53:42 +01:00