[ovs-discuss] questions about fake-bridge
Ben Pfaff
blp at nicira.com
Mon Nov 25 19:34:40 UTC 2013
On Mon, Nov 25, 2013 at 08:10:40PM +0800, chen zhang wrote:
> hi dear all!
> is fake-bridge just devised for the ports in with the same vlan tag in
> real-bridge?
>
> i make it like this:
> ovs-vsctl add-br br0
> ovs-vsctl add-br br1 br0 2
> ovs-vsctl add-port br0 eth1(connecting with host 1,172.16.0.1)
>
> ifconfig br0 172.16.0.10
> ifconfig br1 172.16.0.11
>
> it succeeded when host 1 pings br1,i can understand because br1 is an
> "internal" port which just works as a host with an IP connecting to the
> real-bridge.
>
> but when i set port br1 tag=100,host 1 can still ping with br1 . how does
> fake-bridge itself communicate with real-bridge?
Q: I configured one IP address on VLAN 0 and another on VLAN 9, like
this:
ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth0
ifconfig br0 192.168.0.5
ovs-vsctl add-port br0 vlan9 tag=9 -- set interface vlan9 type=internal
ifconfig vlan9 192.168.0.9
but other hosts that are only on VLAN 0 can reach the IP address
configured on VLAN 9. What's going on?
A: RFC 1122 section 3.3.4.2 "Multihoming Requirements" describes two
approaches to IP address handling in Internet hosts:
- In the "Strong ES Model", where an ES is a host ("End
System"), an IP address is primarily associated with a
particular interface. The host discards packets that arrive
on interface A if they are destined for an IP address that is
configured on interface B. The host never sends packets from
interface A using a source address configured on interface B.
- In the "Weak ES Model", an IP address is primarily associated
with a host. The host accepts packets that arrive on any
interface if they are destined for any of the host's IP
addresses, even if the address is configured on some
interface other than the one on which it arrived. The host
does not restrict itself to sending packets from an IP
address associated with the originating interface.
Linux uses the weak ES model. That means that when packets
destined to the VLAN 9 IP address arrive on eth0 and are bridged to
br0, the kernel IP stack accepts them there for the VLAN 9 IP
address, even though they were not received on vlan9, the network
device for vlan9.
To simulate the strong ES model on Linux, one may add iptables rule
to filter packets based on source and destination address and
adjust ARP configuration with sysctls.
BSD uses the strong ES model.
More information about the discuss
mailing list