Skip to main content

NetApp_Insight_2020.png 

NetApp Knowledgebase

How does a VIF MAC address get assigned in ONTAP 7?

Views:
203
Visibility:
Public
Votes:
1
Category:
not set
Specialty:
not set
Last Updated:

 

Applies to

  • Data ONTAP 9
  • Data ONTAP 8 7-mode
  • Data ONTAP 7

Answer

When a vif or ifgrp is created, the MAC address of the interfaces contained inside of the VIF change to the same MAC as the one assigned to the vif. This is because a vif is designed to look like a single interface to a switch. That switch sees one MAC addess for a virtual interface and is configured to reflect that on the ports the individual interfaces are connected to. The question is, how is that MAC address generated?

Starting in Data ONTAP 6.2 and later, changes were made to the way the MAC address is assigned to a vif.

In prior releases of Data ONTAP, the mac address from one of the members of the vif was used for the vif. Data ONTAP 6.2 introduces the feature which allows interfaces to be removed from a vif, so the real MAC address of one of the interfaces cannot be used for the vif, as it may subsequently be required by the interface if that interface is removed from the vif. Instead, Data ONTAP 6.2 and above creates a pool of virtual MAC addresses to be used by vifs.

Data ONTAP will create a vif MAC address based on the MAC of the e0 interface. It will do this by taking the first two hex numbers of the e0 MAC, increment them and apply them to all of the interfaces inside of the VIF. So if the e0 MAC is 00:a0:98:00:8f:81, then the vif MAC will become 02:a0:98:00:8f:81, as well as the other interfaces.

Example:

To determine the MAC address that is assigned to the vif, you need to run ifgrp status <ifgrp> on the filer and check the Addr_set field which indicates that a MAC address has been assigned to the vif. Then run ifconfig <vif interface> to get the MAC address assigned to the vif.

fas01*> ifgrp status
default: transmit 'IP Load balancing', Ifgrp Type 'multi_mode', fail 'log'
ifgrpA: 2 links, transmit 'IP Load balancing', Ifgrp Type 'multi_mode' fail 'default'
         Ifgrp Status   Up      Addr_set
        up:
        e0d: state up, since 19Feb2020 19:12:03 (00:00:03)
                mediatype: auto-1000t-fd-up
                flags: enabled
                input packets 1, input bytes 64
                output packets 0, output bytes 0
                up indications 1, broken indications 0
                drops (if) 0, drops (link) 0
                indication: up at 19Feb2020 19:12:03
                        consecutive 2, transitions 1
        e0c: state up, since 19Feb2020 19:11:46 (00:00:20)
                mediatype: auto-1000t-fd-up
                flags: enabled
                input packets 8, input bytes 512
                output packets 0, output bytes 0
                up indications 1, broken indications 0
                drops (if) 0, drops (link) 0
                indication: up at 19Feb2020 19:11:46
                        consecutive 18, transitions 1

fas01*> ifconfig -a
e0a: flags=0xe48867<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 10.216.61.221 netmask 0xffffff00 broadcast 10.216.61.255
        ether 00:50:56:92:1f:da (auto-1000t-fd-up) flowcontrol full
e0b: flags=0xe08866<BROADCAST,RUNNING,MULTICAST> mtu 1500
        ether 00:50:56:92:16:23 (auto-1000t-fd-up) flowcontrol full
e0c: flags=0x8e08867<BROADCAST,RUNNING,MULTICAST> mtu 1500
        ether 02:50:56:92:1f:da (auto-1000t-fd-up) flowcontrol full
        trunked ifgrpA
e0d: flags=0x8e08867<BROADCAST,RUNNING,MULTICAST> mtu 1500
        ether 02:50:56:92:1f:da (auto-1000t-fd-up) flowcontrol full
        trunked ifgrpA
lo: flags=0x1b48049<UP,LOOPBACK,RUNNING,MULTICAST,TCPCKSUM> mtu 9188
        inet 127.0.0.1 netmask 0xff000000 broadcast 127.0.0.1
losk: flags=0x40a400c9<UP,LOOPBACK,RUNNING> mtu 9188
        inet 127.0.20.1 netmask 0xff000000 broadcast 127.0.20.1
ifgrpA: flags=0x20e08862<BROADCAST,RUNNING,MULTICAST> mtu 1500
        ether 02:50:56:92:1f:da (Enabled interface groups)

 

Because of this change, it may be necessary for the networking equipment or the clients to recognize the new MAC address. In some cases, the old MAC address may still be in the ARP cache. It will need to be deleted and the new MAC address will need to be discovered. In some cases, nothing needs to be done, as it the old MAC address will be aged out and the new MAC address discovered. Check your switch, router, or client manuals on how to handle this.

Additional Information

additionalInformation_text