How does a VIF MAC address get assigned in ONTAP 7?
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