This document discusses Linux network namespaces and how they are used in Docker and OpenStack. It provides examples of creating and using namespaces in C code and with iproute2 tools. Namespaces allow isolating networking configurations like routing tables, interfaces, and firewall rules. Docker uses namespaces for container isolation while OpenStack uses them to provide overlapping IP spaces across virtual networks. The OpenStack networking architecture with Open vSwitch is described along with how the neutron-l3-agent and neutron-dhcp-agent utilize namespaces.