{"push_id":730374096,"size":2,"distinct_size":2,"ref":"refs/heads/dhcp-for-routed-ifs","head":"223e90167b5cbb17971a813631a62961651f554b","before":"04a75e86fe5f261c406818e994a04b475650719f","commits":[{"sha":"fbd05ea0f57e356685fe80770ddacba37c0d1b05","author":{"email":"80d6b7877211b3dc59c0865e344e0f10af2f5ce2@metaswitch.com","name":"Neil Jerram"},"message":"Describe and create the 'routed' network type (rfe)\n\nThis change, along with [1], implements the RFE that is tracked by [2].\n\n[1] https://review.openstack.org/#/c/197578/\n[2] https://bugs.launchpad.net/neutron/+bug/1472704\n\nChange-Id: Ie745bb278556c14e826f87a7f7095d6253ce8409","distinct":true,"url":"https://api.github.com/repos/Metaswitch/calico-neutron/commits/fbd05ea0f57e356685fe80770ddacba37c0d1b05"},{"sha":"223e90167b5cbb17971a813631a62961651f554b","author":{"email":"029a55633b5f056d2e17ce0ebe0382658a9af06d@metaswitch.com","name":"Neil Jerram"},"message":"DHCP agent: support routed VM interfaces as well as bridged\n\nThis patch enhances the reference Neutron DHCP agent to handle the\n'routed' network implementation [1] in which data to and from VMs is\nrouted on the compute host instead of being bridged.\n\n[1] https://review.openstack.org/#/c/198439/\n\nDHCP service\n============\n\nPer [1], the host end of each TAP interface to/from a VM is left\nunbridged, and without an IPv4 address.  The question then arises of\nhow to provide DHCP service to those TAP interfaces, and that is what\nis answered by this patch.  Its main points are as follows.\n\n- The trigger for activating all of the following behaviour is setting\n  the DHCP agent's interface_driver setting to RoutedInterfaceDriver.\n\n- When RoutedInterfaceDriver is in use:\n\n  - Everything is done in the default namespace.\n\n  - The DHCP agent invokes Dnsmasq with modified options, notably\n    '--bridge-interface=ns-XXX,tap* --interface=tap*', that tell\n    Dnsmasq to listen on all the TAP interfaces and to treat those\n    interfaces as aliases of the ns-XXX interface where the DHCP\n    context and IP subnet are defined.\n\n  - The ns-XXX interface (for the DHCP port) is created as a dummy\n    interface.\n\n  - The ns-XXX interface is given the subnet's gateway IP address,\n    instead of a freshly allocated IP address from the subnet.  Care\n    is taken at this point to _avoid_ a corresponding IP prefix route\n    for the subnet, via the dummy device; as that would obviously go\n    nowhere, and it causes a problem known as 'AS puddling' if that\n    route is inadvertently exported via BGP to other compute\n    hosts (and if there are IP hops between compute hosts).\n\nChange-Id: I4dc5ae75f722d079a529ea1ae5f2011a3edbc84e","distinct":true,"url":"https://api.github.com/repos/Metaswitch/calico-neutron/commits/223e90167b5cbb17971a813631a62961651f554b"}]}