Prior "bridge: Change local fdb entries whenever mac address of bridge device changes" [1], FDB entry for a bridge was not inserted when creating the bridge and it could only be inserted when a hw address of the bridge was changed. Therefore, on an older than the 3.14 kernel containers were not able to reach the "weave" bridge w/o setting the promiscuous mode on. This should have hit hard Kubernetes users as the weave bridge in their case is used as a default gateway, and thus it works only after manually enabling the promiscuous mode. Additionally, w/o the promiscuous mode a packet sent from a container and destined to the gateway is flooded on all ports, so it can reach the "datapath" device resulting in the "Vetoed installation of hairpin flow" error. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a4b816d8ba1c1917842dc3de97cbf8ef116e043e
Weave Net - Weaving Containers into Applications
About Weaveworks
Weaveworks is the company that delivers the most productive way for developers to connect, observe and control Docker containers.
This repository contains Weave Net, the first product developed by Weaveworks, and with over 8 million downloads to date, enables you to get started with Docker clusters and portable apps in a fraction of the time compared with other solutions.
Weave Cloud:
Weave Cloud is software-as-a-service that simplifies deployment, monitoring and management for containers and microservices. It extends and complements popular orchestrators, and enables developers and DevOps to realize faster deployments, insightful monitoring, visualization and networking.
Weave Cloud is built using these Open Source projects: Weave Scope, a powerful container visualization tool that automatically maps Docker containers and their interactions, Weave Cortex, a horizontally-scalable version of Prometheus, and Weave Flux, a continuous deployment tool that works with Kubernetes.
Weave Net
Weave Net creates a virtual network that connects Docker containers across multiple hosts and enables their automatic discovery. With Weave Net, portable microservices-based applications consisting of multiple containers can run anywhere: on one host, multiple hosts or even across cloud providers and data centers. Applications use the network just as if the containers were all plugged into the same network switch, without having to configure port mappings, ambassadors or links.
Services provided by application containers on the Weave network can be exposed to the outside world, regardless of where they are running. Similarly, existing internal systems can be opened to accept connections from application containers irrespective of their location.
Getting help
If you have any questions about, feedback for or a problem with Weave Net:
- Read the Weave Net docs.
- Invite yourself to the #weave-community slack channel.
- Ask a question on the #weave-community slack channel.
- Join the Weave User Group and get invited to online talks, hands-on training and meetups in your area.
- Send an email to weave-users@weave.works
- File an issue.
Your feedback is always welcome!