Configure VLANS on KVM Guest

Examine the VLAN Awareness Types section and decide which type you require. If you require a VLAN, configure the guest VMs to support VLANs.

VLANs for the MFE

Follow these steps if you need to set up VLANs for your MFE.

  1. Set the parent interface to stay up without owning an IP.
    nmcli connection modify <parent-if> \
      ipv4.method disabled \
      ipv4.addresses "" \
      ipv4.gateway "" \
      ipv4.dns "" \
      ipv6.method ignore \
      connection.autoconnect yes
  2. Immediately flush the runtime IP from the parent interface.
    ip addr flush dev <parent-if>
  3. Create a VLAN profile.
    nmcli connection add \
      type vlan \
      con-name <parent-if>.<vlan-id> \
      ifname <parent-if>.<vlan-id> \
      dev <parent-if> \
      id <vlan-id>

    For example:

    nmcli connection add \
      type vlan \
      con-name ens6.35 \
      ifname ens6.35 \
      dev ens6 \
      id 35
  4. Assign a persistent IP to the VLAN.
    nmcli connection modify <parent-if>.<vlan-id> \
      ipv4.method manual \
      ipv4.addresses <IP>/<PREFIX> \
      ipv6.method ignore \
      connection.autoconnect yes

    For example:

    nmcli connection modify ens6.35 \
      ipv4.method manual \
      ipv4.addresses  192.168.2.31/24 \
      ipv6.method ignore \
      connection.autoconnect yes
  5. Apply the new configuration to the parent interface and the VLAN.
    nmcli connection up <parent-if>
    nmcli connection up <parent-if>.<vlan-id>

    For example:

    nmcli connection up ens6
       nmcli connection up ens6.35
  6. Verify the new configuration was applied.
    ip a

    The command shows the new VLAN interface. For example, ens6.35@ens6.

If you need to convert a VLAN interface back to a normal media interface:

  1. Assign the IP to the parent interface.
    nmcli connection modify <parent-if> \
        ipv4.method manual \
        ipv4.addresses <IP>/<PREFIX> \
        ipv6.method ignore
    For example:
    nmcli connection modify ens6 \
        ipv4.method manual \
        ipv4.addresses 192.168.2.31/24 \
        ipv6.method ignore
  2. Bring up the parent interface.

    For example:

    nmcli connection up ens6
  3. Delete the VLAN connection.
    nmcli connection down <parent-if>.<vlan-id>
    nmcli connection delete <parent-if>.<vlan-id>
    For example:
    nmcli connection down ens6.33
    nmcli connection delete ens6.33

    You can use ip a to verify the VLAN interface is gone.

VLANs for the RTP Proxy

Follow these steps if you need to set up VLANs for the RTP Proxy.

If the RTP Proxy will receive and send out single-tagged VLAN packets, you must enable VLAN processing on both SBC side and MFE side ports of the RTP Proxy.

  1. SSH to your RTP Proxy.
  2. Navigate to the /opt/ORACLE_HOME/config directory.
    cd /opt/ORACLE_HOME/config
  3. Open the config.json file.
  4. Set Datapath.spec.domains[].vlan.enabled to true.
    • If you want VLAN traffic on both the SBC side and the MFE side (Type 1), set the enabled property of the external domain to true and set the enabled property of the mfe domain to true.
    • If you want VLAN traffic only on the MFE side (Type 2), set the enabled property of the external domain to false and set the enabled property of the mfe domain to true.
    • If you want VLAN traffic only on the SBC side (Type 3), set the enabled property of the external domain to true and set the enabled property of the mfe domain to false.
  5. Provide the VLAN IDs in the vid field for the domains that will support VLAN.
    • For Intra-VLAN, both the external and mfe domain will contain the same VLAN ID.
    • For Inter-VLAN, the VLAN IDs of the external and mfe domains will be different.

The following table lists the elements of the config.json file related to VLANs.

Table 8-11 Datapath Configuration Parameters

Parameter Type Required Default Description
Datapath.spec.domains[].name string Yes NA Must be external or mfe. Both domains must be configured exactly once.
Datapath.spec.domains[].ports int[] Yes NA Port IDs assigned to the domain. Values must be valid and must not overlap with ports assigned to another domain.
Datapath.spec.domains[].vlan object No NA Defines VLAN-related configuration.
Datapath.spec.domains[].vlan.enabled boolean No false Enables or disables VLAN processing.
Datapath.spec.domains[].vlan.tags array Yes (if VLAN is enabled) NA Defines the single VLAN tag configuration.
Datapath.spec.domains[].vlan.tags[].tpid string Yes (if VLAN is enabled) NA Tag Protocol Identifier (TPID). Identifies the frame as IEEE 802.1Q VLAN tagged. Standard value for a single VLAN tag is 0x8100.
Datapath.spec.domains[].vlan.tags[].vid int Yes (if VLAN is enabled) NA VLAN Identifier (VID). Specifies the VLAN to which the packet belongs. Valid range: 1–4094.
Datapath.spec.domains[].vlan.tags[].pcp int Yes (if VLAN is enabled) NA Priority Code Point (PCP). Specifies the IEEE 802.1Q traffic priority. Valid range: 0–7.
Datapath.spec.domains[].vlan.tags[].dei int Yes (if VLAN is enabled) NA Drop Eligible Indicator (DEI). Indicates whether a frame may be dropped during congestion. Valid values: 0 or 1.
Datapath.spec.domains[].trusted.ipv4Endpoints string[] No NA List of trusted IPv4 source addresses for the domain.
  • If specified and non-empty, only packets received from the listed source IP addresses are accepted.
  • For the external domain, configure the SBC source IP addresses that send traffic to RTP Proxy.
  • For the mfe domain, configure the MFE source IP addresses that send traffic to RTP Proxy.
  • If the list is empty ([]), traffic from all source IP addresses is accepted.
Datapath.spec.nic.vlan.hwRxStrip boolean No false Enables NIC hardware VLAN tag stripping on received packets. RTP Proxy disables this by default because it must inspect and remove VLAN tags in software.
Datapath.spec.nic.vlan.hwTxInsert boolean No true Enables NIC hardware VLAN tag insertion on transmitted packets. If disabled or unsupported, RTP Proxy inserts VLAN tags in software before transmission.