diff --git a/netbox/dcim/api/serializers_/device_components.py b/netbox/dcim/api/serializers_/device_components.py index b338b1561..10739e536 100644 --- a/netbox/dcim/api/serializers_/device_components.py +++ b/netbox/dcim/api/serializers_/device_components.py @@ -168,7 +168,7 @@ class MACAddressSerializer(NetBoxModelSerializer): class Meta: model = MACAddress - fields = ['mac_address',] + fields = ['mac_address', 'is_primary'] brief_fields = ('mac_address',) @@ -226,6 +226,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect allow_null=True, read_only=True ) + mac_addresses = MACAddressSerializer(many=True, read_only=True) wwn = serializers.CharField(required=False, default=None, allow_blank=True, allow_null=True) class Meta: @@ -238,6 +239,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect 'cable', 'cable_end', 'wireless_link', 'link_peers', 'link_peers_type', 'wireless_lans', 'vrf', 'l2vpn_termination', 'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields', 'created', 'last_updated', 'count_ipaddresses', 'count_fhrp_groups', '_occupied', + 'mac_addresses', ] brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied') diff --git a/netbox/virtualization/api/serializers_/virtualmachines.py b/netbox/virtualization/api/serializers_/virtualmachines.py index b4346ac41..a2c55eb41 100644 --- a/netbox/virtualization/api/serializers_/virtualmachines.py +++ b/netbox/virtualization/api/serializers_/virtualmachines.py @@ -2,6 +2,7 @@ from drf_spectacular.utils import extend_schema_field from rest_framework import serializers from dcim.api.serializers_.devices import DeviceSerializer +from dcim.api.serializers_.device_components import MACAddressSerializer from dcim.api.serializers_.platforms import PlatformSerializer from dcim.api.serializers_.roles import DeviceRoleSerializer from dcim.api.serializers_.sites import SiteSerializer @@ -101,6 +102,7 @@ class VMInterfaceSerializer(NetBoxModelSerializer): allow_null=True, read_only=True ) + mac_addresses = MACAddressSerializer(many=True, read_only=True) class Meta: model = VMInterface @@ -108,7 +110,7 @@ class VMInterfaceSerializer(NetBoxModelSerializer): 'id', 'url', 'display_url', 'display', 'virtual_machine', 'name', 'enabled', 'parent', 'bridge', 'mtu', 'mac_address', 'description', 'mode', 'untagged_vlan', 'tagged_vlans', 'qinq_svlan', 'vlan_translation_policy', 'vrf', 'l2vpn_termination', 'tags', 'custom_fields', 'created', 'last_updated', - 'count_ipaddresses', 'count_fhrp_groups', + 'count_ipaddresses', 'count_fhrp_groups', 'mac_addresses', ] brief_fields = ('id', 'url', 'display', 'virtual_machine', 'name', 'description')