Recommended method to update BLE AD in nRF Connect/Zephyr at runtime

Currently advertising packet is built by macros, but the data types include const qualifiers.

What is the "proper" way to dynamically update advertising please? I need to change the manufacturer-specific data at runtime.

Using NCS 2.9.0

static struct bt_data ad[] = {
                                    BT_DATA_BYTES(BT_DATA_FLAGS,
                                    (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)),
                                    BT_DATA(BT_DATA_NAME_COMPLETE,
                                    DEVICE_NAME,
                                    DEVICE_NAME_LEN),
                                    BT_DATA(BT_DATA_MANUFACTURER_DATA, mfg_data, sizeof(mfg_data)),
                                    };

Related