VLAN Configuration#

IBF VLAN aka VLAN 200 AKA TACP VLAN#

Intra-board function VLAN is used for communication between onboard devices like sMCU, Tegra, and switches. No Ethernet frames over this VLAN go outside the board. IBF VLAN is used for the following:

  1. Tegra-Tegra communication

  2. Tegra-sMCU communication

  3. sMCU OTA from Tegra

  4. Switch Firmware over-the-air (OTA) updates

VLAN 200 Config in P3960#

In 3960, the following ports and controllers are part of VLAN 200.

  • Tegra MGBE3 interface

  • sMCU Ethernet interface

  • bMRM MCU Ethernet interface

  • P3960-TS2
    • R_SWITCH-1 : P12 (interfacing MGBE3) and P8 (sMCU interfacing port) and P7 (bMRM MCU interfacing port)

  • P3960-TS3
    • R_SWITCH-1 : P12 (interfacing MGBE3) and P8 (sMCU interfacing port)

    • M_Switch : P9 (interfacing MGBE1) and P7 (bMRM MCU interfacing port)

    • Tegra MGBE1 interface

P3960-TS2#

image_p3960_ts2_vlan200

P3960-TS3#

image_p3960_ts3_vlan200

TACP Networking VLAN Configuration#

The VLAN networking configuration to set up this channel occurs in three distinct places in standard or safety operating systems.

  1. Tegra side configuration

  2. Network switch configuration

  3. sMCU AUTOSAR configuration

Tegra Side Configuration#

TACP VLAN configuration parameters are stored in the device tree.

T264:
${NV_WORKSPACE}/hardware/nvidia/platform/t264/automotive/kernel-dts/

They are further broken down by the board type. The networking information is in the following device tree files under the node board_config.

T264:
p3960/common/tegra264-p3960-base.dtsi

The configuration file supports these parameters under the board config node required for the TACP VLAN setup.

  • Tegra IP address

  • VLAN ID and interface name

board_config {
        TEGRA_IP_ADDRESS="10.42.0.28";
        aurix {
            /* Provide instance.200 as aurix interface,
             * where instance is network controller
             * interface name */
            aurix_linux_interface="mgbe3_0.200";
            aurix_qnx_interface="mgbe3_0.200";
            AURIX_IP_ADDRESS="10.42.0.146";
        };

Where aurix_qnx_interface/ aurix_linux_interface = <MAIN_ETH_IFACE>.<VLANID> : <MAIN_ETH_IFACE> is the network interface over which VLAN is supposed to be created <VLANID>is the VLAN ID of the newly created VLAN interface.TEGRA_IP_ADDRESS= <IP_ADDRESS> : IP address for Tegra tacp VLAN interface

Tegra-side TACP VLAN Customization#

Tegra side TACP VLAN customization is possible for the following parameters by changing the value assigned in the board-specific device tree in standard OS, and by changing the hardcoded values in the bootup script.

  • Tegra IP address

  • VLAN ID and interface name

Note

Changes in VLAN parameters requires corresponding changes in the sMCU AFW for new VLAN support along with the new VLAN configuration in the network switches. Changes in IP address (if other subnet) requires a change in IP address of the VLAN interface on the sMCU MCU side.

Network Switch VLAN Configuration#

Note

For the P3898 board, switch configuration occurs via Tegra over SPI or through the network switch firmware.

In NVIDIA platforms, network switch configuration occurs via sMCU firmware or through the network switch firmware. These configuration cannot be altered in run time.

sMCU VLAN Configuration#

Refer to the MCU Porting Guide for details.