X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fvswitch.xml;h=a9850c669fcfb169efcb072ebb4db65edb1e62d0;hb=ea7fa1dbe5efccb1718686bc5920baff266e143c;hp=fb41196369802a16a17a2a1141fa546da1f6745b;hpb=a5faa982dca4666c705717db165a2e8a13592e01;p=openvswitch diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index fb411963..a9850c66 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -499,50 +499,96 @@ -

A bridge port must be configured for VLANs in one of two - mutually exclusive ways: -

- If and are both - nonempty, the configuration is ill-formed. +

Bridge ports support the following types of VLAN configuration:

+
+
trunk
+
+

+ A trunk port carries packets on one or more specified VLANs + specified in the column (often, on every + VLAN). A packet that ingresses on a trunk port is in the VLAN + specified in its 802.1Q header, or VLAN 0 if the packet has no + 802.1Q header. A packet that egresses through a trunk port will + have a 802.1Q header if it has a nonzero VLAN ID (or a nonzero + 802.1Q priority). +

+ +

+ Any packet that ingresses on a trunk port tagged with a VLAN that + the port does not trunk is dropped. +

+
+ +
access
+
+

+ An access port carries packets on exactly one VLAN specified in the + column. Packets ingressing and egressing on an + access port have no 802.1Q header. +

+ +

+ Any packet with an 802.1Q header that ingresses on an access port + is dropped, regardless of whether the VLAN ID in the header is the + access port's VLAN ID. +

+
+ +
native-tagged
+
+ A native-tagged port resembles a trunk port, with the exception that + a packet without an 802.1Q header that ingresses on a native-tagged + port is in the ``native VLAN'' (specified in the + column). +
+ +
native-untagged
+
+ A native-untagged port resembles a native-tagged port, with the + exception that a packet that egresses on a native-untagged port in + the native VLAN not have an 802.1Q header. +
+
+

+ A packet will only egress through bridge ports that carry the VLAN of + the packet, as described by the rules above.

- -

- If this is an access port (see above), the port's implicitly - tagged VLAN. Must be empty if this is a trunk port. -

+

- Frames arriving on trunk ports will be forwarded to this - port only if they are tagged with the given VLAN (or, if - is 0, then if they lack a VLAN header). - Frames arriving on other access ports will be forwarded to - this port only if they have the same - value. Frames forwarded to this port will not have an - 802.1Q header. + The VLAN mode of the port, as described above. When this column is + empty, a default mode is selected as follows:

+
    +
  • + If contains a value, the port is an access + port. The column should be empty. +
  • +
  • + Otherwise, the port is a trunk port. The + column value is honored if it is present. +
  • +
+
+ +

- When a frame with a 802.1Q header that indicates a nonzero - VLAN is received on an access port, it is discarded. + For an access port, the port's implicitly tagged VLAN. For a + native-tagged or native-untagged port, the port's native VLAN. Must + be empty if this is a trunk port.

- If this is a trunk port (see above), the 802.1Q VLAN(s) that - this port trunks; if it is empty, then the port trunks all - VLANs. Must be empty if this is an access port. + For a trunk, native-tagged, or native-untagged port, the 802.1Q VLAN + or VLANs that this port trunks; if it is empty, then the port trunks + all VLANs. Must be empty if this is an access port.

- Frames arriving on trunk ports are dropped if they are not - in one of the specified VLANs. For this purpose, packets - that have no VLAN header are treated as part of VLAN 0. + A native-tagged or native-untagged port always trunks its native + VLAN, regardless of whether includes that + VLAN.