def METHOD_NAME(self, ip_prefix, vrf, op, data=None):
    is_ipv6 = TemplateFabric.is_ipv6(ip_prefix)
    bgp_asn = self.directory.get_slot("CONFIG_DB", swsscommon.CFG_DEVICE_METADATA_TABLE_NAME)["localhost"]["bgp_asn"]
    cmd_list = []
    if vrf == "default":
        cmd_list.append("router bgp %s" % bgp_asn)
    else:
        cmd_list.append("router bgp %s vrf %s" % (bgp_asn, vrf))
    cmd_list.append(" address-family %s unicast" % ("ipv6" if is_ipv6 else "ipv4"))
    if data and "profile" in data:
        cmd_list.append("  network %s route-map %s" % (ip_prefix, "%s_RM" % data["profile"]))
        log_debug(
            "BGPAdvertiseRouteMgr:: Update bgp %s network %s with route-map %s"
            % (bgp_asn, vrf + "|" + ip_prefix, "%s_RM" % data["profile"])
        )
    else:
        cmd_list.append("  %snetwork %s" % ("no " if op == self.OP_DELETE else "", ip_prefix))
        log_debug(
            "BGPAdvertiseRouteMgr:: %sbgp %s network %s"
            % ("Remove " if op == self.OP_DELETE else "Update ", bgp_asn, vrf + "|" + ip_prefix)
        )
    self.cfg_mgr.push_list(cmd_list)
    log_debug("BGPAdvertiseRouteMgr::Done")