+ nla_total_size(1)     /* IFLA_BRPORT_ISOLATED */
                + nla_total_size(1)     /* IFLA_BRPORT_LOCKED */
                + nla_total_size(1)     /* IFLA_BRPORT_MAB */
+               + nla_total_size(1)     /* IFLA_BRPORT_NEIGH_VLAN_SUPPRESS */
                + nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_ROOT_ID */
                + nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_BRIDGE_ID */
                + nla_total_size(sizeof(u16))   /* IFLA_BRPORT_DESIGNATED_PORT */
                       !!(p->flags & BR_MRP_LOST_IN_CONT)) ||
            nla_put_u8(skb, IFLA_BRPORT_ISOLATED, !!(p->flags & BR_ISOLATED)) ||
            nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)) ||
-           nla_put_u8(skb, IFLA_BRPORT_MAB, !!(p->flags & BR_PORT_MAB)))
+           nla_put_u8(skb, IFLA_BRPORT_MAB, !!(p->flags & BR_PORT_MAB)) ||
+           nla_put_u8(skb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+                      !!(p->flags & BR_NEIGH_VLAN_SUPPRESS)))
                return -EMSGSIZE;
 
        timerval = br_timer_value(&p->message_age_timer);
        [IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT] = { .type = NLA_U32 },
        [IFLA_BRPORT_MCAST_N_GROUPS] = { .type = NLA_REJECT },
        [IFLA_BRPORT_MCAST_MAX_GROUPS] = { .type = NLA_U32 },
+       [IFLA_BRPORT_NEIGH_VLAN_SUPPRESS] = NLA_POLICY_MAX(NLA_U8, 1),
 };
 
 /* Change the state of the port and notify spanning tree */
        br_set_port_flag(p, tb, IFLA_BRPORT_ISOLATED, BR_ISOLATED);
        br_set_port_flag(p, tb, IFLA_BRPORT_LOCKED, BR_PORT_LOCKED);
        br_set_port_flag(p, tb, IFLA_BRPORT_MAB, BR_PORT_MAB);
+       br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+                        BR_NEIGH_VLAN_SUPPRESS);
 
        if ((p->flags & BR_PORT_MAB) &&
            (!(p->flags & BR_PORT_LOCKED) || !(p->flags & BR_LEARNING))) {