Get Expert Help

-

If you need assistance, visit the community forum for comprehensive and free database knowledge.

+

If you need assistance, visit the community forum for comprehensive and free database knowledge.

Contact our Percona Database Experts for professional support and services.


{# Add the last updated timestamp from git commits using gitstamp extension #} diff --git a/docs/percona-toolkit.pod b/docs/percona-toolkit.pod index 0f0db520f..48658d2e6 100644 --- a/docs/percona-toolkit.pod +++ b/docs/percona-toolkit.pod @@ -406,7 +406,7 @@ databases while running. =item F Defaults file for the MySQL client library (the C client library used by -DBD::mysql, I). All tools all read the +DBD::mysql, I). All tools read the C<[client]> section within the defaults file. If you omit this, the standard defaults files will be read in the usual order. "Standard" varies from system to system, because the filenames to read are compiled into the client library. @@ -441,7 +441,7 @@ lead to weird situations, like the server allowing LOCAL INFILE, but the client throwing exceptions if it's used. However, as long as the server allows LOAD DATA, clients can easily -re-enable it; see L +re-enable it; see L and L. This option does exactly that. @@ -464,6 +464,10 @@ MySQL socket file to use for the connection (on Unix systems). MySQL username to use when connecting, if not current system user. +=item s + +Create SSL connection + =back =head2 BAREWORD @@ -539,7 +543,7 @@ Include the following information in your bug report: =item * Tool C<--version> -=item * MySQL version of all servers involved +=item * MySQL, MongoDB, or PostgreSQL version of all servers involved =item * Output from the tool including STDERR @@ -603,6 +607,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -Percona Toolkit v3.6.0 released 2024-05-25 +Percona Toolkit v3.6.0 released 2024-06-12 =cut diff --git a/docs/pt-galera-log-explainer.rst b/docs/pt-galera-log-explainer.rst deleted file mode 100644 index 3b3cda00f..000000000 --- a/docs/pt-galera-log-explainer.rst +++ /dev/null @@ -1,246 +0,0 @@ -.. _pt-galera-log-explainer: - -================================== -:program:`pt-galera-log-explainer` -================================== - -Filter, aggregate and summarize multiple galera logs together. -This is a toolbox to help navigating Galera logs. - -Usage -===== - -.. code-block:: bash - - pt-galera-log-explainer [--since=] [--until=] [-vv] [--merge-by-directory] [--pxc-operator] - - -Commands available -================== - -list -~~~~ - -.. code-block:: bash - - pt-galera-log-explainer [flags] list { --all | [--states] [--views] [--events] [--sst] [--applicative] } - -List key events in chronological order from any number of nodes (sst, view changes, general errors, maintenance operations) -It will aggregates logs together by identifying them using node names, IPs and internal Galera identifiers. - - - -It can be from a single node: - -.. code-block:: bash - - pt-galera-log-explainer list --all --since 2023-01-05T03:24:26.000000Z /var/log/mysql/*.log - -or from multiple nodes. - -.. code-block:: bash - - pt-galera-log-explainer list --all *.log - -You can filter by type of events - -.. code-block:: bash - - pt-galera-log-explainer list --sst --views *.log - -whois -~~~~~ -Find out information about nodes, using any type of information - -.. code-block:: bash - - pt-galera-log-explainer [flags] whois [--json] [--type { nodename | ip | uuid | auto }] - - -.. code-block:: bash - - pt-galera-log-explainer whois '218469b2' mysql.log - pt-galera-log-explainer whois '172.17.0.3' mysql.log - pt-galera-log-explainer whois 'galera-node2' mysql.log - - -conflicts -~~~~~~~~~ - -List every replication failure votes (Galera 4) - -.. code-block:: bash - - pt-galera-log-explainer conflicts [--json|--yaml] *.log - -ctx -~~~ - -Get the tool crafted context for a single log. -It will contain everything the tool extracted from the log file: version, sst information, known uuid-ip-nodename mappings, ... - -.. code-block:: bash - - pt-galera-log-explainer ctx mysql.log - -regex-list -~~~~~~~~~~ - -Will print every implemented regexes: -* regex: the regex that will be used against the log files -* internalRegex: the golang regex that will be used to extract piece of information -* type: the regex group it belong to -* verbosity: the required level of verbosity to which it will be printed - -.. code-block:: bash - - pt-galera-log-explainer regex-list - -Available flags -~~~~~~~~~~~~~~~ - -``-h``, ``--help`` - Show help and exit. - -``--no-color`` - Remove every color special characters - -``--since`` - Only list events after this date. It will affect the regex applied to the logs. - Format: 2023-01-23T03:53:40Z (RFC3339) - -``--until`` - Only list events before this date. This is only implemented in the tool loop, it does not alter regexes. - Format: 2023-01-23T03:53:40Z (RFC3339) - -``--merge-by-directory`` - Instead of relying on extracted information, logs will be merged by their base directory - It is useful when logs are very sparse and already organized by nodes. - -``--skip-merge`` - Disable the ability to merge log files together. Can be used when every nodes have the same ``wsrep_node_name`` - -``-v``, ``--verbosity`` - ``-v``: display in the timeline every mysql info the tool used - ``-vv``: internal tool debug - -``--pxc-operator`` - Analyze logs from Percona PXC operator. Operator logs should be automatically detected (see ``--skip-operator-detection``). - It will prevent logs from being merged together, add operator specific regexes, and fine-tune regexes for logs taken from ``pt-k8s-debug-collector``. - Off by default because it negatively impacts performance for non-k8s setups. - -``--skip-operator-detection`` - Disable automatic detection of PXC operator logs. When detected, a message will be shown. - Detection is done using a prefix regex. - -``--exclude-regexes`` - Remove regexes from analysis. Use ``pt-galera-log-explainer regex-list | jq .`` to have the list - -``--grep-cmd`` - grep v3 binary command path. For Darwin systems, it could need to be set to ``ggrep`` - Default: ``grep`` - -``--version`` - Show version and exit. - -``--custom-regexes`` - Add custom regexes, printed in magenta. Format: (golang regex string)=[optional static message to display]. - If the static message is left empty, the captured string will be printed instead. Custom regexes are separated using semi-colon. - Example: ``--custom-regexes="Page cleaner took [0-9]*ms to flush [0-9]* pages=;doesn't recommend.*pxc_strict_mode=unsafe query used"`` - - -Example outputs -=============== - -.. code-block:: bash - - $ pt-galera-log-explainer list --all --no-color --since=2023-03-12T19:41:28.493046Z --until=2023-03-12T19:44:59.855491Z tests/logs/upgrade/* - identifier 172.17.0.2 node2 tests/logs/upgrade/node3.log - current path tests/logs/upgrade/node1.log tests/logs/upgrade/node2.log tests/logs/upgrade/node3.log - last known ip 172.17.0.2 - last known name node2 - mysql version 8.0.28 - - 2023-03-12T19:41:28.493046Z starting(8.0.28) | | - 2023-03-12T19:41:28.500789Z started(cluster) | | - 2023-03-12T19:43:17.630191Z | node3 joined | - 2023-03-12T19:43:17.630208Z node3 joined | | - 2023-03-12T19:43:17.630221Z node2 joined | | - 2023-03-12T19:43:17.630243Z | node1 joined | - 2023-03-12T19:43:17.634138Z | | node2 joined - 2023-03-12T19:43:17.634229Z | | node1 joined - 2023-03-12T19:43:17.643210Z | PRIMARY(n=3) | - 2023-03-12T19:43:17.648163Z | | PRIMARY(n=3) - 2023-03-12T19:43:18.130088Z CLOSED -> OPEN | | - 2023-03-12T19:43:18.130230Z PRIMARY(n=3) | | - 2023-03-12T19:43:18.130916Z OPEN -> PRIMARY | | - 2023-03-12T19:43:18.904410Z will receive IST(seqno:178226792) | | - 2023-03-12T19:43:18.913328Z | | node1 cannot find donor - 2023-03-12T19:43:18.913429Z node1 cannot find donor | | - 2023-03-12T19:43:18.913565Z | node1 cannot find donor | - 2023-03-12T19:43:19.914122Z | | node1 cannot find donor - 2023-03-12T19:43:19.914259Z node1 cannot find donor | | - 2023-03-12T19:43:19.914362Z | node1 cannot find donor | - 2023-03-12T19:43:20.914957Z | | (repeated x97)node1 cannot find donor - 2023-03-12T19:43:20.915143Z (repeated x97)node1 cannot find donor | | - 2023-03-12T19:43:20.915262Z | (repeated x97)node1 cannot find donor | - 2023-03-12T19:44:58.999603Z | | node1 cannot find donor - 2023-03-12T19:44:58.999791Z node1 cannot find donor | | - 2023-03-12T19:44:58.999891Z | node1 cannot find donor | - 2023-03-12T19:44:59.817822Z timeout from donor in gtid/keyring stage | | - 2023-03-12T19:44:59.839692Z SST error | | - 2023-03-12T19:44:59.840669Z | | node2 joined - 2023-03-12T19:44:59.840745Z | | node1 left - 2023-03-12T19:44:59.840933Z | node3 joined | - 2023-03-12T19:44:59.841034Z | node1 left | - 2023-03-12T19:44:59.841189Z NON-PRIMARY(n=1) | | - 2023-03-12T19:44:59.841292Z PRIMARY -> OPEN | | - 2023-03-12T19:44:59.841352Z OPEN -> CLOSED | | - 2023-03-12T19:44:59.841515Z terminated | | - 2023-03-12T19:44:59.841529Z former SST cancelled | | - 2023-03-12T19:44:59.848349Z | | node1 left - 2023-03-12T19:44:59.848409Z | | PRIMARY(n=2) - 2023-03-12T19:44:59.855443Z | node1 left | - 2023-03-12T19:44:59.855491Z | PRIMARY(n=2) | - - $ pt-galera-log-explainer whois 172.17.0.2 --no-color tests/logs/upgrade/* - ip: - └── 172.17.0.2 - ├── nodename: - │ └── node1 (2023-03-12 19:35:07.644683 +0000 UTC) - │ - └── uuid: - ├── 1d3ea8f5 (2023-03-12 07:24:13.789261 +0000 UTC) - ├── 54ab931e (2023-03-12 07:43:08.563339 +0000 UTC) - ├── fecde235 (2023-03-12 08:46:48.963504 +0000 UTC) - ├── a07872e1 (2023-03-12 08:49:41.206124 +0000 UTC) - ├── 60da0bf9-aa9c (2023-03-12 12:29:48.873397 +0000 UTC) - ├── 35b62086-902c (2023-03-12 13:04:23.979636 +0000 UTC) - ├── ca2c2a5f-a82a (2023-03-12 19:35:05.878879 +0000 UTC) - └── eefb9c8a-b69a (2023-03-12 19:43:17.133756 +0000 UTC) - - - -Requirements -============ - -grep, version 3 -On Darwin based OS, grep is only version 2 due to license limitations. --grep-cmd can be used to point the correct grep binary, usually ggrep - - -Compatibility -============= - -* Percona XtraDB Cluster: 5.5 to 8.0 -* MariaDB Galera Cluster: 10.0 to 10.6 -* logs from PXC operator pods (error.log, recovery.log, post.processing.log) - -Known issues -============ - -* Nodes sharing the same ip, or nodes with identical names are not supported -* Sparse files identification can be missed, resulting in many columns displayed. ``--merge-by-directory`` can be used, but files need to be organized already in separate directories - This is mainly when the log file does not contain enough information. -* Some information will seems missed. Depending on the case, it may be simply unimplemented yet, or it was disabled later because it was found to be unreliable (node index numbers are not reliable for example) -* Columns width are sometimes too large to be easily readable. This usually happens when printing SST events with long node names -* When some display corner-cases seems broken (events not deduplicated, ...), it is because of extra hidden internal events. diff --git a/docs/pt-galera-log-explainer.rst b/docs/pt-galera-log-explainer.rst new file mode 120000 index 000000000..cd10655bc --- /dev/null +++ b/docs/pt-galera-log-explainer.rst @@ -0,0 +1 @@ +../src/go/pt-galera-log-explainer/README.rst \ No newline at end of file diff --git a/docs/pt-k8s-debug-collector.rst b/docs/pt-k8s-debug-collector.rst deleted file mode 100644 index 6b72ad16f..000000000 --- a/docs/pt-k8s-debug-collector.rst +++ /dev/null @@ -1,191 +0,0 @@ -.. _pt-k8s-debug-collector: - -================================== -:program:`pt-k8s-debug-collector` -================================== - -Collects debug data (logs, resource statuses etc.) from a k8s/OpenShift cluster. Data is packed into the ``cluster-dump.tar.gz`` archive in the current working directory. - -Data that will be collected -=========================== - -.. code-block:: bash - - "pods", - "replicasets", - "deployments", - "statefulsets", - "replicationcontrollers", - "events", - "configmaps", - "cronjobs", - "jobs", - "podsecuritypolicies", - "poddisruptionbudgets", - "perconaxtradbbackups", - "perconaxtradbclusterbackups", - "perconaxtradbclusterrestores", - "perconaxtradbclusters", - "clusterrolebindings", - "clusterroles", - "rolebindings", - "roles", - "storageclasses", - "persistentvolumeclaims", - "persistentvolumes", - "modes", - "your-custom-resource" (depends on 'resource' flag) - -Data, collected for PXC -~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "perconaxtradbbackups", - "perconaxtradbclusterbackups", - "perconaxtradbclusterrestores", - "perconaxtradbclusters" - -Summary, collected for PXC (available in file summary.txt) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "pt-mysql-summary" - -Individual files, collected for PXC -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "var/lib/mysql/mysqld-error.log", - "var/lib/mysql/innobackup.backup.log", - "var/lib/mysql/innobackup.move.log", - "var/lib/mysql/innobackup.prepare.log", - "var/lib/mysql/grastate.dat", - "var/lib/mysql/gvwstate.dat", - "var/lib/mysql/mysqld.post.processing.log", - "var/lib/mysql/auto.cnf" - -Data, collected for MySQL -~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "perconaservermysqlbackups", - "perconaservermysqlrestores", - "perconaservermysqls" - -Summary, collected for MySQL (available in file summary.txt) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "pt-mysql-summary" - -Data, collected for MongoDB -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "perconaservermongodbbackups", - "perconaservermongodbrestores", - "perconaservermongodbs" - -Summary, collected for MongoDB (available in file summary.txt) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "pt-mongodb-summary" - -Data, collected for PostgreSQL -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "perconapgclusters", - "pgclusters", - "pgpolicies", - "pgreplicas", - "pgtasks" - -Summary, collected for PostgreSQL (available in file summary.txt) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: bash - - "pg_gather" - -Usage -===== - -``pt-k8s-debug-collector `` - -Supported Flags -================ - -``--resource`` - -Targeted custom resource name. Supported values: - -* ``pxc`` - PXC - -* ``psmdb`` - MongoDB - -* ``pg`` - PostgreSQL Operator v1 (deprecated) - -* ``pgv2`` - PostgreSQL Operator v2 - -* ``ps`` - MySQL - -* ``none`` - Collect only general Kubernetes data, do not collect anything specific to the particular operator). - -* ``auto`` - Auto-detect custom resource - -Default: ``auto`` - -``--namespace`` - -Targeted namespace. By default data will be collected from all namespaces - -``--cluster`` - -Targeted cluster. By default data from all available clusters to be collected - -``--kubeconfig`` - -Path to kubeconfig. Default configuration be used if none specified - -``--forwardport`` - -Port to use when collecting database-specific summaries. By default, 3306 will be used for PXC and MySQL, 27017 for MongoDB, and 5432 for PostgreSQL - -``--version`` - -Print version info - -Requirements -============ - -- Installed, configured, and available in PATH ``kubectl`` -- Installed, configured, and available in PATH ``pt-mysql-summary`` for PXC and MySQL -- Installed, configured, and available in PATH ``mysql`` for PXC and MySQL -- Installed, configured, and available in PATH ``pt-mongodb-summary`` for MongoDB -- Installed, configured, and available in PATH ``psql`` for PostgreSQL - -Known Issues -============ - -On Kubernetes 1.21 - 1.24 warning is printed: - -.. code-block:: bash - - 2022/12/15 17:43:16 Error: get resource podsecuritypolicies in namespace default: error: , stderr: Warning: policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+ - , stdout: apiVersion: v1 - items: [] - kind: List - metadata: - resourceVersion: "" - -This warning is harmless and does not affect data collection. We will remove podsecuritypolicies once everyone upgrade to Kubernetes 1.25 or newer. Before that we advise to ignore this warning. diff --git a/docs/pt-k8s-debug-collector.rst b/docs/pt-k8s-debug-collector.rst new file mode 120000 index 000000000..23edde705 --- /dev/null +++ b/docs/pt-k8s-debug-collector.rst @@ -0,0 +1 @@ +../src/go/pt-k8s-debug-collector/README.rst \ No newline at end of file diff --git a/docs/pt-mongodb-index-check.rst b/docs/pt-mongodb-index-check.rst deleted file mode 100644 index 3e31f0802..000000000 --- a/docs/pt-mongodb-index-check.rst +++ /dev/null @@ -1,72 +0,0 @@ -.. _pt-mongodb-index-check: - -================================= -:program:`pt-mongodb-index-check` -================================= - -Performs checks on MongoDB indexes. - -Checks available -================ - -Duplicated indexes -~~~~~~~~~~~~~~~~~~ - -Check for indexes that are the prefix of other indexes. For example if we have these 2 indexes - -.. code-block:: javascript - - db.getSiblingDB("testdb").test_col.createIndex({"f1": 1, "f2": -1, "f3": 1, "f4": 1}, {"name": "idx_01"}); - db.getSiblingDB("testdb").test_col.createIndex({"f1": 1, "f2": -1, "f3": 1}, {"name": "idx_02"}); - - -The index ``idx_02`` is the prefix of ``idx_01`` because it has the same -keys in the same order so, ``idx_02`` can be dropped. - -Unused indexes. -~~~~~~~~~~~~~~~ - -This check gets the ``$indexstats`` for all indexes and reports those -having ``accesses.ops`` = 0. - -Usage -===== - -Run the program as ``pt-mongodb-index-check [flags]`` - -Available commands -~~~~~~~~~~~~~~~~~~ - -================ ================================== -Command Description -================ ================================== -check-duplicated Run checks for duplicated indexes. -check-unused Run check for unused indexes. -check-all Run all checks -================ ================================== - -Available flags -~~~~~~~~~~~~~~~ - -+----------------------------+----------------------------------------+ -| Flag | Description | -+============================+========================================+ -| –all-databases | Check in all databases excluding | -| | system dbs. | -+----------------------------+----------------------------------------+ -| –databases=DATABASES,… | Comma separated list of databases to | -| | check. | -+----------------------------+----------------------------------------+ -| –all-collections | Check in all collections in the | -| | selected databases. | -+----------------------------+----------------------------------------+ -| –collections=COLLECTIONS,… | Comma separated list of collections to | -| | check. | -+----------------------------+----------------------------------------+ -| –mongodb.uri= | Connection URI | -+----------------------------+----------------------------------------+ -| –json | Show output as JSON | -+----------------------------+----------------------------------------+ -| –version | Show version information | -+----------------------------+----------------------------------------+ - diff --git a/docs/pt-mongodb-index-check.rst b/docs/pt-mongodb-index-check.rst new file mode 120000 index 000000000..7eef47ec3 --- /dev/null +++ b/docs/pt-mongodb-index-check.rst @@ -0,0 +1 @@ +../src/go/pt-mongodb-index-check/README.rst \ No newline at end of file diff --git a/docs/pt-mongodb-summary.rst b/docs/pt-mongodb-summary.rst deleted file mode 100644 index 61c772ddf..000000000 --- a/docs/pt-mongodb-summary.rst +++ /dev/null @@ -1,168 +0,0 @@ -.. pt-mongodb-summary: - -============================= -:program:`pt-mongodb-summary` -============================= - -``pt-mongodb-summary`` collects information about a MongoDB cluster. -It collects information from several sources -to provide an overview of the cluster. - -Usage -===== - -.. code-block:: bash - - pt-mongodb-summary [OPTIONS] [HOST[:PORT]] - -By default, if you run ``pt-mongodb-summary`` without any parameters, -it will try to connect to ``localhost`` on port ``27017``. -The program collects information about MongoDB instances -by running administration commands and formatting the output. - -.. note:: ``pt-mongodb-summary`` requires to be run by user - with the ``clusterAdmin`` or ``root`` built-in roles. - -.. note:: ``pt-mongodb-summary`` cannot collect statistics - from MongoDB instances that require connection via SSL. - Support for SSL will be added in the future. - -Options -------- - -``-a``, ``--auth-db`` - Specifies the database used to establish credentials and privileges - with a MongoDB server. - By default, the ``admin`` database is used. - -``-f``, ``--output-format`` - Specifies the report output format. Valid options are: ``text``, ``json``. - The default value is ``text``. - -``-p``, ``--password`` - Specifies the password to use when connecting to a server - with authentication enabled. - - Do not add a space between the option and its value: ``-p``. - - If you specify the option without any value, - ``pt-mongodb-summary`` will ask for password interactively. - -``-u``, ``--user`` - Specifies the user name for connecting to a server - with authentication enabled. - -Output Example -============== - -.. code-block:: none - - # Instances #################################################################################### - ID Host Type ReplSet - 0 localhost:17001 PRIMARY r1 - 1 localhost:17002 SECONDARY r1 - 2 localhost:17003 SECONDARY r1 - 0 localhost:18001 PRIMARY r2 - 1 localhost:18002 SECONDARY r2 - 2 localhost:18003 SECONDARY r2 - - # This host - # Mongo Executable ############################################################################# - Path to executable | /home/karl/tmp/MongoDB32Labs/3.0/bin/mongos - # Report On 0 ######################################## - User | karl - PID Owner | mongos - Time | 2016-10-30 00:18:49 -0300 ART - Hostname | karl-HP-ENVY - Version | 3.0.11 - Built On | Linux x86_64 - Started | 2016-10-30 00:18:49 -0300 ART - Datadir | /data/db - Process Type | mongos - - # Running Ops ################################################################################## - - Type Min Max Avg - Insert 0 0 0/5s - Query 0 0 0/5s - Update 0 0 0/5s - Delete 0 0 0/5s - GetMore 0 0 0/5s - Command 0 22 16/5s - - # Security ##################################################################################### - Users 0 - Roles 0 - Auth disabled - SSL disabled - - - # Oplog ######################################################################################## - Oplog Size 18660 Mb - Oplog Used 55 Mb - Oplog Length 0.91 hours - Last Election 2016-10-30 00:18:44 -0300 ART - - - # Cluster wide ################################################################################# - Databases: 3 - Collections: 17 - Sharded Collections: 1 - Unsharded Collections: 16 - Sharded Data Size: 68 GB - Unsharded Data Size: 0 KB - # Balancer (per day) - Success: 6 - Failed: 0 - Splits: 0 - Drops: 0 - -Sections --------- - -Output is separated into the following sections: - -* **Instances** - - This section lists all hosts connected to the current MongoDB instance. - For this, ``pt-mongodb-summary`` runs the ``listShards`` command - and then the ``replSetGetStatus`` on every instance - to collect its ID, type, and replica set. - -* **This host** - - This section provides an overview of the current MongoDB instance - and the underlying OS. - For this, ``pt-mongodb-summary`` groups information - collected from ``hostInfo``, ``getCmdLineOpts``, ``serverStatus``, - and the OS process (by process ID). - -* **Running Ops** - - This section provides minimum, maximum, and average operation counters - for ``insert``, ``query``, ``update``, ``delete``, ``getMore``, - and ``command`` operations. - For this, ``pt-mongodb-summary`` runs the ``serverStatus`` command - 5 times at regular intervals (every second). - -* **Security** - - This section provides information about the security settings. - For this, ``pt-mongodb-summary``, parses ``getCmdLineOpts`` output - and queries the ``admin.system.users`` - and ``admin.system.roles`` collections. - -* **Oplog** - - This section contains details about the MongoDB operations log (oplog). - For this, ``pt-mongodb-summary`` collects statistics - from the oplog on every host in the cluster, - and returns those with the smallest ``TimeDiffHours`` value. - -* **Cluster wide** - - This section provides information about the number of sharded and - unsharded databases, collections, and their size. - For this, ``pt-mongodb-summary`` runs the ``listDatabases`` command - and then runs ``collStats`` for every collection in every database. - diff --git a/docs/pt-mongodb-summary.rst b/docs/pt-mongodb-summary.rst new file mode 120000 index 000000000..135488139 --- /dev/null +++ b/docs/pt-mongodb-summary.rst @@ -0,0 +1 @@ +../src/go/pt-mongodb-summary/README.rst \ No newline at end of file diff --git a/docs/pt-pg-summary.rst b/docs/pt-pg-summary.rst deleted file mode 100644 index 814291361..000000000 --- a/docs/pt-pg-summary.rst +++ /dev/null @@ -1,475 +0,0 @@ -======================== -:program:`pt-pg-summary` -======================== - -**pt-pg-summary** collects information about a PostgreSQL cluster. - -Usage ------ - -``pt-pg-summary [options] [host:[port]]`` - -Binaries --------- -Please check the `releases `_ tab to download the binaries. - -Parameters -^^^^^^^^^^ - -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| Short | Long | Default | Description | -+========+=================================+=========+============================================================================+ -| | ``--help`` | | Show context-sensitive help (also try ``--help-long`` and ``--help-man``). | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| | ``--version`` | | Show application version. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| | ``--databases=DATABASES`` | | Summarize this comma-separated list of databases. All if not specified. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| ``-h`` | ``--host=HOST`` | | Host to connect to or local Unix socket for connection | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| ``-W`` | ``--password=PASSWORD`` | | Password to use when connecting. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| ``-p`` | ``--port=PORT`` | | Port number to use for connection. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| | ``--sleep=SLEEP`` | 10 | Seconds to sleep when gathering status counters. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| ``-U`` | ``--username=USERNAME`` | | User for login if not current user. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| | ``--disable-ssl`` | true | Disable SSL for the connection. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| | ``--verbose`` | false | Show verbose log. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| | ``--debug`` | false | Show debug information in the logs. | -+--------+---------------------------------+---------+----------------------------------------------------------------------------+ - - -.. Currently hidden -.. --list-encrypted-tables Include a list of the encrypted tables in all databases -.. --ask-pass Prompt for a password when connecting to PostgreSQL -.. --config Config file -.. --defaults-file Only read PostgreSQL options from the given file -.. --read-samples Create a report from the files found in this directory -.. --save-samples Save the data files used to generate the summary in this directory - - -Output -^^^^^^ - -The output is grouped into these categories: - -AllDatabases - Selects ``datname`` from ``pg_database`` where ``datistemplate`` is false. - -ClusterInfo - Selects cluster information from ``pg_stat_activity``. - -ConnectedClients - Counts the connected clients by selecting from ``pg_stat_activity``. - -Connections - Selects ``state`` from ``pg_stat_activity`` and counts them. - -Counters - Selects various counter values from ``pg_stat_database``. - -DatabaseWaitEvents - Shows database wait events from ``pg_locks``, ``pg_stat_database``, ``pg_class``, and ``pg_stat_activity``. - -Databases - Shows the name and size of databases from ``pg_stat_database``. - -GlobalWaitEvents - Shows global wait evens from ``pg_stat_activity``. - -IndexCacheHitRatio - Shows index hit ratios from ``pg_statio_user_indexes``. - -PortAndDatadir - Shows port and data directory name from ``pg_settings``. - -ServerVersion - Shows the value of ``server_version_num``. - -Setting - Selects ``name`` and ``setting`` from ``pg_settings``. - -SlaveHosts10 - Selects information for PostgreSQL version 10. - -SlaveHosts96 - Selects information for PostgreSQL version 9.6. - -TableAccess - Shows table access information by selecting from ``pg_locks``, ``pg_stat_database`` and ``pg_class``. - -TableCacheHitRatio - Shows table cache hit ratio information from ``pg_statio_user_tables``. - -Tablespaces - Show owner and location from ``pg_catalog.pg_tablespace``. - - -Output example -"""""""""""""" - -.. code-block:: html - - ##### --- Database Port and Data_Directory --- #### - +----------------------+----------------------------------------------------+ - | Name | Setting | - +----------------------+----------------------------------------------------+ - | data_directory | /var/lib/postgresql/data | - +----------------------+----------------------------------------------------+ - - ##### --- List of Tablespaces ---- ###### - +----------------------+----------------------+----------------------------------------------------+ - | Name | Owner | Location | - +----------------------+----------------------+----------------------------------------------------+ - | pg_default | postgres | | - | pg_global | postgres | | - +----------------------+----------------------+----------------------------------------------------+ - - - ##### --- Cluster Information --- #### - +------------------------------------------------------------------------------------------------------+ - Usename : postgres - Time : 2020-04-21 13:38:22.770077 +0000 UTC - Client Address : 172.19.0.1 - Client Hostname: - Version : PostgreSQL 9.6.17 on x86_64-pc-linux-gnu (Debian 9.6.17-2.pgdg90+1), compiled by - Started : 2020-04-21 13:36:59.909175 +0000 UTC - Is Slave : false - +------------------------------------------------------------------------------------------------------+ - - ##### --- Databases --- #### - +----------------------+------------+ - | Dat Name | Size | - +----------------------+------------+ - | postgres | 7071 kB | - | template1 | 6961 kB | - | template0 | 6961 kB | - +----------------------+------------+ - - ##### --- Index Cache Hit Ratios --- #### - - Database: postgres - +----------------------+------------+ - | Index Name | Ratio | - +----------------------+------------+ - | index hit rate | 0.00 | - +----------------------+------------+ - - ##### --- Table Cache Hit Ratios --- #### - Database: postgres - +----------------------+------------+ - | Index Name | Ratio | - +----------------------+------------+ - | cache hit rate | 0.00 | - +----------------------+------------+ - - ##### --- List of Wait_events for the entire Cluster - all-databases --- #### - No stats available - - ##### --- List of users and client_addr or client_hostname connected to --all-databases --- #### - +----------------------+------------+---------+----------------------+---------+ - | Wait Event Type | Client | State | Count | - +----------------------+------------+---------+----------------------+---------+ - | postgres | 172.19.0.1/32 | active | 1 | - +----------------------+------------+---------+----------------------+---------+ - - ##### --- Counters diff after 10 seconds --- #### - - +----------------------+-------------+------------+--------------+-------------+------------+-------------+------------+-------------+------------+------------+-----------+-----------+-----------+------------+ - | Database | Numbackends | XactCommit | XactRollback | BlksRead | BlksHit | TupReturned | TupFetched | TupInserted | TupUpdated | TupDeleted | Conflicts | TempFiles | TempBytes | Deadlocks | - +----------------------+-------------+------------+--------------+-------------+------------+-------------+------------+-------------+------------+------------+-----------+-----------+-----------+------------+ - | postgres | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | template0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | template1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - +----------------------+-------------+------------+--------------+-------------+------------+-------------+------------+-------------+------------+------------+-----------+-----------+-----------+------------+ - - ##### --- Table access per database --- #### - Database: postgres - +----------------------------------------------------+------+--------------------------------+---------+ - | Relname | Kind | Datname | Count | - +----------------------------------------------------+------+--------------------------------+---------+ - | pg_class | r | postgres | 1 | - | pg_stat_database | v | postgres | 1 | - | pg_locks | v | postgres | 1 | - | pg_class_tblspc_relfilenode_index | i | postgres | 1 | - | pg_class_relname_nsp_index | i | postgres | 1 | - | pg_class_oid_index | i | postgres | 1 | - +----------------------------------------------------+------+--------------------------------+---------+ - - ##### --- Instance settings --- #### - Setting Value - allow_system_table_mods : off - application_name : - archive_command : (disabled) - archive_mode : off - archive_timeout : 0 - array_nulls : on - authentication_timeout : 60 - autovacuum : on - autovacuum_analyze_scale_factor : 0.1 - autovacuum_analyze_threshold : 50 - autovacuum_freeze_max_age : 200000000 - autovacuum_max_workers : 3 - autovacuum_multixact_freeze_max_age : 400000000 - autovacuum_naptime : 60 - autovacuum_vacuum_cost_delay : 20 - autovacuum_vacuum_cost_limit : -1 - autovacuum_vacuum_scale_factor : 0.2 - autovacuum_vacuum_threshold : 50 - autovacuum_work_mem : -1 - backend_flush_after : 0 - backslash_quote : safe_encoding - bgwriter_delay : 200 - bgwriter_flush_after : 64 - bgwriter_lru_maxpages : 100 - bgwriter_lru_multiplier : 2 - block_size : 8192 - bonjour : off - bonjour_name : - bytea_output : hex - check_function_bodies : on - checkpoint_completion_target : 0.5 - checkpoint_flush_after : 32 - checkpoint_timeout : 300 - checkpoint_warning : 30 - client_encoding : UTF8 - client_min_messages : notice - cluster_name : - commit_delay : 0 - commit_siblings : 5 - config_file : /var/lib/postgresql/data/postgresql.conf - constraint_exclusion : partition - cpu_index_tuple_cost : 0.005 - cpu_operator_cost : 0.0025 - cpu_tuple_cost : 0.01 - cursor_tuple_fraction : 0.1 - data_checksums : off - data_directory : /var/lib/postgresql/data - data_sync_retry : off - DateStyle : ISO, MDY - db_user_namespace : off - deadlock_timeout : 1000 - debug_assertions : off - debug_pretty_print : on - debug_print_parse : off - debug_print_plan : off - debug_print_rewritten : off - default_statistics_target : 100 - default_tablespace : - default_text_search_config : pg_catalog.english - default_transaction_deferrable : off - default_transaction_isolation : read committed - default_transaction_read_only : off - default_with_oids : off - dynamic_library_path : $libdir - dynamic_shared_memory_type : posix - effective_cache_size : 524288 - effective_io_concurrency : 1 - enable_bitmapscan : on - enable_hashagg : on - enable_hashjoin : on - enable_indexonlyscan : on - enable_indexscan : on - enable_material : on - enable_mergejoin : on - enable_nestloop : on - enable_seqscan : on - enable_sort : on - enable_tidscan : on - escape_string_warning : on - event_source : PostgreSQL - exit_on_error : off - external_pid_file : - extra_float_digits : 2 - force_parallel_mode : off - from_collapse_limit : 8 - fsync : on - full_page_writes : on - geqo : on - geqo_effort : 5 - geqo_generations : 0 - geqo_pool_size : 0 - geqo_seed : 0 - geqo_selection_bias : 2 - geqo_threshold : 12 - gin_fuzzy_search_limit : 0 - gin_pending_list_limit : 4096 - hba_file : /var/lib/postgresql/data/pg_hba.conf - hot_standby : off - hot_standby_feedback : off - huge_pages : try - ident_file : /var/lib/postgresql/data/pg_ident.conf - idle_in_transaction_session_timeout : 0 - ignore_checksum_failure : off - ignore_system_indexes : off - integer_datetimes : on - IntervalStyle : postgres - join_collapse_limit : 8 - krb_caseins_users : off - krb_server_keyfile : FILE:/etc/postgresql-common/krb5.keytab - lc_collate : en_US.utf8 - lc_ctype : en_US.utf8 - lc_messages : en_US.utf8 - lc_monetary : en_US.utf8 - lc_numeric : en_US.utf8 - lc_time : en_US.utf8 - listen_addresses : * - lo_compat_privileges : off - local_preload_libraries : - lock_timeout : 0 - log_autovacuum_min_duration : -1 - log_checkpoints : off - log_connections : off - log_destination : stderr - log_directory : pg_log - log_disconnections : off - log_duration : off - log_error_verbosity : default - log_executor_stats : off - log_file_mode : 0600 - log_filename : postgresql-%Y-%m-%d_%H%M%S.log - log_hostname : off - log_line_prefix : - log_lock_waits : off - log_min_duration_statement : -1 - log_min_error_statement : error - log_min_messages : warning - log_parser_stats : off - log_planner_stats : off - log_replication_commands : off - log_rotation_age : 1440 - log_rotation_size : 10240 - log_statement : none - log_statement_stats : off - log_temp_files : -1 - log_timezone : Etc/UTC - log_truncate_on_rotation : off - logging_collector : off - maintenance_work_mem : 65536 - max_connections : 100 - max_files_per_process : 1000 - max_function_args : 100 - max_identifier_length : 63 - max_index_keys : 32 - max_locks_per_transaction : 64 - max_parallel_workers_per_gather : 0 - max_pred_locks_per_transaction : 64 - max_prepared_transactions : 0 - max_replication_slots : 0 - max_stack_depth : 2048 - max_standby_archive_delay : 30000 - max_standby_streaming_delay : 30000 - max_wal_senders : 0 - max_wal_size : 64 - max_worker_processes : 8 - min_parallel_relation_size : 1024 - min_wal_size : 5 - old_snapshot_threshold : -1 - operator_precedence_warning : off - parallel_setup_cost : 1000 - parallel_tuple_cost : 0.1 - password_encryption : on - port : 5432 - post_auth_delay : 0 - pre_auth_delay : 0 - quote_all_identifiers : off - random_page_cost : 4 - replacement_sort_tuples : 150000 - restart_after_crash : on - row_security : on - search_path : "$user", public - segment_size : 131072 - seq_page_cost : 1 - server_encoding : UTF8 - server_version : 9.6.17 - server_version_num : 90617 - session_preload_libraries : - session_replication_role : origin - shared_buffers : 16384 - shared_preload_libraries : - sql_inheritance : on - ssl : off - ssl_ca_file : - ssl_cert_file : server.crt - ssl_ciphers : HIGH:MEDIUM:+3DES:!aNULL - ssl_crl_file : - ssl_ecdh_curve : prime256v1 - ssl_key_file : server.key - ssl_prefer_server_ciphers : on - standard_conforming_strings : on - statement_timeout : 0 - stats_temp_directory : pg_stat_tmp - superuser_reserved_connections : 3 - synchronize_seqscans : on - synchronous_commit : on - synchronous_standby_names : - syslog_facility : local0 - syslog_ident : postgres - syslog_sequence_numbers : on - syslog_split_messages : on - tcp_keepalives_count : 9 - tcp_keepalives_idle : 7200 - tcp_keepalives_interval : 75 - temp_buffers : 1024 - temp_file_limit : -1 - temp_tablespaces : - TimeZone : Etc/UTC - timezone_abbreviations : Default - trace_notify : off - trace_recovery_messages : log - trace_sort : off - track_activities : on - track_activity_query_size : 1024 - track_commit_timestamp : off - track_counts : on - track_functions : none - track_io_timing : off - transaction_deferrable : off - transaction_isolation : read committed - transaction_read_only : off - transform_null_equals : off - unix_socket_directories : /var/run/postgresql - unix_socket_group : - unix_socket_permissions : 0777 - update_process_title : on - vacuum_cost_delay : 0 - vacuum_cost_limit : 200 - vacuum_cost_page_dirty : 20 - vacuum_cost_page_hit : 1 - vacuum_cost_page_miss : 10 - vacuum_defer_cleanup_age : 0 - vacuum_freeze_min_age : 50000000 - vacuum_freeze_table_age : 150000000 - vacuum_multixact_freeze_min_age : 5000000 - vacuum_multixact_freeze_table_age : 150000000 - wal_block_size : 8192 - wal_buffers : 512 - wal_compression : off - wal_keep_segments : 0 - wal_level : minimal - wal_log_hints : off - wal_receiver_status_interval : 10 - wal_receiver_timeout : 60000 - wal_retrieve_retry_interval : 5000 - wal_segment_size : 2048 - wal_sender_timeout : 60000 - wal_sync_method : fdatasync - wal_writer_delay : 200 - wal_writer_flush_after : 128 - work_mem : 4096 - xmlbinary : base64 - xmloption : content - zero_damaged_pages : off - - ##### --- Processes start up command --- #### - No postgres process found - -Minimum auth role -^^^^^^^^^^^^^^^^^ - -This program needs to run some commands like ``getShardMap`` and to be able to run those commands -it needs to run under a user with the ``clusterAdmin`` or ``root`` built-in roles. diff --git a/docs/pt-pg-summary.rst b/docs/pt-pg-summary.rst new file mode 120000 index 000000000..7661eb1b3 --- /dev/null +++ b/docs/pt-pg-summary.rst @@ -0,0 +1 @@ +../src/go/pt-pg-summary/README.rst \ No newline at end of file diff --git a/docs/release_notes.rst b/docs/release_notes.rst index d8eb3669c..c29b0bb8d 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -1,4 +1,4 @@ -Percona Toolkit +Release Notes *************** v3.6.0 released 2024-06-12 diff --git a/docs/version-check.rst b/docs/version-check.rst index 0ba8e5dc5..279d43a56 100644 --- a/docs/version-check.rst +++ b/docs/version-check.rst @@ -80,7 +80,7 @@ in case of |pt| `this can be done `_ in a similar way:: +In case of |pxb| this can be done `in its configuration file `_ in a similar way:: [xtrabackup] no-version-check diff --git a/lib/DuplicateKeyFinder.pm b/lib/DuplicateKeyFinder.pm index 34fa71e7b..0f977c4d8 100644 --- a/lib/DuplicateKeyFinder.pm +++ b/lib/DuplicateKeyFinder.pm @@ -154,7 +154,10 @@ sub get_duplicate_keys { if ( $clustered_key && $args{clustered} && $args{tbl_info}->{engine} - && $args{tbl_info}->{engine} =~ m/InnoDB/i ) + && ( $args{tbl_info}->{engine} =~ m/InnoDB/i + || $args{tbl_info}->{engine} =~ m/TokuDB/i + || $args{tbl_info}->{engine} =~ m/RocksDB/i ) + ) { PTDEBUG && _d('Removing UNIQUE dupes of clustered key'); push @dupes, diff --git a/lib/TableParser.pm b/lib/TableParser.pm index 1644a6d19..c6c05ec41 100644 --- a/lib/TableParser.pm +++ b/lib/TableParser.pm @@ -457,7 +457,7 @@ sub get_keys { }; # Find clustered key (issue 295). - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/src/go/pt-galera-log-explainer/README.rst b/src/go/pt-galera-log-explainer/README.rst index 3b3cda00f..6b4f2a365 100644 --- a/src/go/pt-galera-log-explainer/README.rst +++ b/src/go/pt-galera-log-explainer/README.rst @@ -244,3 +244,8 @@ Known issues * Some information will seems missed. Depending on the case, it may be simply unimplemented yet, or it was disabled later because it was found to be unreliable (node index numbers are not reliable for example) * Columns width are sometimes too large to be easily readable. This usually happens when printing SST events with long node names * When some display corner-cases seems broken (events not deduplicated, ...), it is because of extra hidden internal events. + +Authors +======= + +Yoann La Cancellera diff --git a/src/go/pt-k8s-debug-collector/README.rst b/src/go/pt-k8s-debug-collector/README.rst index 6b72ad16f..e2e6012e1 100644 --- a/src/go/pt-k8s-debug-collector/README.rst +++ b/src/go/pt-k8s-debug-collector/README.rst @@ -189,3 +189,8 @@ On Kubernetes 1.21 - 1.24 warning is printed: resourceVersion: "" This warning is harmless and does not affect data collection. We will remove podsecuritypolicies once everyone upgrade to Kubernetes 1.25 or newer. Before that we advise to ignore this warning. + +Authors +======= + +Max Dudin, Andrii Dema, Carlos Salguero, Sveta Smirnova diff --git a/src/go/pt-mongodb-index-check/README.rst b/src/go/pt-mongodb-index-check/README.rst index 3e31f0802..6969f8274 100644 --- a/src/go/pt-mongodb-index-check/README.rst +++ b/src/go/pt-mongodb-index-check/README.rst @@ -70,3 +70,7 @@ Available flags | –version | Show version information | +----------------------------+----------------------------------------+ +Authors +======= + +Carlos Salguero diff --git a/src/go/pt-mongodb-summary/README.rst b/src/go/pt-mongodb-summary/README.rst index a6b3bb769..05b53c8ca 100644 --- a/src/go/pt-mongodb-summary/README.rst +++ b/src/go/pt-mongodb-summary/README.rst @@ -96,3 +96,7 @@ Minimum auth role This program needs to run some commands like ``getShardMap`` and to be able to run those commands it needs to run under a user with the ``clusterAdmin`` or ``root`` built-in roles. +Authors +======= + +Carlos Salguero diff --git a/src/go/pt-pg-summary/README.rst b/src/go/pt-pg-summary/README.rst index 754b03e73..6f070e33f 100644 --- a/src/go/pt-pg-summary/README.rst +++ b/src/go/pt-pg-summary/README.rst @@ -1,5 +1,7 @@ -pt-pg-summary -============= +======================== +:program:`pt-pg-summary` +======================== + **pt-pg-summary** collects information about a PostgreSQL cluster. Usage @@ -23,7 +25,7 @@ Parameters +--------+---------------------------------+---------+----------------------------------------------------------------------------+ | | ``--databases=DATABASES`` | | Summarize this comma-separated list of databases. All if not specified. | +--------+---------------------------------+---------+----------------------------------------------------------------------------+ -| ``-h`` | ``--host=HOST`` | | Host to connect to. | +| ``-h`` | ``--host=HOST`` | | Host to connect to or local Unix socket for connection | +--------+---------------------------------+---------+----------------------------------------------------------------------------+ | ``-W`` | ``--password=PASSWORD`` | | Password to use when connecting. | +--------+---------------------------------+---------+----------------------------------------------------------------------------+ @@ -471,3 +473,8 @@ Minimum auth role This program needs to run some commands like ``getShardMap`` and to be able to run those commands it needs to run under a user with the ``clusterAdmin`` or ``root`` built-in roles. + +Authors +======= + +Carlos Salguero From d03bd604a1d59a49e5a65c051efb8e66c543e98a Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Wed, 4 Sep 2024 14:32:15 +0300 Subject: [PATCH 19/31] PT-2340 - Support MySQL 8.4 - Fixed typos - Added tests for MyRocks and TokuDB clustered indexes into t/pt-duplicate-key-checker/clustered_keys.t - Updated modules --- bin/pt-archiver | 2 +- bin/pt-find | 2 +- bin/pt-heartbeat | 2 +- bin/pt-index-usage | 2 +- bin/pt-kill | 2 +- bin/pt-online-schema-change | 2 +- bin/pt-query-digest | 2 +- bin/pt-table-checksum | 2 +- bin/pt-table-sync | 2 +- lib/MasterSlave.pm | 2 +- lib/VariableAdvisorRules.pm | 9 +++- sandbox/start-sandbox | 9 +++- t/pt-duplicate-key-checker/clustered_keys.t | 48 ++++++++++++++++++++- t/pt-slave-delay/standard_options.t | 2 +- 14 files changed, 72 insertions(+), 16 deletions(-) diff --git a/bin/pt-archiver b/bin/pt-archiver index 65b814914..26d4c40d4 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -2197,7 +2197,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-find b/bin/pt-find index c3bdb7ec0..d2d71d762 100755 --- a/bin/pt-find +++ b/bin/pt-find @@ -2141,7 +2141,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index aa05c3f11..5ed48dcc9 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -4045,7 +4045,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-index-usage b/bin/pt-index-usage index 83ff8596d..e852e3d61 100755 --- a/bin/pt-index-usage +++ b/bin/pt-index-usage @@ -3393,7 +3393,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-kill b/bin/pt-kill index a50a22021..7a6f3d918 100755 --- a/bin/pt-kill +++ b/bin/pt-kill @@ -3267,7 +3267,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index 9c9d0c784..0d985f5da 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -3583,7 +3583,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-query-digest b/bin/pt-query-digest index c50db0dd3..7dd3e57a8 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -9144,7 +9144,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index 1b20250e7..62fa8ee39 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -4777,7 +4777,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-table-sync b/bin/pt-table-sync index 711e4973a..4a85f9061 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -3121,7 +3121,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/lib/MasterSlave.pm b/lib/MasterSlave.pm index 308a7686a..ece8beac5 100644 --- a/lib/MasterSlave.pm +++ b/lib/MasterSlave.pm @@ -562,7 +562,7 @@ sub get_replica_status { } } -# Gets SHOW SOURCE STATUS, with column names all lowercased, as a hashref. +# Gets SHOW BINARY LOGS, with column names all lowercased, as a hashref. sub get_source_status { my ( $self, $dbh ) = @_; diff --git a/lib/VariableAdvisorRules.pm b/lib/VariableAdvisorRules.pm index 5ac4c88d8..72a5732a5 100644 --- a/lib/VariableAdvisorRules.pm +++ b/lib/VariableAdvisorRules.pm @@ -567,7 +567,12 @@ sub get_rules { return 1 if ($mysql_version == '3' && $mysql_version < '3.23' ) || ($mysql_version == '4' && $mysql_version < '4.1.20') || ($mysql_version == '5.0' && $mysql_version < '5.0.37') - || ($mysql_version == '5.1' && $mysql_version < '5.1.30'); + || ($mysql_version == '5.1' && $mysql_version < '5.1.30') + || ($mysql_version == '5.5' && $mysql_version < '5.5.8') + || ($mysql_version == '5.6' && $mysql_version < '5.6.10') + || ($mysql_version == '5.7' && $mysql_version < '5.7.9') + || ($mysql_version == '8.0' && $mysql_version < '8.0.11') + ; return 0; }, }, @@ -577,7 +582,7 @@ sub get_rules { my ( %args ) = @_; my $mysql_version = $args{mysql_version}; return 0 unless $mysql_version; - return $mysql_version < '5.1' ? 1 : 0; # 5.1.x + return $mysql_version < '8.0' ? 1 : 0; # 8.x }, }, }; diff --git a/sandbox/start-sandbox b/sandbox/start-sandbox index f93cd7a28..4c01bfbb5 100755 --- a/sandbox/start-sandbox +++ b/sandbox/start-sandbox @@ -233,10 +233,15 @@ make_sandbox() { if [ -x "$PERCONA_TOOLKIT_SANDBOX/bin/ps-admin" ]; then # try to enable RocksDB. Only available on Percona Server 5.7.19+ if [ "$version" > "5.6" -a -n "$ENABLE_ROCKSDB" ]; then + sudo rm -f /tmp/ps-admin.err $PERCONA_TOOLKIT_SANDBOX/bin/ps-admin --enable-rocksdb -u root -pmsandbox -h 127.1 -P $port fi - if [ "$version" > "5.6" -a -n "$ENABLE_TOKUDB" ]; then - sudo $PERCONA_TOOLKIT_SANDBOX/bin/ps-admin --enable-tokudb -u root -pmsandbox -h 127.1 -P $port + if [ -n "$ENABLE_TOKUDB" ]; then + $PERCONA_TOOLKIT_BRANCH/util/version_cmp $minor_version "8.0.28-19" + if [[ "$?" < "2" ]] && [[ "$version" > "5.6" ]]; then + sudo rm -f /tmp/ps-admin.err + sudo $PERCONA_TOOLKIT_SANDBOX/bin/ps-admin --enable-tokudb -u root -pmsandbox -h 127.1 -P $port + fi fi fi diff --git a/t/pt-duplicate-key-checker/clustered_keys.t b/t/pt-duplicate-key-checker/clustered_keys.t index cec74240c..f175fec4d 100644 --- a/t/pt-duplicate-key-checker/clustered_keys.t +++ b/t/pt-duplicate-key-checker/clustered_keys.t @@ -53,9 +53,55 @@ ok( : "$sample/issue_295.txt"), transform_sample => $transform_int ), - "Shorten, not remove, clustered dupes" + "Shorten, not remove, clustered dupes - InnoDB" ) or diag($test_diff); +SKIP: { + skip "This test requires TokuDB", 1 if ( !$sb->has_engine('source', 'TokuDB') ) ; + + $dbh->do('SET binlog_format="ROW"'); + $dbh->do('ALTER TABLE issue_295.t ENGINE=TokuDB'); + + ok( + no_diff( + sub { pt_duplicate_key_checker::main(@args, qw(-d issue_295)) }, + "$sample/issue_295-51.txt", + transform_sample => $transform_int + ), + "Shorten, not remove, clustered dupes - TokuDB" + ) or diag($test_diff); +} + +SKIP: { + skip "This test requires MyRocks", 1 if ( !$sb->has_engine('source', 'ROCKSDB') ) ; + + $dbh->do('SET binlog_format="ROW"'); + $dbh->do('ALTER TABLE issue_295.t ENGINE=ROCKSDB'); + + # MyRocks returns 0 rows istead of 1 in 5.7 + # As a result, wrong size duplicate indexes reported + # We are not going to fix this, because 5.7 is EOL + my $transform_len = undef; + if ( $sandbox_version ge '5.7' && $sandbox_version lt '8.0' ) { + $transform_len = sub { + my $txt = slurp_file(shift); + $txt =~ s/Size Duplicate Indexes 0/Size Duplicate Indexes 8/g; + print $txt; + }; + } + + ok( + no_diff( + sub { pt_duplicate_key_checker::main(@args, qw(-d issue_295)) }, + "$sample/issue_295-51.txt", + transform_sample => $transform_int, + transform_result => $transform_len, + ), + "Shorten, not remove, clustered dupes - MyRocks" + ) or diag($test_diff); + +} + # ############################################################################# # Error if InnoDB table has no PK or unique indexes # https://bugs.launchpad.net/percona-toolkit/+bug/1036804 diff --git a/t/pt-slave-delay/standard_options.t b/t/pt-slave-delay/standard_options.t index ff47c6440..b99291dad 100644 --- a/t/pt-slave-delay/standard_options.t +++ b/t/pt-slave-delay/standard_options.t @@ -37,7 +37,7 @@ my $pid_file = "/tmp/pt-slave-delay-test.$PID"; # Check daemonization. This test used to print to STDOUT, causing # false-positive test errors. The output isn't needed. The tool -# said "Reconnected to slave" every time it did SHOW SLAVE STATUS, +# said "Reconnected to slave" every time it did SHOW REPLICA STATUS, # so needlessly. That was removed. Now it will print stuff when # we kill the process, which we don't want either. system("$cmd --delay 1m --interval 1s --run-time 5s --daemonize --pid $pid_file >/dev/null 2>&1"); From c3f327d53b5121e6c12712f33e5014129d4f8b3d Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Thu, 5 Sep 2024 16:45:45 +0300 Subject: [PATCH 20/31] PT-2340 - Support MySQL 8.4 - Updated tests for pt-variable-advisor and lib/VariableAdvisorRules --- t/lib/VariableAdvisorRules.t | 6 +++--- t/pt-variable-advisor/samples/vars001-ignore-rules.txt | 2 ++ .../samples/vars001-verbose-verbose.txt | 4 +++- t/pt-variable-advisor/samples/vars001-verbose.txt | 4 +++- t/pt-variable-advisor/samples/vars001.txt | 2 ++ t/pt-variable-advisor/samples/vars002.txt | 2 ++ t/pt-variable-advisor/show_variables_static.t | 10 +++++----- 7 files changed, 20 insertions(+), 10 deletions(-) diff --git a/t/lib/VariableAdvisorRules.t b/t/lib/VariableAdvisorRules.t index fdb18564f..90e57d1ef 100644 --- a/t/lib/VariableAdvisorRules.t +++ b/t/lib/VariableAdvisorRules.t @@ -160,7 +160,7 @@ my @cases = ( { name => "innodb_max_dirty_pages_pct", vars => [qw(innodb_max_dirty_pages_pct 89)], mysql_version => VersionParser->new('5.1.59'), - advice => [qw(innodb_max_dirty_pages_pct)], + advice => ['innodb_max_dirty_pages_pct', 'end-of-life mysql version'], }, { name => "key_buffer_size", vars => [qw(key_buffer_size 8388608)], @@ -378,11 +378,11 @@ my @cases = ( }, { name => "old mysql version 5.1.29", mysql_version => VersionParser->new('5.1.29'), - advice => ['old mysql version'], + advice => ['old mysql version', 'end-of-life mysql version'], }, { name => "old mysql version 5.5.0", mysql_version => VersionParser->new('5.5.0'), - advice => [], + advice => ['old mysql version', 'end-of-life mysql version'], }, ); diff --git a/t/pt-variable-advisor/samples/vars001-ignore-rules.txt b/t/pt-variable-advisor/samples/vars001-ignore-rules.txt index ac5c2aacd..11fde699d 100644 --- a/t/pt-variable-advisor/samples/vars001-ignore-rules.txt +++ b/t/pt-variable-advisor/samples/vars001-ignore-rules.txt @@ -16,3 +16,5 @@ # NOTE innodb_flush_method: Most production database servers that use InnoDB should set innodb_flush_method to O_DIRECT to avoid double-buffering, unless the I/O system is very low performance. +# NOTE end-of-life mysql version: Every release older than 8.0 is now officially end-of-life. + diff --git a/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt b/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt index 075bbe611..ab31bc718 100644 --- a/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt +++ b/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt @@ -8,7 +8,7 @@ # NOTE port: The server is listening on a non-default port. -# WARN slave_net_timeout: This variable is set too high. This is too long to wait before noticing that the connection to the master has failed and retrying. This should probably be set to 60 seconds or less. It is also a good idea to use pt-heartbeat to ensure that the connection does not appear to time out when the master is simply idle. +# WARN slave_net_timeout: This variable is set too high. This is too long to wait before noticing that the connection to the replication source has failed and retrying. This should probably be set to 60 seconds or less. It is also a good idea to use pt-heartbeat to ensure that the connection does not appear to time out when the source is simply idle. # WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. If you do not purge binary logs, your disk will fill up. If you delete binary logs externally to MySQL, you will cause unwanted behaviors. Always ask MySQL to purge obsolete logs, never delete them externally. @@ -20,3 +20,5 @@ # WARN sync_binlog: Binary logging is enabled, but sync_binlog isn't configured so that every transaction is flushed to the binary log for durability. +# NOTE end-of-life mysql version: Every release older than 8.0 is now officially end-of-life. + diff --git a/t/pt-variable-advisor/samples/vars001-verbose.txt b/t/pt-variable-advisor/samples/vars001-verbose.txt index 2447917d7..f53769c25 100644 --- a/t/pt-variable-advisor/samples/vars001-verbose.txt +++ b/t/pt-variable-advisor/samples/vars001-verbose.txt @@ -8,7 +8,7 @@ # NOTE port: The server is listening on a non-default port. -# WARN slave_net_timeout: This variable is set too high. This is too long to wait before noticing that the connection to the master has failed and retrying. +# WARN slave_net_timeout: This variable is set too high. This is too long to wait before noticing that the connection to the replication source has failed and retrying. # WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. If you do not purge binary logs, your disk will fill up. @@ -20,3 +20,5 @@ # WARN sync_binlog: Binary logging is enabled, but sync_binlog isn't configured so that every transaction is flushed to the binary log for durability. +# NOTE end-of-life mysql version: Every release older than 8.0 is now officially end-of-life. + diff --git a/t/pt-variable-advisor/samples/vars001.txt b/t/pt-variable-advisor/samples/vars001.txt index 273a8960c..3900726ff 100644 --- a/t/pt-variable-advisor/samples/vars001.txt +++ b/t/pt-variable-advisor/samples/vars001.txt @@ -20,3 +20,5 @@ # WARN sync_binlog: Binary logging is enabled, but sync_binlog isn't configured so that every transaction is flushed to the binary log for durability. +# NOTE end-of-life mysql version: Every release older than 8.0 is now officially end-of-life. + diff --git a/t/pt-variable-advisor/samples/vars002.txt b/t/pt-variable-advisor/samples/vars002.txt index d500767e9..8613db298 100644 --- a/t/pt-variable-advisor/samples/vars002.txt +++ b/t/pt-variable-advisor/samples/vars002.txt @@ -18,3 +18,5 @@ # WARN sync_binlog: Binary logging is enabled, but sync_binlog isn't configured so that every transaction is flushed to the binary log for durability. +# NOTE end-of-life mysql version: Every release older than 8.0 is now officially end-of-life. + diff --git a/t/pt-variable-advisor/show_variables_static.t b/t/pt-variable-advisor/show_variables_static.t index e31669dcb..f1026c374 100644 --- a/t/pt-variable-advisor/show_variables_static.t +++ b/t/pt-variable-advisor/show_variables_static.t @@ -27,7 +27,7 @@ ok( "t/pt-variable-advisor/samples/vars001.txt", ), "vars001.txt" -); +) or diag($test_diff); ok( no_diff( @@ -36,7 +36,7 @@ ok( "t/pt-variable-advisor/samples/vars002.txt", ), "vars002.txt" -); +) or diag($test_diff); ok( no_diff( @@ -45,7 +45,7 @@ ok( "t/pt-variable-advisor/samples/vars001-verbose.txt", ), "vars001.txt --verbose" -); +) or diag($test_diff); ok( no_diff( @@ -54,7 +54,7 @@ ok( "t/pt-variable-advisor/samples/vars001-verbose-verbose.txt", ), "vars001.txt --verbose --verbose" -); +) or diag($test_diff); ok( no_diff( @@ -64,7 +64,7 @@ ok( "t/pt-variable-advisor/samples/vars001-ignore-rules.txt", ), "--ignore-rules" -); +) or diag($test_diff); my ($output) = full_output(sub { pt_variable_advisor::main(@args, From ea6bd7750195cc5eb07879ae14a242b12d0d6a5f Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 6 Sep 2024 13:08:45 +0300 Subject: [PATCH 21/31] PT-2340 - Support MySQL 8.4 - Moved data collection for THP from lib/bash/report_system_info.sh to lib/bash/collect_system_info.sh, so pt-summary reports THP status on the machine where samples were collected, not on the machine where an engineer examines samples. --- bin/pt-summary | 20 +- lib/bash/collect_system_info.sh | 3 + lib/bash/report_system_info.sh | 18 +- t/lib/bash/report_system_info.sh | 4 - t/pt-summary/pt-summary.t | 6 +- t/pt-summary/samples/Linux/008/dmesg_file | 1109 +++++++++ t/pt-summary/samples/Linux/008/dmidecode | 2 + t/pt-summary/samples/Linux/008/ip | 60 + t/pt-summary/samples/Linux/008/lspci_file | 22 + t/pt-summary/samples/Linux/008/lvs.stderr | 2 + t/pt-summary/samples/Linux/008/memory | 58 + t/pt-summary/samples/Linux/008/mounted_fs | 25 + t/pt-summary/samples/Linux/008/netstat | 213 ++ t/pt-summary/samples/Linux/008/notable_procs | 5 + t/pt-summary/samples/Linux/008/partitioning | 12 + .../samples/Linux/008/proc_cpuinfo_copy | 448 ++++ t/pt-summary/samples/Linux/008/processes | 10 + t/pt-summary/samples/Linux/008/summary | 23 + t/pt-summary/samples/Linux/008/sysctl | 2010 +++++++++++++++++ .../samples/Linux/008/transparent_hugepage | 1 + t/pt-summary/samples/Linux/008/uptime | 1 + t/pt-summary/samples/Linux/008/vmstat | 7 + t/pt-summary/samples/Linux/009/dmesg_file | 1109 +++++++++ t/pt-summary/samples/Linux/009/dmidecode | 2 + t/pt-summary/samples/Linux/009/ip | 60 + t/pt-summary/samples/Linux/009/lspci_file | 22 + t/pt-summary/samples/Linux/009/lvs.stderr | 2 + t/pt-summary/samples/Linux/009/memory | 58 + t/pt-summary/samples/Linux/009/mounted_fs | 25 + t/pt-summary/samples/Linux/009/netstat | 230 ++ t/pt-summary/samples/Linux/009/notable_procs | 5 + t/pt-summary/samples/Linux/009/partitioning | 12 + .../samples/Linux/009/proc_cpuinfo_copy | 448 ++++ t/pt-summary/samples/Linux/009/processes | 10 + t/pt-summary/samples/Linux/009/summary | 23 + t/pt-summary/samples/Linux/009/sysctl | 2010 +++++++++++++++++ .../samples/Linux/009/transparent_hugepage | 1 + t/pt-summary/samples/Linux/009/uptime | 1 + t/pt-summary/samples/Linux/009/vmstat | 7 + t/pt-summary/samples/Linux/output_002.txt | 1 - t/pt-summary/samples/Linux/output_003.txt | 1 - t/pt-summary/samples/Linux/output_005.txt | 1 - t/pt-summary/samples/Linux/output_006.txt | 1 - t/pt-summary/samples/Linux/output_007.txt | 1 - t/pt-summary/samples/Linux/output_008.txt | 201 ++ t/pt-summary/samples/Linux/output_009.txt | 212 ++ 46 files changed, 8470 insertions(+), 32 deletions(-) create mode 100644 t/pt-summary/samples/Linux/008/dmesg_file create mode 100644 t/pt-summary/samples/Linux/008/dmidecode create mode 100644 t/pt-summary/samples/Linux/008/ip create mode 100644 t/pt-summary/samples/Linux/008/lspci_file create mode 100644 t/pt-summary/samples/Linux/008/lvs.stderr create mode 100644 t/pt-summary/samples/Linux/008/memory create mode 100644 t/pt-summary/samples/Linux/008/mounted_fs create mode 100644 t/pt-summary/samples/Linux/008/netstat create mode 100644 t/pt-summary/samples/Linux/008/notable_procs create mode 100644 t/pt-summary/samples/Linux/008/partitioning create mode 100644 t/pt-summary/samples/Linux/008/proc_cpuinfo_copy create mode 100644 t/pt-summary/samples/Linux/008/processes create mode 100644 t/pt-summary/samples/Linux/008/summary create mode 100644 t/pt-summary/samples/Linux/008/sysctl create mode 100644 t/pt-summary/samples/Linux/008/transparent_hugepage create mode 100644 t/pt-summary/samples/Linux/008/uptime create mode 100644 t/pt-summary/samples/Linux/008/vmstat create mode 100644 t/pt-summary/samples/Linux/009/dmesg_file create mode 100644 t/pt-summary/samples/Linux/009/dmidecode create mode 100644 t/pt-summary/samples/Linux/009/ip create mode 100644 t/pt-summary/samples/Linux/009/lspci_file create mode 100644 t/pt-summary/samples/Linux/009/lvs.stderr create mode 100644 t/pt-summary/samples/Linux/009/memory create mode 100644 t/pt-summary/samples/Linux/009/mounted_fs create mode 100644 t/pt-summary/samples/Linux/009/netstat create mode 100644 t/pt-summary/samples/Linux/009/notable_procs create mode 100644 t/pt-summary/samples/Linux/009/partitioning create mode 100644 t/pt-summary/samples/Linux/009/proc_cpuinfo_copy create mode 100644 t/pt-summary/samples/Linux/009/processes create mode 100644 t/pt-summary/samples/Linux/009/summary create mode 100644 t/pt-summary/samples/Linux/009/sysctl create mode 100644 t/pt-summary/samples/Linux/009/transparent_hugepage create mode 100644 t/pt-summary/samples/Linux/009/uptime create mode 100644 t/pt-summary/samples/Linux/009/vmstat create mode 100644 t/pt-summary/samples/Linux/output_008.txt create mode 100644 t/pt-summary/samples/Linux/output_009.txt diff --git a/bin/pt-summary b/bin/pt-summary index 06cf86285..dd61a9f4d 100755 --- a/bin/pt-summary +++ b/bin/pt-summary @@ -906,6 +906,8 @@ collect_system_data () { local PTFUNCNAME=collect_system_data; fio_status_minus_a "$data_dir/fusion-io_card" + cat /sys/kernel/mm/transparent_hugepage/enabled >"$data_dir/transparent_hugepage" 2>/dev/null + for file in $data_dir/*; do [ "$file" = "vmstat" ] && continue [ ! -s "$file" ] && rm "$file" @@ -2338,23 +2340,21 @@ report_system_summary () { local PTFUNCNAME=report_system_summary; "$platform" section "Memory management" - report_transparent_huge_pages + report_transparent_huge_pages "$data_dir/transparent_hugepage" section "The End" } report_transparent_huge_pages () { + local file="$1" - if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]; then - CONTENT_TRANSHP=$("$data_dir/transparent_hugepage" 2>/dev/null + # Clean the data directory, don't leave empty files for file in $data_dir/*; do # The vmstat file gets special treatmeant, see above. diff --git a/lib/bash/report_system_info.sh b/lib/bash/report_system_info.sh index 38afca120..af75e262f 100644 --- a/lib/bash/report_system_info.sh +++ b/lib/bash/report_system_info.sh @@ -1137,7 +1137,7 @@ report_system_summary () { local PTFUNCNAME=report_system_summary; "$platform" section "Memory management" - report_transparent_huge_pages + report_transparent_huge_pages "$data_dir/transparent_hugepage" # ######################################################################## # All done. Signal the end so it's explicit. @@ -1146,17 +1146,15 @@ report_system_summary () { local PTFUNCNAME=report_system_summary; } report_transparent_huge_pages () { + local file="$1" - if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]; then - CONTENT_TRANSHP=$( "$PT_TMPDIR/got" @@ -1412,7 +1411,6 @@ Architecture | CPU = 32-bit, OS = 32-bit 0 0 0 78564 21364 0 0 0 0 0 0 0 0 101 11 9 0 0 100 0 0 0 78564 21364 0 0 0 0 0 0 0 0 101 11 10 0 0 100 # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### EOF report_system_summary "$samples/BSD/netbsd_001" | tail -n +3 > "$PT_TMPDIR/got" @@ -1466,7 +1464,6 @@ Architecture | CPU = 32-bit, OS = 32-bit 0 0 0 7496 191456 1272 0 0 0 0 0 0 0 256 1973 50 2 12 85 0 0 0 7496 191456 11 0 0 0 0 0 0 0 230 23 12 0 0 100 # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### EOF report_system_summary "$samples/BSD/openbsd_001" | tail -n +3 > "$PT_TMPDIR/got" @@ -1591,7 +1588,6 @@ Unable to collect information 1 0 0 0 0 150 225 225 1 1 95 3 0 0 0 0 0 150 250 250 1 0 99 0 # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### EOF diff --git a/t/pt-summary/pt-summary.t b/t/pt-summary/pt-summary.t index fdb4c5441..8a8fc43b9 100644 --- a/t/pt-summary/pt-summary.t +++ b/t/pt-summary/pt-summary.t @@ -14,15 +14,15 @@ use PerconaTest; my ($tool) = $PROGRAM_NAME =~ m/([\w-]+)\.t$/; -use Test::More tests => 5; +use Test::More tests => 7; -for my $i (2..3,5..7) { +for my $i (2..3,5..9) { ok( no_diff( sub { print `LC_NUMERIC=POSIX $trunk/bin/pt-summary --read-samples "$trunk/t/pt-summary/samples/Linux/00$i/" | tail -n+3` }, "t/pt-summary/samples/Linux/output_00$i.txt"), "--read-samples samples/Linux/00$i works", - ); + ) or diag($test_diff); } exit; diff --git a/t/pt-summary/samples/Linux/008/dmesg_file b/t/pt-summary/samples/Linux/008/dmesg_file new file mode 100644 index 000000000..27e3667a2 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/dmesg_file @@ -0,0 +1,1109 @@ +[ 0.000000] kernel: microcode: updated early: 0x41c -> 0x433, date = 2023-12-05 +[ 0.000000] kernel: Linux version 6.5.0-35-generic (buildd@lcy02-amd64-079) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 (Ubuntu 6.5.0-35.35~22.04.1-generic 6.5.13) +[ 0.000000] kernel: Command line: BOOT_IMAGE=/vmlinuz-6.5.0-35-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7 +[ 0.000000] kernel: KERNEL supported cpus: +[ 0.000000] kernel: Intel GenuineIntel +[ 0.000000] kernel: AMD AuthenticAMD +[ 0.000000] kernel: Hygon HygonGenuine +[ 0.000000] kernel: Centaur CentaurHauls +[ 0.000000] kernel: zhaoxin Shanghai +[ 0.000000] kernel: x86/split lock detection: #AC: crashing the kernel on kernel split_locks and warning on user-space split_locks +[ 0.000000] kernel: BIOS-provided physical RAM map: +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000000000000-0x0000000000000fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000000001000-0x000000000009ffff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x00000000000a0000-0x00000000000fffff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000000100000-0x0000000076936fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076937000-0x000000007694afff] ACPI data +[ 0.000000] kernel: BIOS-e820: [mem 0x000000007694b000-0x000000007694cfff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000007694d000-0x000000007694dfff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000007694e000-0x0000000076950fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076951000-0x0000000076952fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076953000-0x0000000076953fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076954000-0x0000000076954fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076955000-0x00000000803fffff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x00000000ff610000-0x00000000ff64ffff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000100000000-0x000000107ecaffff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecb0000-0x000000107ecb1fff] ACPI data +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecb2000-0x000000107ecc1fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc2000-0x000000107ecc2fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc3000-0x000000107ecc4fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc5000-0x000000107ecc5fff] ACPI data +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc6000-0x000000107f806fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f807000-0x000000107f808fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f809000-0x000000107f81afff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f81b000-0x000000107f822fff] ACPI NVS +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f823000-0x000000107f88ffff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f890000-0x000000107f893fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f894000-0x000000107f8a8fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8a9000-0x000000107f8b2fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b3000-0x000000107f8b3fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b4000-0x000000107f8b6fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b7000-0x000000107f8b7fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b8000-0x000000107f8bafff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8bb000-0x000000107f8c5fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8c6000-0x000000107f8c9fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8ca000-0x000000107f8d4fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8d5000-0x000000107f913fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f914000-0x000000107f914fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f915000-0x000000107f918fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f919000-0x000000107f934fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f935000-0x000000107f939fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f93a000-0x000000107f93dfff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f93e000-0x000000107f94efff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f94f000-0x000000107f95dfff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f95e000-0x000000107f95efff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f95f000-0x000000107f962fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f963000-0x000000107f963fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f964000-0x000000107fbfffff] usable +[ 0.000000] kernel: NX (Execute Disable) protection: active +[ 0.000000] kernel: efi: EFI v2.7 by EDK II +[ 0.000000] kernel: efi: SMBIOS=0x76950000 SMBIOS 3.0=0x107f963000 ACPI=0x7694a000 ACPI 2.0=0x7694a014 TPMFinalLog=0x107f81b000 MEMATTR=0x107ecad018 MOKvar=0x107ecc2000 RNG=0x107ecc5b18 TPMEventLog=0x107eca9018 +[ 0.000000] kernel: random: crng init done +[ 0.000000] kernel: efi: Remove mem128: MMIO range=[0xff610000-0xff64ffff] (0MB) from e820 map +[ 0.000000] kernel: e820: remove [mem 0xff610000-0xff64ffff] reserved +[ 0.000000] kernel: secureboot: Secure boot disabled +[ 0.000000] kernel: SMBIOS 3.3.0 present. +[ 0.000000] kernel: DMI: System76 Galago Pro/Galago Pro, BIOS 2022-11-21_b337ac6 11/14/2022 +[ 0.000000] kernel: tsc: Detected 2500.000 MHz processor +[ 0.000000] kernel: tsc: Detected 2496.000 MHz TSC +[ 0.000005] kernel: e820: update [mem 0x00000000-0x00000fff] usable ==> reserved +[ 0.000008] kernel: e820: remove [mem 0x000a0000-0x000fffff] usable +[ 0.000031] kernel: last_pfn = 0x107fc00 max_arch_pfn = 0x400000000 +[ 0.000037] kernel: MTRR map: 8 entries (3 fixed + 5 variable; max 23), built from 10 variable MTRRs +[ 0.000040] kernel: x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT +[ 0.000906] kernel: last_pfn = 0x76955 max_arch_pfn = 0x400000000 +[ 0.009848] kernel: Using GB pages for direct mapping +[ 0.009849] kernel: Incomplete global flushes, disabling PCID +[ 0.010864] kernel: secureboot: Secure boot disabled +[ 0.010865] kernel: RAMDISK: [mem 0x107691c000-0x107e54afff] +[ 0.010874] kernel: ACPI: Early table checksum verification disabled +[ 0.010878] kernel: ACPI: RSDP 0x000000007694A014 000024 (v02 COREv4) +[ 0.010885] kernel: ACPI: XSDT 0x000000107ECC5F18 00006C (v01 COREv4 COREBOOT 00000000 01000013) +[ 0.010893] kernel: ACPI: FACP 0x0000000076948000 000114 (v06 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010900] kernel: ACPI: DSDT 0x0000000076942000 0054CE (v02 COREv4 COREBOOT 20110725 INTL 20220331) +[ 0.010905] kernel: ACPI: FACS 0x0000000076972240 000040 +[ 0.010909] kernel: ACPI: SSDT 0x000000007693D000 004D8A (v02 COREv4 COREBOOT 0000002A CORE 20220331) +[ 0.010913] kernel: ACPI: MCFG 0x000000007693C000 00003C (v01 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010917] kernel: ACPI: TPM2 0x000000007693B000 00004C (v04 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010921] kernel: ACPI: LPIT 0x000000007693A000 000094 (v00 COREv4 COREBOOT 0000002A CORE 20220331) +[ 0.010925] kernel: ACPI: APIC 0x0000000076939000 0000D2 (v03 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010929] kernel: ACPI: DMAR 0x0000000076938000 000088 (v01 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010933] kernel: ACPI: HPET 0x0000000076937000 000038 (v01 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010936] kernel: ACPI: BGRT 0x000000107ECC5018 000038 (v00 INTEL EDK2 00001720 PTL 00000002) +[ 0.010940] kernel: ACPI: Reserving FACP table memory at [mem 0x76948000-0x76948113] +[ 0.010942] kernel: ACPI: Reserving DSDT table memory at [mem 0x76942000-0x769474cd] +[ 0.010943] kernel: ACPI: Reserving FACS table memory at [mem 0x76972240-0x7697227f] +[ 0.010945] kernel: ACPI: Reserving SSDT table memory at [mem 0x7693d000-0x76941d89] +[ 0.010946] kernel: ACPI: Reserving MCFG table memory at [mem 0x7693c000-0x7693c03b] +[ 0.010947] kernel: ACPI: Reserving TPM2 table memory at [mem 0x7693b000-0x7693b04b] +[ 0.010948] kernel: ACPI: Reserving LPIT table memory at [mem 0x7693a000-0x7693a093] +[ 0.010949] kernel: ACPI: Reserving APIC table memory at [mem 0x76939000-0x769390d1] +[ 0.010950] kernel: ACPI: Reserving DMAR table memory at [mem 0x76938000-0x76938087] +[ 0.010951] kernel: ACPI: Reserving HPET table memory at [mem 0x76937000-0x76937037] +[ 0.010952] kernel: ACPI: Reserving BGRT table memory at [mem 0x107ecc5018-0x107ecc504f] +[ 0.011202] kernel: No NUMA configuration found +[ 0.011203] kernel: Faking a node at [mem 0x0000000000000000-0x000000107fbfffff] +[ 0.011213] kernel: NODE_DATA(0) allocated [mem 0x107ebd7000-0x107ec01fff] +[ 0.011459] kernel: Zone ranges: +[ 0.011460] kernel: DMA [mem 0x0000000000001000-0x0000000000ffffff] +[ 0.011462] kernel: DMA32 [mem 0x0000000001000000-0x00000000ffffffff] +[ 0.011464] kernel: Normal [mem 0x0000000100000000-0x000000107fbfffff] +[ 0.011465] kernel: Device empty +[ 0.011467] kernel: Movable zone start for each node +[ 0.011468] kernel: Early memory node ranges +[ 0.011469] kernel: node 0: [mem 0x0000000000001000-0x000000000009ffff] +[ 0.011471] kernel: node 0: [mem 0x0000000000100000-0x0000000076936fff] +[ 0.011472] kernel: node 0: [mem 0x000000007694d000-0x000000007694dfff] +[ 0.011473] kernel: node 0: [mem 0x0000000076951000-0x0000000076952fff] +[ 0.011474] kernel: node 0: [mem 0x0000000076954000-0x0000000076954fff] +[ 0.011475] kernel: node 0: [mem 0x0000000100000000-0x000000107ecaffff] +[ 0.011480] kernel: node 0: [mem 0x000000107ecb2000-0x000000107ecc1fff] +[ 0.011481] kernel: node 0: [mem 0x000000107ecc3000-0x000000107ecc4fff] +[ 0.011481] kernel: node 0: [mem 0x000000107ecc6000-0x000000107f806fff] +[ 0.011482] kernel: node 0: [mem 0x000000107f809000-0x000000107f81afff] +[ 0.011483] kernel: node 0: [mem 0x000000107f823000-0x000000107f88ffff] +[ 0.011484] kernel: node 0: [mem 0x000000107f894000-0x000000107f8a8fff] +[ 0.011485] kernel: node 0: [mem 0x000000107f8b3000-0x000000107f8b3fff] +[ 0.011486] kernel: node 0: [mem 0x000000107f8b7000-0x000000107f8b7fff] +[ 0.011486] kernel: node 0: [mem 0x000000107f8bb000-0x000000107f8c5fff] +[ 0.011487] kernel: node 0: [mem 0x000000107f8ca000-0x000000107f8d4fff] +[ 0.011488] kernel: node 0: [mem 0x000000107f914000-0x000000107f914fff] +[ 0.011489] kernel: node 0: [mem 0x000000107f919000-0x000000107f934fff] +[ 0.011490] kernel: node 0: [mem 0x000000107f93a000-0x000000107f93dfff] +[ 0.011491] kernel: node 0: [mem 0x000000107f94f000-0x000000107f95dfff] +[ 0.011491] kernel: node 0: [mem 0x000000107f95f000-0x000000107f962fff] +[ 0.011492] kernel: node 0: [mem 0x000000107f964000-0x000000107fbfffff] +[ 0.011494] kernel: Initmem setup node 0 [mem 0x0000000000001000-0x000000107fbfffff] +[ 0.011498] kernel: On node 0, zone DMA: 1 pages in unavailable ranges +[ 0.011518] kernel: On node 0, zone DMA: 96 pages in unavailable ranges +[ 0.013910] kernel: On node 0, zone DMA32: 22 pages in unavailable ranges +[ 0.013912] kernel: On node 0, zone DMA32: 3 pages in unavailable ranges +[ 0.013913] kernel: On node 0, zone DMA32: 1 pages in unavailable ranges +[ 0.098297] kernel: On node 0, zone Normal: 5803 pages in unavailable ranges +[ 0.098299] kernel: On node 0, zone Normal: 2 pages in unavailable ranges +[ 0.098300] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098314] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098314] kernel: On node 0, zone Normal: 2 pages in unavailable ranges +[ 0.098316] kernel: On node 0, zone Normal: 8 pages in unavailable ranges +[ 0.098316] kernel: On node 0, zone Normal: 4 pages in unavailable ranges +[ 0.098317] kernel: On node 0, zone Normal: 10 pages in unavailable ranges +[ 0.098318] kernel: On node 0, zone Normal: 3 pages in unavailable ranges +[ 0.098319] kernel: On node 0, zone Normal: 3 pages in unavailable ranges +[ 0.098320] kernel: On node 0, zone Normal: 4 pages in unavailable ranges +[ 0.098321] kernel: On node 0, zone Normal: 63 pages in unavailable ranges +[ 0.098322] kernel: On node 0, zone Normal: 4 pages in unavailable ranges +[ 0.098323] kernel: On node 0, zone Normal: 5 pages in unavailable ranges +[ 0.098324] kernel: On node 0, zone Normal: 17 pages in unavailable ranges +[ 0.098325] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098329] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098335] kernel: On node 0, zone Normal: 1024 pages in unavailable ranges +[ 0.098360] kernel: Reserving Intel graphics memory at [mem 0x7c800000-0x803fffff] +[ 0.099522] kernel: ACPI: PM-Timer IO Port: 0x1808 +[ 0.099531] kernel: ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1]) +[ 0.099571] kernel: IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119 +[ 0.099574] kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) +[ 0.099576] kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) +[ 0.099582] kernel: ACPI: Using ACPI (MADT) for SMP configuration information +[ 0.099583] kernel: ACPI: HPET id: 0x8086a701 base: 0xfed00000 +[ 0.099592] kernel: e820: update [mem 0x107ec02000-0x107ec50fff] usable ==> reserved +[ 0.099618] kernel: TSC deadline timer available +[ 0.099619] kernel: smpboot: Allowing 16 CPUs, 0 hotplug CPUs +[ 0.099669] kernel: PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff] +[ 0.099672] kernel: PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000fffff] +[ 0.099675] kernel: PM: hibernation: Registered nosave memory: [mem 0x76937000-0x7694afff] +[ 0.099676] kernel: PM: hibernation: Registered nosave memory: [mem 0x7694b000-0x7694cfff] +[ 0.099678] kernel: PM: hibernation: Registered nosave memory: [mem 0x7694e000-0x76950fff] +[ 0.099680] kernel: PM: hibernation: Registered nosave memory: [mem 0x76953000-0x76953fff] +[ 0.099682] kernel: PM: hibernation: Registered nosave memory: [mem 0x76955000-0x803fffff] +[ 0.099683] kernel: PM: hibernation: Registered nosave memory: [mem 0x80400000-0xffffffff] +[ 0.099686] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ec02000-0x107ec50fff] +[ 0.099688] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ecb0000-0x107ecb1fff] +[ 0.099690] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ecc2000-0x107ecc2fff] +[ 0.099693] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ecc5000-0x107ecc5fff] +[ 0.099695] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f807000-0x107f808fff] +[ 0.099697] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f81b000-0x107f822fff] +[ 0.099699] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f890000-0x107f893fff] +[ 0.099702] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8a9000-0x107f8b2fff] +[ 0.099704] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8b4000-0x107f8b6fff] +[ 0.099706] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8b8000-0x107f8bafff] +[ 0.099709] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8c6000-0x107f8c9fff] +[ 0.099711] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8d5000-0x107f913fff] +[ 0.099714] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f915000-0x107f918fff] +[ 0.099716] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f935000-0x107f939fff] +[ 0.099718] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f93e000-0x107f94efff] +[ 0.099721] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f95e000-0x107f95efff] +[ 0.099723] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f963000-0x107f963fff] +[ 0.099725] kernel: [mem 0x80400000-0xffffffff] available for PCI devices +[ 0.099727] kernel: Booting paravirtualized kernel on bare hardware +[ 0.099729] kernel: clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns +[ 0.099738] kernel: setup_percpu: NR_CPUS:8192 nr_cpumask_bits:16 nr_cpu_ids:16 nr_node_ids:1 +[ 0.100327] kernel: percpu: Embedded 63 pages/cpu s221184 r8192 d28672 u262144 +[ 0.100336] kernel: pcpu-alloc: s221184 r8192 d28672 u262144 alloc=1*2097152 +[ 0.100338] kernel: pcpu-alloc: [0] 00 01 02 03 04 05 06 07 [0] 08 09 10 11 12 13 14 15 +[ 0.100376] kernel: Kernel command line: BOOT_IMAGE=/vmlinuz-6.5.0-35-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7 +[ 0.100453] kernel: Unknown kernel command line parameters "splash BOOT_IMAGE=/vmlinuz-6.5.0-35-generic", will be passed to user space. +[ 0.105784] kernel: Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes, linear) +[ 0.108450] kernel: Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes, linear) +[ 0.108703] kernel: Fallback order for Node 0: 0 +[ 0.108707] kernel: Built 1 zonelists, mobility grouping on. Total pages: 16473637 +[ 0.108709] kernel: Policy zone: Normal +[ 0.108715] kernel: mem auto-init: stack:all(zero), heap alloc:on, heap free:off +[ 0.108724] kernel: software IO TLB: area num 16. +[ 0.230610] kernel: Memory: 65515516K/66949476K available (20480K kernel code, 4266K rwdata, 13192K rodata, 4816K init, 17372K bss, 1433700K reserved, 0K cma-reserved) +[ 0.230909] kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=16, Nodes=1 +[ 0.230940] kernel: ftrace: allocating 55276 entries in 216 pages +[ 0.239880] kernel: ftrace: allocated 216 pages with 4 groups +[ 0.240689] kernel: Dynamic Preempt: voluntary +[ 0.240742] kernel: rcu: Preemptible hierarchical RCU implementation. +[ 0.240747] kernel: rcu: RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=16. +[ 0.240751] kernel: Trampoline variant of Tasks RCU enabled. +[ 0.240754] kernel: Rude variant of Tasks RCU enabled. +[ 0.240754] kernel: Tracing variant of Tasks RCU enabled. +[ 0.240756] kernel: rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.240757] kernel: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=16 +[ 0.243656] kernel: NR_IRQS: 524544, nr_irqs: 2184, preallocated irqs: 16 +[ 0.243972] kernel: rcu: srcu_init: Setting srcu_struct sizes based on contention. +[ 0.244200] kernel: spurious 8259A interrupt: IRQ7. +[ 0.244241] kernel: Console: colour dummy device 80x25 +[ 0.244244] kernel: printk: console [tty0] enabled +[ 0.244296] kernel: ACPI: Core revision 20230331 +[ 0.244372] kernel: hpet: HPET dysfunctional in PC10. Force disabled. +[ 0.244373] kernel: APIC: Switch to symmetric I/O mode setup +[ 0.244376] kernel: DMAR: Host address width 39 +[ 0.244377] kernel: DMAR: DRHD base: 0x000000fed90000 flags: 0x0 +[ 0.244383] kernel: DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e +[ 0.244386] kernel: DMAR: DRHD base: 0x000000fed91000 flags: 0x1 +[ 0.244391] kernel: DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da +[ 0.244394] kernel: DMAR: RMRR base: 0x0000007c000000 end: 0x000000803fffff +[ 0.244396] kernel: DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1 +[ 0.244398] kernel: DMAR-IR: HPET id 0 under DRHD base 0xfed91000 +[ 0.244399] kernel: DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. +[ 0.246277] kernel: DMAR-IR: Enabled IRQ remapping in x2apic mode +[ 0.246280] kernel: x2apic enabled +[ 0.246293] kernel: Switched APIC routing to cluster x2apic. +[ 0.251290] kernel: clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x23fa772cf26, max_idle_ns: 440795269835 ns +[ 0.251299] kernel: Calibrating delay loop (skipped), value calculated using timer frequency.. 4992.00 BogoMIPS (lpj=9984000) +[ 0.251369] kernel: CPU0: Thermal monitoring enabled (TM1) +[ 0.251371] kernel: x86/cpu: User Mode Instruction Prevention (UMIP) activated +[ 0.251505] kernel: process: using mwait in idle threads +[ 0.251508] kernel: Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0 +[ 0.251510] kernel: Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0 +[ 0.251514] kernel: Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization +[ 0.251517] kernel: Spectre V2 : Mitigation: Enhanced / Automatic IBRS +[ 0.251518] kernel: Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch +[ 0.251519] kernel: Spectre V2 : Spectre v2 / PBRSB-eIBRS: Retire a single CALL on VMEXIT +[ 0.251521] kernel: Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier +[ 0.251523] kernel: Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl +[ 0.251535] kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' +[ 0.251536] kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' +[ 0.251537] kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' +[ 0.251538] kernel: x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers' +[ 0.251540] kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 +[ 0.251541] kernel: x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8 +[ 0.251542] kernel: x86/fpu: Enabled xstate features 0x207, context size is 840 bytes, using 'compacted' format. +[ 0.255295] kernel: Freeing SMP alternatives memory: 44K +[ 0.255295] kernel: pid_max: default: 32768 minimum: 301 +[ 0.255295] kernel: LSM: initializing lsm=lockdown,capability,landlock,yama,apparmor,integrity +[ 0.255295] kernel: landlock: Up and running. +[ 0.255295] kernel: Yama: becoming mindful. +[ 0.255295] kernel: AppArmor: AppArmor initialized +[ 0.255295] kernel: Mount-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.255295] kernel: Mountpoint-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.255295] kernel: smpboot: CPU0: 12th Gen Intel(R) Core(TM) i7-1260P (family: 0x6, model: 0x9a, stepping: 0x3) +[ 0.255295] kernel: RCU Tasks: Setting shift to 4 and lim to 1 rcu_task_cb_adjust=1. +[ 0.255295] kernel: RCU Tasks Rude: Setting shift to 4 and lim to 1 rcu_task_cb_adjust=1. +[ 0.255295] kernel: RCU Tasks Trace: Setting shift to 4 and lim to 1 rcu_task_cb_adjust=1. +[ 0.255295] kernel: Performance Events: XSAVE Architectural LBR, PEBS fmt4+-baseline, AnyThread deprecated, Alderlake Hybrid events, 32-deep LBR, full-width counters, Intel PMU driver. +[ 0.255295] kernel: core: cpu_core PMU driver: +[ 0.255295] kernel: ... version: 5 +[ 0.255295] kernel: ... bit width: 48 +[ 0.255295] kernel: ... generic registers: 8 +[ 0.255295] kernel: ... value mask: 0000ffffffffffff +[ 0.255295] kernel: ... max period: 00007fffffffffff +[ 0.255295] kernel: ... fixed-purpose events: 4 +[ 0.255295] kernel: ... event mask: 0001000f000000ff +[ 0.255295] kernel: signal: max sigframe size: 3632 +[ 0.255295] kernel: Estimated ratio of average max frequency by base frequency (times 1024): 1556 +[ 0.255295] kernel: rcu: Hierarchical SRCU implementation. +[ 0.255295] kernel: rcu: Max phase no-delay instances is 1000. +[ 0.255295] kernel: NMI watchdog: Enabled. Permanently consumes one hw-PMU counter. +[ 0.255295] kernel: smp: Bringing up secondary CPUs ... +[ 0.255295] kernel: smpboot: x86: Booting SMP configuration: +[ 0.255295] kernel: .... node #0, CPUs: #2 #4 #6 #8 #9 #10 #11 #12 #13 #14 #15 +[ 0.011164] kernel: core: cpu_atom PMU driver: PEBS-via-PT +[ 0.011164] kernel: ... version: 5 +[ 0.011164] kernel: ... bit width: 48 +[ 0.011164] kernel: ... generic registers: 6 +[ 0.011164] kernel: ... value mask: 0000ffffffffffff +[ 0.011164] kernel: ... max period: 00007fffffffffff +[ 0.011164] kernel: ... fixed-purpose events: 3 +[ 0.011164] kernel: ... event mask: 000000070000003f +[ 0.268619] kernel: #1 #3 #5 #7 +[ 0.273112] kernel: smp: Brought up 1 node, 16 CPUs +[ 0.273112] kernel: smpboot: Max logical packages: 1 +[ 0.273112] kernel: smpboot: Total of 16 processors activated (79872.00 BogoMIPS) +[ 0.277023] kernel: devtmpfs: initialized +[ 0.277023] kernel: x86/mm: Memory block size: 2048MB +[ 0.277023] kernel: ACPI: PM: Registering ACPI NVS region [mem 0x107f81b000-0x107f822fff] (32768 bytes) +[ 0.277023] kernel: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.277023] kernel: futex hash table entries: 4096 (order: 6, 262144 bytes, linear) +[ 0.277023] kernel: pinctrl core: initialized pinctrl subsystem +[ 0.277023] kernel: PM: RTC time: 04:06:19, date: 2024-06-03 +[ 0.277023] kernel: NET: Registered PF_NETLINK/PF_ROUTE protocol family +[ 0.277023] kernel: DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic allocations +[ 0.279451] kernel: DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations +[ 0.279838] kernel: DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations +[ 0.279847] kernel: audit: initializing netlink subsys (disabled) +[ 0.279854] kernel: audit: type=2000 audit(1717387579.028:1): state=initialized audit_enabled=0 res=1 +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'fair_share' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'bang_bang' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'step_wise' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'user_space' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'power_allocator' +[ 0.279854] kernel: EISA bus registered +[ 0.279854] kernel: cpuidle: using governor ladder +[ 0.279854] kernel: cpuidle: using governor menu +[ 0.279854] kernel: acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 +[ 0.279854] kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xc0000000-0xcfffffff] (base 0xc0000000) +[ 0.279854] kernel: PCI: not using MMCONFIG +[ 0.279854] kernel: PCI: Using configuration type 1 for base access +[ 0.279854] kernel: kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible. +[ 0.279898] kernel: HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages +[ 0.279901] kernel: HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page +[ 0.279903] kernel: HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.279904] kernel: HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page +[ 0.280413] kernel: ACPI: Added _OSI(Module Device) +[ 0.280414] kernel: ACPI: Added _OSI(Processor Device) +[ 0.280416] kernel: ACPI: Added _OSI(3.0 _SCP Extensions) +[ 0.280417] kernel: ACPI: Added _OSI(Processor Aggregator Device) +[ 0.289202] kernel: ACPI: 2 ACPI AML tables successfully acquired and loaded +[ 0.323600] kernel: ACPI: USB4 _OSC: OS supports USB3+ DisplayPort+ PCIe+ XDomain+ +[ 0.323602] kernel: ACPI: USB4 _OSC: OS controls USB3+ DisplayPort+ PCIe+ XDomain+ +[ 0.323817] kernel: ACPI: EC: EC started +[ 0.323818] kernel: ACPI: EC: interrupt blocked +[ 0.416064] kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 +[ 0.416068] kernel: ACPI: \_SB_.PCI0.LPCB.EC0_: Boot DSDT EC used to handle transactions +[ 0.416071] kernel: ACPI: Interpreter enabled +[ 0.416096] kernel: ACPI: PM: (supports S0 S1 S4 S5) +[ 0.416098] kernel: ACPI: Using IOAPIC for interrupt routing +[ 0.416388] kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xc0000000-0xcfffffff] (base 0xc0000000) +[ 0.416599] kernel: PCI: MMCONFIG at [mem 0xc0000000-0xcfffffff] reserved as ACPI motherboard resource +[ 0.416611] kernel: PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug +[ 0.416612] kernel: PCI: Using E820 reservations for host bridge windows +[ 0.416769] kernel: ACPI: Enabled 2 GPEs in block 00 to 7F +[ 0.418073] kernel: ACPI: \_SB_.PCI0.RP10.RTD3: New power resource +[ 0.428625] kernel: ACPI: \_SB_.PCI0.TBT0: New power resource +[ 0.428653] kernel: ACPI: \_SB_.PCI0.TBT1: New power resource +[ 0.428676] kernel: ACPI: \_SB_.PCI0.D3C_: New power resource +[ 0.457362] kernel: ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) +[ 0.457369] kernel: acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3] +[ 0.457397] kernel: acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR DPC] +[ 0.458352] kernel: PCI host bridge to bus 0000:00 +[ 0.458354] kernel: pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] +[ 0.458356] kernel: pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] +[ 0.458359] kernel: pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000fffff window] +[ 0.458361] kernel: pci_bus 0000:00: root bus resource [mem 0x80400000-0xdfffffff window] +[ 0.458362] kernel: pci_bus 0000:00: root bus resource [mem 0x107fc00000-0x7fffffffff window] +[ 0.458364] kernel: pci_bus 0000:00: root bus resource [mem 0xfc800000-0xfe7fffff window] +[ 0.458365] kernel: pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed47fff window] +[ 0.458366] kernel: pci_bus 0000:00: root bus resource [bus 00-ff] +[ 0.458401] kernel: pci 0000:00:00.0: [8086:4621] type 00 class 0x060000 +[ 0.458561] kernel: pci 0000:00:02.0: [8086:46a6] type 00 class 0x030000 +[ 0.458572] kernel: pci 0000:00:02.0: reg 0x10: [mem 0x81000000-0x81ffffff 64bit] +[ 0.458580] kernel: pci 0000:00:02.0: reg 0x18: [mem 0x90000000-0x9fffffff 64bit pref] +[ 0.458586] kernel: pci 0000:00:02.0: reg 0x20: [io 0x1000-0x103f] +[ 0.458605] kernel: pci 0000:00:02.0: BAR 2: assigned to efifb +[ 0.458607] kernel: pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics +[ 0.458611] kernel: pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] +[ 0.458644] kernel: pci 0000:00:02.0: reg 0x344: [mem 0x00000000-0x00ffffff 64bit] +[ 0.458646] kernel: pci 0000:00:02.0: VF(n) BAR0 space: [mem 0x00000000-0x06ffffff 64bit] (contains BAR0 for 7 VFs) +[ 0.458652] kernel: pci 0000:00:02.0: reg 0x34c: [mem 0x00000000-0x1fffffff 64bit pref] +[ 0.458653] kernel: pci 0000:00:02.0: VF(n) BAR2 space: [mem 0x00000000-0xdfffffff 64bit pref] (contains BAR2 for 7 VFs) +[ 0.458785] kernel: pci 0000:00:06.0: [8086:464d] type 01 class 0x060400 +[ 0.458907] kernel: pci 0000:00:06.0: PME# supported from D0 D3hot D3cold +[ 0.458947] kernel: pci 0000:00:06.0: PTM enabled (root), 4ns granularity +[ 0.459094] kernel: pci 0000:00:07.0: [8086:466e] type 01 class 0x060400 +[ 0.459148] kernel: pci 0000:00:07.0: Overriding RP PIO Log Size to 4 +[ 0.459194] kernel: pci 0000:00:07.0: PME# supported from D0 D3hot D3cold +[ 0.459383] kernel: pci 0000:00:0a.0: [8086:467d] type 00 class 0x118000 +[ 0.459393] kernel: pci 0000:00:0a.0: reg 0x10: [mem 0x80860000-0x80867fff 64bit] +[ 0.459419] kernel: pci 0000:00:0a.0: enabling Extended Tags +[ 0.459521] kernel: pci 0000:00:0d.0: [8086:461e] type 00 class 0x0c0330 +[ 0.459533] kernel: pci 0000:00:0d.0: reg 0x10: [mem 0x80840000-0x8084ffff 64bit] +[ 0.459587] kernel: pci 0000:00:0d.0: PME# supported from D3hot D3cold +[ 0.459697] kernel: pci 0000:00:0d.2: [8086:463e] type 00 class 0x0c0340 +[ 0.459710] kernel: pci 0000:00:0d.2: reg 0x10: [mem 0x80800000-0x8083ffff 64bit] +[ 0.459719] kernel: pci 0000:00:0d.2: reg 0x18: [mem 0x80874000-0x80874fff 64bit] +[ 0.459759] kernel: pci 0000:00:0d.2: supports D1 D2 +[ 0.459760] kernel: pci 0000:00:0d.2: PME# supported from D0 D1 D2 D3hot D3cold +[ 0.459878] kernel: pci 0000:00:14.0: [8086:51ed] type 00 class 0x0c0330 +[ 0.459902] kernel: pci 0000:00:14.0: reg 0x10: [mem 0x80850000-0x8085ffff 64bit] +[ 0.460003] kernel: pci 0000:00:14.0: PME# supported from D3hot D3cold +[ 0.460102] kernel: pci 0000:00:14.2: [8086:51ef] type 00 class 0x050000 +[ 0.460128] kernel: pci 0000:00:14.2: reg 0x10: [mem 0xfe010000-0xfe013fff 64bit] +[ 0.460146] kernel: pci 0000:00:14.2: reg 0x18: [mem 0x80875000-0x80875fff 64bit] +[ 0.460367] kernel: pci 0000:00:14.3: [8086:51f0] type 00 class 0x028000 +[ 0.460434] kernel: pci 0000:00:14.3: reg 0x10: [mem 0x8086c000-0x8086ffff 64bit] +[ 0.460646] kernel: pci 0000:00:14.3: PME# supported from D0 D3hot D3cold +[ 0.460900] kernel: pci 0000:00:15.0: [8086:51e8] type 00 class 0x0c8000 +[ 0.460951] kernel: pci 0000:00:15.0: reg 0x10: [mem 0x80876000-0x80876fff 64bit] +[ 0.461191] kernel: pci 0000:00:15.1: [8086:51e9] type 00 class 0x0c8000 +[ 0.461242] kernel: pci 0000:00:15.1: reg 0x10: [mem 0x80877000-0x80877fff 64bit] +[ 0.461489] kernel: pci 0000:00:16.0: [8086:51e0] type 00 class 0x078000 +[ 0.461518] kernel: pci 0000:00:16.0: reg 0x10: [mem 0x80878000-0x80878fff 64bit] +[ 0.461632] kernel: pci 0000:00:16.0: PME# supported from D3hot +[ 0.461746] kernel: pci 0000:00:1d.0: [8086:51b0] type 01 class 0x060400 +[ 0.461864] kernel: pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold +[ 0.461901] kernel: pci 0000:00:1d.0: PTM enabled (root), 4ns granularity +[ 0.462017] kernel: pci 0000:00:1d.1: [8086:51b1] type 01 class 0x060400 +[ 0.462133] kernel: pci 0000:00:1d.1: PME# supported from D0 D3hot D3cold +[ 0.462169] kernel: pci 0000:00:1d.1: PTM enabled (root), 4ns granularity +[ 0.462308] kernel: pci 0000:00:1f.0: [8086:5182] type 00 class 0x060100 +[ 0.462516] kernel: pci 0000:00:1f.3: [8086:51c8] type 00 class 0x040300 +[ 0.462565] kernel: pci 0000:00:1f.3: reg 0x10: [mem 0x80870000-0x80873fff 64bit] +[ 0.462638] kernel: pci 0000:00:1f.3: reg 0x20: [mem 0x80700000-0x807fffff 64bit] +[ 0.462751] kernel: pci 0000:00:1f.3: PME# supported from D3hot D3cold +[ 0.462897] kernel: pci 0000:00:1f.4: [8086:51a3] type 00 class 0x0c0500 +[ 0.462925] kernel: pci 0000:00:1f.4: reg 0x10: [mem 0x8087a000-0x8087a0ff 64bit] +[ 0.462961] kernel: pci 0000:00:1f.4: reg 0x20: [io 0xefa0-0xefbf] +[ 0.463055] kernel: pci 0000:00:1f.5: [8086:51a4] type 00 class 0x0c8000 +[ 0.463077] kernel: pci 0000:00:1f.5: reg 0x10: [mem 0x80879000-0x80879fff] +[ 0.463309] kernel: pci 0000:01:00.0: [15b7:5030] type 00 class 0x010802 +[ 0.463325] kernel: pci 0000:01:00.0: reg 0x10: [mem 0x80400000-0x80403fff 64bit] +[ 0.463532] kernel: pci 0000:00:06.0: PCI bridge to [bus 01] +[ 0.463536] kernel: pci 0000:00:06.0: bridge window [mem 0x80400000-0x804fffff] +[ 0.463579] kernel: pci 0000:00:07.0: PCI bridge to [bus 02-2c] +[ 0.463582] kernel: pci 0000:00:07.0: bridge window [io 0x2000-0x3fff] +[ 0.463585] kernel: pci 0000:00:07.0: bridge window [mem 0x82000000-0x8e1fffff] +[ 0.463590] kernel: pci 0000:00:07.0: bridge window [mem 0x107fc00000-0x109bbfffff 64bit pref] +[ 0.463736] kernel: pci 0000:2d:00.0: [1217:8621] type 00 class 0x080501 +[ 0.463763] kernel: pci 0000:2d:00.0: reg 0x10: [mem 0x80500000-0x80500fff] +[ 0.463777] kernel: pci 0000:2d:00.0: reg 0x14: [mem 0x80501000-0x805017ff] +[ 0.463950] kernel: pci 0000:2d:00.0: PME# supported from D3hot D3cold +[ 0.475440] kernel: pci 0000:00:1d.0: PCI bridge to [bus 2d] +[ 0.475446] kernel: pci 0000:00:1d.0: bridge window [mem 0x80500000-0x805fffff] +[ 0.475526] kernel: pci 0000:2e:00.0: [10ec:8168] type 00 class 0x020000 +[ 0.475553] kernel: pci 0000:2e:00.0: reg 0x10: [io 0x4000-0x40ff] +[ 0.475590] kernel: pci 0000:2e:00.0: reg 0x18: [mem 0x80604000-0x80604fff 64bit] +[ 0.475613] kernel: pci 0000:2e:00.0: reg 0x20: [mem 0x80600000-0x80603fff 64bit] +[ 0.475752] kernel: pci 0000:2e:00.0: supports D1 D2 +[ 0.475753] kernel: pci 0000:2e:00.0: PME# supported from D0 D1 D2 D3hot D3cold +[ 0.476010] kernel: pci 0000:00:1d.1: PCI bridge to [bus 2e] +[ 0.476013] kernel: pci 0000:00:1d.1: bridge window [io 0x4000-0x4fff] +[ 0.476017] kernel: pci 0000:00:1d.1: bridge window [mem 0x80600000-0x806fffff] +[ 0.476893] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.SRAM (20230331/dspkginit-438) +[ 0.476901] kernel: fbcon: Taking over console +[ 0.476936] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.HEC1 (20230331/dspkginit-438) +[ 0.476983] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.FSPI (20230331/dspkginit-438) +[ 0.477087] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.PEG0.MCHC (20230331/dspkginit-438) +[ 0.477098] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.RP09.MCHC (20230331/dspkginit-438) +[ 0.477109] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.RP10.MCHC (20230331/dspkginit-438) +[ 0.477221] kernel: Low-power S0 idle used by default for system suspend +[ 0.479845] kernel: ACPI: EC: interrupt unblocked +[ 0.479846] kernel: ACPI: EC: event unblocked +[ 0.479861] kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 +[ 0.479862] kernel: ACPI: EC: GPE=0x6e +[ 0.479863] kernel: ACPI: \_SB_.PCI0.LPCB.EC0_: Boot DSDT EC initialization complete +[ 0.479865] kernel: ACPI: \_SB_.PCI0.LPCB.EC0_: EC: Used to handle transactions and events +[ 0.479941] kernel: iommu: Default domain type: Translated +[ 0.479941] kernel: iommu: DMA domain TLB invalidation policy: lazy mode +[ 0.479941] kernel: SCSI subsystem initialized +[ 0.479941] kernel: libata version 3.00 loaded. +[ 0.479941] kernel: ACPI: bus type USB registered +[ 0.479941] kernel: usbcore: registered new interface driver usbfs +[ 0.479941] kernel: usbcore: registered new interface driver hub +[ 0.479941] kernel: usbcore: registered new device driver usb +[ 0.479941] kernel: pps_core: LinuxPPS API ver. 1 registered +[ 0.479941] kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti +[ 0.479941] kernel: PTP clock support registered +[ 0.479941] kernel: EDAC MC: Ver: 3.0.0 +[ 0.480356] kernel: efivars: Registered efivars operations +[ 0.480356] kernel: NetLabel: Initializing +[ 0.480356] kernel: NetLabel: domain hash size = 128 +[ 0.480356] kernel: NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.480356] kernel: NetLabel: unlabeled traffic allowed by default +[ 0.480356] kernel: mctp: management component transport protocol core +[ 0.480356] kernel: NET: Registered PF_MCTP protocol family +[ 0.480356] kernel: PCI: Using ACPI for IRQ routing +[ 0.502677] kernel: PCI: pci_cache_line_size set to 64 bytes +[ 0.503536] kernel: e820: reserve RAM buffer [mem 0x76937000-0x77ffffff] +[ 0.503540] kernel: e820: reserve RAM buffer [mem 0x7694e000-0x77ffffff] +[ 0.503542] kernel: e820: reserve RAM buffer [mem 0x76953000-0x77ffffff] +[ 0.503543] kernel: e820: reserve RAM buffer [mem 0x76955000-0x77ffffff] +[ 0.503544] kernel: e820: reserve RAM buffer [mem 0x107ec02000-0x107fffffff] +[ 0.503550] kernel: e820: reserve RAM buffer [mem 0x107ecb0000-0x107fffffff] +[ 0.503556] kernel: e820: reserve RAM buffer [mem 0x107ecc2000-0x107fffffff] +[ 0.503561] kernel: e820: reserve RAM buffer [mem 0x107ecc5000-0x107fffffff] +[ 0.503566] kernel: e820: reserve RAM buffer [mem 0x107f807000-0x107fffffff] +[ 0.503571] kernel: e820: reserve RAM buffer [mem 0x107f81b000-0x107fffffff] +[ 0.503576] kernel: e820: reserve RAM buffer [mem 0x107f890000-0x107fffffff] +[ 0.503580] kernel: e820: reserve RAM buffer [mem 0x107f8a9000-0x107fffffff] +[ 0.503584] kernel: e820: reserve RAM buffer [mem 0x107f8b4000-0x107fffffff] +[ 0.503588] kernel: e820: reserve RAM buffer [mem 0x107f8b8000-0x107fffffff] +[ 0.503592] kernel: e820: reserve RAM buffer [mem 0x107f8c6000-0x107fffffff] +[ 0.503595] kernel: e820: reserve RAM buffer [mem 0x107f8d5000-0x107fffffff] +[ 0.503598] kernel: e820: reserve RAM buffer [mem 0x107f915000-0x107fffffff] +[ 0.503601] kernel: e820: reserve RAM buffer [mem 0x107f935000-0x107fffffff] +[ 0.503604] kernel: e820: reserve RAM buffer [mem 0x107f93e000-0x107fffffff] +[ 0.503606] kernel: e820: reserve RAM buffer [mem 0x107f95e000-0x107fffffff] +[ 0.503608] kernel: e820: reserve RAM buffer [mem 0x107f963000-0x107fffffff] +[ 0.503609] kernel: e820: reserve RAM buffer [mem 0x107fc00000-0x107fffffff] +[ 0.503688] kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA device +[ 0.503688] kernel: pci 0000:00:02.0: vgaarb: bridge control possible +[ 0.503688] kernel: pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none +[ 0.503688] kernel: vgaarb: loaded +[ 0.504426] kernel: clocksource: Switched to clocksource tsc-early +[ 0.512989] kernel: VFS: Disk quotas dquot_6.6.0 +[ 0.513006] kernel: VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.513132] kernel: AppArmor: AppArmor Filesystem Enabled +[ 0.513148] kernel: pnp: PnP ACPI init +[ 0.513310] kernel: pnp 00:00: disabling [mem 0xc0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 0x00000000-0xdfffffff 64bit pref] +[ 0.513345] kernel: system 00:00: [mem 0xfedc0000-0xfeddffff] has been reserved +[ 0.513347] kernel: system 00:00: [mem 0xfeda0000-0xfeda0fff] has been reserved +[ 0.513349] kernel: system 00:00: [mem 0xfeda1000-0xfeda1fff] has been reserved +[ 0.513350] kernel: system 00:00: [mem 0xfed90000-0xfed93fff] could not be reserved +[ 0.513352] kernel: system 00:00: [mem 0xfe000000-0xffffffff] could not be reserved +[ 0.513354] kernel: system 00:00: [mem 0xf8000000-0xf9ffffff] has been reserved +[ 0.513355] kernel: system 00:00: [mem 0xfee00000-0xfeefffff] has been reserved +[ 0.513357] kernel: system 00:00: [mem 0xfed00000-0xfed003ff] has been reserved +[ 0.513407] kernel: system 00:01: [mem 0xfed00000-0xfed003ff] has been reserved +[ 0.513442] kernel: system 00:02: [io 0x1800-0x18fe] has been reserved +[ 0.515056] kernel: pnp: PnP ACPI: found 6 devices +[ 0.520709] kernel: clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns +[ 0.520779] kernel: NET: Registered PF_INET protocol family +[ 0.520986] kernel: IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear) +[ 0.524507] kernel: tcp_listen_portaddr_hash hash table entries: 32768 (order: 7, 524288 bytes, linear) +[ 0.524564] kernel: Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) +[ 0.524962] kernel: TCP established hash table entries: 524288 (order: 10, 4194304 bytes, linear) +[ 0.525543] kernel: TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear) +[ 0.525717] kernel: TCP: Hash tables configured (established 524288 bind 65536) +[ 0.525961] kernel: MPTCP token hash table entries: 65536 (order: 8, 1572864 bytes, linear) +[ 0.526154] kernel: UDP hash table entries: 32768 (order: 8, 1048576 bytes, linear) +[ 0.526316] kernel: UDP-Lite hash table entries: 32768 (order: 8, 1048576 bytes, linear) +[ 0.526429] kernel: NET: Registered PF_UNIX/PF_LOCAL protocol family +[ 0.526436] kernel: NET: Registered PF_XDP protocol family +[ 0.526443] kernel: pci_bus 0000:00: max bus depth: 1 pci_try_num: 2 +[ 0.526454] kernel: pci 0000:00:02.0: BAR 9: assigned [mem 0x10a0000000-0x117fffffff 64bit pref] +[ 0.526459] kernel: pci 0000:00:02.0: BAR 7: assigned [mem 0x1180000000-0x1186ffffff 64bit] +[ 0.526462] kernel: pci 0000:00:1d.0: BAR 15: assigned [mem 0x109bc00000-0x109bdfffff 64bit pref] +[ 0.526465] kernel: pci 0000:00:1d.0: BAR 13: assigned [io 0x5000-0x5fff] +[ 0.526468] kernel: pci 0000:00:06.0: PCI bridge to [bus 01] +[ 0.526485] kernel: pci 0000:00:06.0: bridge window [mem 0x80400000-0x804fffff] +[ 0.526506] kernel: pci 0000:00:07.0: PCI bridge to [bus 02-2c] +[ 0.526508] kernel: pci 0000:00:07.0: bridge window [io 0x2000-0x3fff] +[ 0.526513] kernel: pci 0000:00:07.0: bridge window [mem 0x82000000-0x8e1fffff] +[ 0.526516] kernel: pci 0000:00:07.0: bridge window [mem 0x107fc00000-0x109bbfffff 64bit pref] +[ 0.526521] kernel: pci 0000:00:1d.0: PCI bridge to [bus 2d] +[ 0.526525] kernel: pci 0000:00:1d.0: bridge window [io 0x5000-0x5fff] +[ 0.526530] kernel: pci 0000:00:1d.0: bridge window [mem 0x80500000-0x805fffff] +[ 0.526534] kernel: pci 0000:00:1d.0: bridge window [mem 0x109bc00000-0x109bdfffff 64bit pref] +[ 0.526540] kernel: pci 0000:00:1d.1: PCI bridge to [bus 2e] +[ 0.526542] kernel: pci 0000:00:1d.1: bridge window [io 0x4000-0x4fff] +[ 0.526547] kernel: pci 0000:00:1d.1: bridge window [mem 0x80600000-0x806fffff] +[ 0.526556] kernel: pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window] +[ 0.526558] kernel: pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window] +[ 0.526559] kernel: pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000fffff window] +[ 0.526561] kernel: pci_bus 0000:00: resource 7 [mem 0x80400000-0xdfffffff window] +[ 0.526562] kernel: pci_bus 0000:00: resource 8 [mem 0x107fc00000-0x7fffffffff window] +[ 0.526563] kernel: pci_bus 0000:00: resource 9 [mem 0xfc800000-0xfe7fffff window] +[ 0.526565] kernel: pci_bus 0000:00: resource 10 [mem 0xfed40000-0xfed47fff window] +[ 0.526566] kernel: pci_bus 0000:01: resource 1 [mem 0x80400000-0x804fffff] +[ 0.526568] kernel: pci_bus 0000:02: resource 0 [io 0x2000-0x3fff] +[ 0.526569] kernel: pci_bus 0000:02: resource 1 [mem 0x82000000-0x8e1fffff] +[ 0.526570] kernel: pci_bus 0000:02: resource 2 [mem 0x107fc00000-0x109bbfffff 64bit pref] +[ 0.526572] kernel: pci_bus 0000:2d: resource 0 [io 0x5000-0x5fff] +[ 0.526573] kernel: pci_bus 0000:2d: resource 1 [mem 0x80500000-0x805fffff] +[ 0.526574] kernel: pci_bus 0000:2d: resource 2 [mem 0x109bc00000-0x109bdfffff 64bit pref] +[ 0.526576] kernel: pci_bus 0000:2e: resource 0 [io 0x4000-0x4fff] +[ 0.526577] kernel: pci_bus 0000:2e: resource 1 [mem 0x80600000-0x806fffff] +[ 0.528274] kernel: PCI: CLS 64 bytes, default 64 +[ 0.528282] kernel: DMAR: Intel-IOMMU force enabled due to platform opt in +[ 0.528290] kernel: DMAR: No ATSR found +[ 0.528290] kernel: DMAR: No SATC found +[ 0.528291] kernel: DMAR: IOMMU feature fl1gp_support inconsistent +[ 0.528293] kernel: DMAR: IOMMU feature pgsel_inv inconsistent +[ 0.528294] kernel: DMAR: IOMMU feature nwfs inconsistent +[ 0.528294] kernel: DMAR: IOMMU feature dit inconsistent +[ 0.528295] kernel: DMAR: IOMMU feature sc_support inconsistent +[ 0.528296] kernel: DMAR: IOMMU feature dev_iotlb_support inconsistent +[ 0.528297] kernel: DMAR: dmar0: Using Queued invalidation +[ 0.528301] kernel: DMAR: dmar1: Using Queued invalidation +[ 0.528347] kernel: Trying to unpack rootfs image as initramfs... +[ 0.528484] kernel: pci 0000:00:02.0: Adding to iommu group 0 +[ 0.528515] kernel: pci 0000:00:00.0: Adding to iommu group 1 +[ 0.528526] kernel: pci 0000:00:06.0: Adding to iommu group 2 +[ 0.528537] kernel: pci 0000:00:07.0: Adding to iommu group 3 +[ 0.528545] kernel: pci 0000:00:0a.0: Adding to iommu group 4 +[ 0.528561] kernel: pci 0000:00:0d.0: Adding to iommu group 5 +[ 0.528569] kernel: pci 0000:00:0d.2: Adding to iommu group 5 +[ 0.528584] kernel: pci 0000:00:14.0: Adding to iommu group 6 +[ 0.528593] kernel: pci 0000:00:14.2: Adding to iommu group 6 +[ 0.528602] kernel: pci 0000:00:14.3: Adding to iommu group 7 +[ 0.528617] kernel: pci 0000:00:15.0: Adding to iommu group 8 +[ 0.528626] kernel: pci 0000:00:15.1: Adding to iommu group 8 +[ 0.528637] kernel: pci 0000:00:16.0: Adding to iommu group 9 +[ 0.528651] kernel: pci 0000:00:1d.0: Adding to iommu group 10 +[ 0.528664] kernel: pci 0000:00:1d.1: Adding to iommu group 11 +[ 0.528687] kernel: pci 0000:00:1f.0: Adding to iommu group 12 +[ 0.528697] kernel: pci 0000:00:1f.3: Adding to iommu group 12 +[ 0.528707] kernel: pci 0000:00:1f.4: Adding to iommu group 12 +[ 0.528717] kernel: pci 0000:00:1f.5: Adding to iommu group 12 +[ 0.528727] kernel: pci 0000:01:00.0: Adding to iommu group 13 +[ 0.528738] kernel: pci 0000:2d:00.0: Adding to iommu group 14 +[ 0.528748] kernel: pci 0000:2e:00.0: Adding to iommu group 15 +[ 0.528898] kernel: DMAR: Intel(R) Virtualization Technology for Directed I/O +[ 0.528899] kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB) +[ 0.528900] kernel: software IO TLB: mapped [mem 0x00000000728cb000-0x00000000768cb000] (64MB) +[ 0.529317] kernel: clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x23fa772cf26, max_idle_ns: 440795269835 ns +[ 0.529343] kernel: clocksource: Switched to clocksource tsc +[ 0.530014] kernel: Initialise system trusted keyrings +[ 0.530022] kernel: Key type blacklist registered +[ 0.530078] kernel: workingset: timestamp_bits=36 max_order=24 bucket_order=0 +[ 0.530091] kernel: zbud: loaded +[ 0.530320] kernel: squashfs: version 4.0 (2009/01/31) Phillip Lougher +[ 0.530418] kernel: fuse: init (API version 7.38) +[ 0.530566] kernel: integrity: Platform Keyring initialized +[ 0.530570] kernel: integrity: Machine keyring initialized +[ 0.537738] kernel: Key type asymmetric registered +[ 0.537740] kernel: Asymmetric key parser 'x509' registered +[ 0.537754] kernel: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) +[ 0.537814] kernel: io scheduler mq-deadline registered +[ 0.538540] kernel: pcieport 0000:00:06.0: PME: Signaling with IRQ 122 +[ 0.538923] kernel: pcieport 0000:00:07.0: PME: Signaling with IRQ 123 +[ 0.539001] kernel: pcieport 0000:00:07.0: AER: enabled with IRQ 123 +[ 0.539018] kernel: pcieport 0000:00:07.0: pciehp: Slot #3 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ IbPresDis- LLActRep+ +[ 0.539093] kernel: pcieport 0000:00:07.0: DPC: enabled with IRQ 123 +[ 0.539095] kernel: pcieport 0000:00:07.0: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP- SwTrigger- RP PIO Log 4, DL_ActiveErr- +[ 0.539511] kernel: pcieport 0000:00:1d.0: PME: Signaling with IRQ 124 +[ 0.539582] kernel: pcieport 0000:00:1d.0: AER: enabled with IRQ 124 +[ 0.539602] kernel: pcieport 0000:00:1d.0: pciehp: Slot #8 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ IbPresDis- LLActRep+ +[ 0.540056] kernel: pcieport 0000:00:1d.1: PME: Signaling with IRQ 125 +[ 0.540127] kernel: pcieport 0000:00:1d.1: AER: enabled with IRQ 125 +[ 0.540226] kernel: shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 +[ 0.540277] kernel: efifb: probing for efifb +[ 0.540296] kernel: efifb: showing boot graphics +[ 0.541668] kernel: efifb: framebuffer at 0x90000000, using 8100k, total 8100k +[ 0.541670] kernel: efifb: mode is 1920x1080x32, linelength=7680, pages=1 +[ 0.541671] kernel: efifb: scrolling: redraw +[ 0.541672] kernel: efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 +[ 0.541759] kernel: Console: switching to colour frame buffer device 240x67 +[ 0.543314] kernel: fb0: EFI VGA frame buffer device +[ 0.544299] kernel: ACPI: AC: AC Adapter [AC] (on-line) +[ 0.544356] kernel: input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0 +[ 0.544472] kernel: ACPI: button: Power Button [PWRB] +[ 0.544500] kernel: input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1 +[ 0.544613] kernel: ACPI: button: Sleep Button [SLPB] +[ 0.544642] kernel: input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input2 +[ 0.544678] kernel: ACPI: button: Lid Switch [LID0] +[ 0.544705] kernel: input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3 +[ 0.544890] kernel: ACPI: button: Power Button [PWRF] +[ 0.546398] kernel: Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled +[ 0.548471] kernel: hpet_acpi_add: no address or irqs in _CRS +[ 0.548484] kernel: Linux agpgart interface v0.103 +[ 0.553003] kernel: tpm_tis MSFT0101:00: 2.0 TPM (device-id 0x1B, rev-id 22) +[ 0.616376] kernel: ACPI: battery: Slot [BAT0] (battery present) +[ 1.133733] kernel: loop: module loaded +[ 1.133976] kernel: tun: Universal TUN/TAP device driver, 1.6 +[ 1.134052] kernel: PPP generic driver version 2.4.2 +[ 1.134209] kernel: i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 +[ 1.144708] kernel: serio: i8042 KBD port at 0x60,0x64 irq 1 +[ 1.144712] kernel: serio: i8042 AUX port at 0x60,0x64 irq 12 +[ 1.144934] kernel: mousedev: PS/2 mouse device common for all mice +[ 1.145498] kernel: rtc_cmos 00:03: RTC can wake from S4 +[ 1.146292] kernel: rtc_cmos 00:03: registered as rtc0 +[ 1.146457] kernel: rtc_cmos 00:03: setting system clock to 2024-06-03T04:06:20 UTC (1717387580) +[ 1.146489] kernel: rtc_cmos 00:03: alarms up to one month, 242 bytes nvram +[ 1.146496] kernel: i2c_dev: i2c /dev entries driver +[ 1.147760] kernel: device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log. +[ 1.147780] kernel: device-mapper: uevent: version 1.0.3 +[ 1.147931] kernel: device-mapper: ioctl: 4.48.0-ioctl (2023-03-01) initialised: dm-devel@redhat.com +[ 1.147965] kernel: platform eisa.0: Probing EISA bus 0 +[ 1.147968] kernel: platform eisa.0: EISA: Cannot allocate resource for mainboard +[ 1.147969] kernel: platform eisa.0: Cannot allocate resource for EISA slot 1 +[ 1.147971] kernel: platform eisa.0: Cannot allocate resource for EISA slot 2 +[ 1.147972] kernel: platform eisa.0: Cannot allocate resource for EISA slot 3 +[ 1.147973] kernel: platform eisa.0: Cannot allocate resource for EISA slot 4 +[ 1.147974] kernel: platform eisa.0: Cannot allocate resource for EISA slot 5 +[ 1.147975] kernel: platform eisa.0: Cannot allocate resource for EISA slot 6 +[ 1.147976] kernel: platform eisa.0: Cannot allocate resource for EISA slot 7 +[ 1.147977] kernel: platform eisa.0: Cannot allocate resource for EISA slot 8 +[ 1.147978] kernel: platform eisa.0: EISA: Detected 0 cards +[ 1.147982] kernel: intel_pstate: Intel P-state driver initializing +[ 1.149039] kernel: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4 +[ 1.149658] kernel: intel_pstate: HWP enabled +[ 1.150348] kernel: ledtrig-cpu: registered to indicate activity on CPUs +[ 1.150429] kernel: intel_pmc_core INT33A1:00: initialized +[ 1.150494] kernel: drop_monitor: Initializing network drop monitor service +[ 1.159603] kernel: NET: Registered PF_INET6 protocol family +[ 1.191447] kernel: Freeing initrd memory: 127164K +[ 1.195137] kernel: Segment Routing with IPv6 +[ 1.195145] kernel: In-situ OAM (IOAM) with IPv6 +[ 1.195164] kernel: NET: Registered PF_PACKET protocol family +[ 1.195248] kernel: Key type dns_resolver registered +[ 1.197404] kernel: microcode: Microcode Update Driver: v2.2. +[ 1.197410] kernel: IPI shorthand broadcast: enabled +[ 1.198066] kernel: sched_clock: Marking stable (1190238609, 7164497)->(1242720162, -45317056) +[ 1.198541] kernel: registered taskstats version 1 +[ 1.199737] kernel: Loading compiled-in X.509 certificates +[ 1.200208] kernel: Loaded X.509 cert 'Build time autogenerated kernel key: 73705a51282eea04e7eb4bef93768faf542bd3c0' +[ 1.200431] kernel: Loaded X.509 cert 'Canonical Ltd. Live Patch Signing: 14df34d1a87cf37625abec039ef2bf521249b969' +[ 1.200651] kernel: Loaded X.509 cert 'Canonical Ltd. Kernel Module Signing: 88f752e560a1e0737e31163a466ad7b70a850c19' +[ 1.200652] kernel: blacklist: Loading compiled-in revocation X.509 certificates +[ 1.200660] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing: 61482aa2830d0ab2ad5af10b7250da9033ddcef0' +[ 1.200668] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2017): 242ade75ac4a15e50d50c84b0d45ff3eae707a03' +[ 1.200674] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (ESM 2018): 365188c1d374d6b07c3c8f240f8ef722433d6a8b' +[ 1.200680] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2019): c0746fd6c5da3ae827864651ad66ae47fe24b3e8' +[ 1.200687] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v1): a8d54bbb3825cfb94fa13c9f8a594a195c107b8d' +[ 1.200693] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v2): 4cf046892d6fd3c9a5b03f98d845f90851dc6a8c' +[ 1.200700] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v3): 100437bb6de6e469b581e61cd66bce3ef4ed53af' +[ 1.200710] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (Ubuntu Core 2019): c1d57b8f6b743f23ee41f4f7ee292f06eecadfb9' +[ 1.201574] kernel: Key type .fscrypt registered +[ 1.201575] kernel: Key type fscrypt-provisioning registered +[ 1.201601] kernel: Key type trusted registered +[ 1.204428] kernel: Key type encrypted registered +[ 1.204431] kernel: AppArmor: AppArmor sha1 policy hashing enabled +[ 1.204455] kernel: Loading compiled-in module X.509 certificates +[ 1.204738] kernel: Loaded X.509 cert 'Build time autogenerated kernel key: 73705a51282eea04e7eb4bef93768faf542bd3c0' +[ 1.204739] kernel: ima: Allocated hash algorithm: sha1 +[ 1.249894] kernel: ima: No architecture policies found +[ 1.249918] kernel: evm: Initialising EVM extended attributes: +[ 1.249920] kernel: evm: security.selinux +[ 1.249922] kernel: evm: security.SMACK64 +[ 1.249924] kernel: evm: security.SMACK64EXEC +[ 1.249925] kernel: evm: security.SMACK64TRANSMUTE +[ 1.249926] kernel: evm: security.SMACK64MMAP +[ 1.249927] kernel: evm: security.apparmor +[ 1.249929] kernel: evm: security.ima +[ 1.249930] kernel: evm: security.capability +[ 1.249931] kernel: evm: HMAC attrs: 0x1 +[ 1.250566] kernel: PM: Magic number: 12:709:109 +[ 1.255853] kernel: RAS: Correctable Errors collector initialized. +[ 1.255939] kernel: clk: Disabling unused clocks +[ 1.263480] kernel: Freeing unused decrypted memory: 2036K +[ 1.264110] kernel: Freeing unused kernel image (initmem) memory: 4816K +[ 1.283317] kernel: Write protecting the kernel read-only data: 34816k +[ 1.284111] kernel: Freeing unused kernel image (rodata/data gap) memory: 1144K +[ 1.293223] kernel: x86/mm: Checked W+X mappings: passed, no W+X pages found. +[ 1.293226] kernel: Run /init as init process +[ 1.293227] kernel: with arguments: +[ 1.293227] kernel: /init +[ 1.293228] kernel: splash +[ 1.293228] kernel: with environment: +[ 1.293229] kernel: HOME=/ +[ 1.293229] kernel: TERM=linux +[ 1.293229] kernel: BOOT_IMAGE=/vmlinuz-6.5.0-35-generic +[ 1.333617] kernel: hid: raw HID events driver (C) Jiri Kosina +[ 1.335872] kernel: xhci_hcd 0000:00:0d.0: xHCI Host Controller +[ 1.335880] kernel: xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 1 +[ 1.336931] kernel: xhci_hcd 0000:00:0d.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000000200009810 +[ 1.337127] kernel: xhci_hcd 0000:00:0d.0: xHCI Host Controller +[ 1.337129] kernel: xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 2 +[ 1.337131] kernel: xhci_hcd 0000:00:0d.0: Host supports USB 3.2 Enhanced SuperSpeed +[ 1.337159] kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.05 +[ 1.337161] kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.337161] kernel: usb usb1: Product: xHCI Host Controller +[ 1.337162] kernel: usb usb1: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.337163] kernel: usb usb1: SerialNumber: 0000:00:0d.0 +[ 1.337253] kernel: hub 1-0:1.0: USB hub found +[ 1.337261] kernel: hub 1-0:1.0: 1 port detected +[ 1.337477] kernel: sdhci: Secure Digital Host Controller Interface driver +[ 1.337479] kernel: sdhci: Copyright(c) Pierre Ossman +[ 1.337699] kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.05 +[ 1.337703] kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.337705] kernel: usb usb2: Product: xHCI Host Controller +[ 1.337707] kernel: usb usb2: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.337708] kernel: usb usb2: SerialNumber: 0000:00:0d.0 +[ 1.338041] kernel: hub 2-0:1.0: USB hub found +[ 1.338052] kernel: hub 2-0:1.0: 1 port detected +[ 1.338094] kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is set +[ 1.338138] kernel: i801_smbus 0000:00:1f.4: SMBus using PCI interrupt +[ 1.338589] kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller +[ 1.338598] kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 3 +[ 1.338632] kernel: i2c i2c-0: 2/2 memory slots populated (from DMI) +[ 1.339064] kernel: i2c i2c-0: Successfully instantiated SPD at 0x50 +[ 1.339421] kernel: idma64 idma64.0: Found Intel integrated DMA 64-bit +[ 1.339700] kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000100200009810 +[ 1.339984] kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller +[ 1.339988] kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4 +[ 1.339990] kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed +[ 1.340029] kernel: usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.05 +[ 1.340032] kernel: usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.340033] kernel: usb usb3: Product: xHCI Host Controller +[ 1.340034] kernel: usb usb3: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.340035] kernel: usb usb3: SerialNumber: 0000:00:14.0 +[ 1.340177] kernel: hub 3-0:1.0: USB hub found +[ 1.340198] kernel: hub 3-0:1.0: 12 ports detected +[ 1.340572] kernel: usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.05 +[ 1.340574] kernel: usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.340576] kernel: usb usb4: Product: xHCI Host Controller +[ 1.340577] kernel: usb usb4: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.340578] kernel: usb usb4: SerialNumber: 0000:00:14.0 +[ 1.340660] kernel: hub 4-0:1.0: USB hub found +[ 1.340678] kernel: hub 4-0:1.0: 4 ports detected +[ 1.340755] kernel: usb: port power management may be unreliable +[ 1.341605] kernel: idma64 idma64.1: Found Intel integrated DMA 64-bit +[ 1.349109] kernel: ACPI: bus type thunderbolt registered +[ 1.356688] kernel: r8169 0000:2e:00.0 eth0: RTL8168h/8111h, d4:93:90:24:37:9a, XID 541, IRQ 145 +[ 1.356691] kernel: r8169 0000:2e:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko] +[ 1.359799] kernel: cryptd: max_cpu_qlen set to 1000 +[ 1.360071] kernel: nvme nvme0: pci function 0000:01:00.0 +[ 1.360075] kernel: ACPI: bus type drm_connector registered +[ 1.361102] kernel: pcieport 0000:00:06.0: can't derive routing for PCI INT A +[ 1.361105] kernel: nvme 0000:01:00.0: PCI INT A: no GSI - using ISA IRQ 11 +[ 1.402667] kernel: nvme nvme0: 16/0/0 default/read/poll queues +[ 1.408078] kernel: nvme0n1: p1 p2 p3 +[ 1.426883] kernel: sdhci-pci 0000:2d:00.0: SDHCI controller found [1217:8621] (rev 1) +[ 1.428020] kernel: mmc0: SDHCI controller on PCI [0000:2d:00.0] using ADMA +[ 1.428797] kernel: input: ELAN0412:00 04F3:3240 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input6 +[ 1.428940] kernel: input: ELAN0412:00 04F3:3240 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input8 +[ 1.429051] kernel: hid-generic 0018:04F3:3240.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0412:00 04F3:3240] on i2c-ELAN0412:00 +[ 1.433169] kernel: AVX2 version of gcm_enc/dec engaged. +[ 1.433209] kernel: AES CTR mode by8 optimization enabled +[ 1.463382] kernel: r8169 0000:2e:00.0 enp46s0: renamed from eth0 +[ 1.607322] kernel: usb 3-1: new full-speed USB device number 2 using xhci_hcd +[ 1.678787] kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access +[ 1.678848] kernel: Console: switching to colour dummy device 80x25 +[ 1.678876] kernel: i915 0000:00:02.0: vgaarb: deactivate vga console +[ 1.678910] kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages +[ 1.731949] kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem +[ 1.735747] kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20) +[ 1.747661] kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 70.5.1 +[ 1.747665] kernel: i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3 +[ 1.762698] kernel: i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads +[ 1.763074] kernel: usb 3-1: New USB device found, idVendor=046d, idProduct=c52f, bcdDevice=30.00 +[ 1.763093] kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 +[ 1.763096] kernel: usb 3-1: Product: USB Receiver +[ 1.763098] kernel: usb 3-1: Manufacturer: Logitech +[ 1.763539] kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled +[ 1.763544] kernel: i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled +[ 1.764142] kernel: i915 0000:00:02.0: [drm] GT0: GUC: RC enabled +[ 1.765164] kernel: i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized +[ 1.891330] kernel: usb 3-7: new high-speed USB device number 3 using xhci_hcd +[ 2.055982] kernel: usb 3-7: New USB device found, idVendor=5986, idProduct=9102, bcdDevice= 6.01 +[ 2.055993] kernel: usb 3-7: New USB device strings: Mfr=2, Product=1, SerialNumber=0 +[ 2.055996] kernel: usb 3-7: Product: BisonCam,NB Pro +[ 2.055999] kernel: usb 3-7: Manufacturer: Sonix Technology Co., Ltd. +[ 2.183338] kernel: usb 3-10: new full-speed USB device number 4 using xhci_hcd +[ 2.333968] kernel: usb 3-10: New USB device found, idVendor=8087, idProduct=0026, bcdDevice= 0.02 +[ 2.333978] kernel: usb 3-10: New USB device strings: Mfr=0, Product=0, SerialNumber=0 +[ 2.342146] kernel: input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:046D:C52F.0002/input/input10 +[ 2.342290] kernel: hid-generic 0003:046D:C52F.0002: input,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-1/input0 +[ 2.343481] kernel: input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/input/input11 +[ 2.404036] kernel: hid-generic 0003:046D:C52F.0003: input,hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input1 +[ 2.404122] kernel: usbcore: registered new interface driver usbhid +[ 2.404125] kernel: usbhid: USB HID core driver +[ 2.452140] kernel: logitech-djreceiver 0003:046D:C52F.0002: hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-1/input0 +[ 2.548714] kernel: logitech-djreceiver 0003:046D:C52F.0003: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input1 +[ 2.609154] kernel: logitech-djreceiver 0003:046D:C52F.0003: device of type eQUAD step 4 DJ (0x04) connected on slot 1 +[ 2.609879] kernel: input: Logitech Wireless Mouse PID:4080 Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/0003:046D:4080.0004/input/input14 +[ 2.610365] kernel: input: Logitech Wireless Mouse PID:4080 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/0003:046D:4080.0004/input/input15 +[ 2.610483] kernel: hid-generic 0003:046D:4080.0004: input,hidraw3: USB HID v1.11 Mouse [Logitech Wireless Mouse PID:4080] on usb-0000:00:14.0-1/input1:1 +[ 2.713588] kernel: input: Logitech M350 as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/0003:046D:4080.0004/input/input19 +[ 2.714035] kernel: logitech-hidpp-device 0003:046D:4080.0004: input,hidraw3: USB HID v1.11 Mouse [Logitech M350] on usb-0000:00:14.0-1/input1:1 +[ 3.453282] kernel: i915 0000:00:02.0: [drm] Skipping intel_backlight registration +[ 3.454464] kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0 +[ 3.454768] kernel: ACPI: video: Video Device [GFX0] (multi-head: yes rom: no post: no) +[ 3.454884] kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input20 +[ 3.484075] kernel: acpi device:03: registered as cooling_device16 +[ 3.486087] kernel: fbcon: i915drmfb (fb0) is primary device +[ 3.500845] kernel: Console: switching to colour frame buffer device 240x67 +[ 3.520078] kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device +[ 11.808288] kernel: EXT4-fs (dm-1): mounted filesystem 577da86c-d59d-4e17-97d8-bf7e6b1a5cf1 ro with ordered data mode. Quota mode: none. +[ 11.905769] systemd[1]: Inserted module 'autofs4' +[ 11.915985] systemd[1]: systemd 249.11-0ubuntu3.12 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified) +[ 11.916040] systemd[1]: Detected architecture x86-64. +[ 11.916630] systemd[1]: Hostname set to . +[ 11.959394] kernel: systemd[1]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set +[ 12.139594] systemd[1]: Queued start job for default target Graphical Interface. +[ 12.185937] systemd[1]: Created slice Slice /system/modprobe. +[ 12.186668] systemd[1]: Created slice Slice /system/postgresql. +[ 12.187137] systemd[1]: Created slice Cryptsetup Units Slice. +[ 12.187595] systemd[1]: Created slice Slice /system/systemd-fsck. +[ 12.187905] systemd[1]: Created slice User and Session Slice. +[ 12.188004] systemd[1]: Started Forward Password Requests to Wall Directory Watch. +[ 12.188228] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. +[ 12.188328] systemd[1]: Reached target User and Group Name Lookups. +[ 12.188345] systemd[1]: Reached target Remote File Systems. +[ 12.188358] systemd[1]: Reached target Slice Units. +[ 12.188382] systemd[1]: Reached target Mounting snaps. +[ 12.188414] systemd[1]: Reached target Local Verity Protected Volumes. +[ 12.188494] systemd[1]: Listening on Device-mapper event daemon FIFOs. +[ 12.188617] systemd[1]: Listening on LVM2 poll daemon socket. +[ 12.189157] systemd[1]: Listening on Syslog Socket. +[ 12.189236] systemd[1]: Listening on fsck to fsckd communication Socket. +[ 12.189278] systemd[1]: Listening on initctl Compatibility Named Pipe. +[ 12.189442] systemd[1]: Listening on Journal Audit Socket. +[ 12.189507] systemd[1]: Listening on Journal Socket (/dev/log). +[ 12.189590] systemd[1]: Listening on Journal Socket. +[ 12.189695] systemd[1]: Listening on udev Control Socket. +[ 12.189770] systemd[1]: Listening on udev Kernel Socket. +[ 12.190596] systemd[1]: Mounting Huge Pages File System... +[ 12.191363] systemd[1]: Mounting POSIX Message Queue File System... +[ 12.192128] systemd[1]: Mounting Kernel Debug File System... +[ 12.192918] systemd[1]: Mounting Kernel Trace File System... +[ 12.194439] systemd[1]: Starting Journal Service... +[ 12.194531] systemd[1]: Finished Availability of block devices. +[ 12.195116] systemd[1]: Starting Set the console keyboard layout... +[ 12.195688] systemd[1]: Starting Create List of Static Device Nodes... +[ 12.196253] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling... +[ 12.196811] systemd[1]: Starting Load Kernel Module configfs... +[ 12.197671] systemd[1]: Starting Load Kernel Module drm... +[ 12.198342] systemd[1]: Starting Load Kernel Module efi_pstore... +[ 12.198935] systemd[1]: Starting Load Kernel Module fuse... +[ 12.199829] systemd[1]: Started Nameserver information manager. +[ 12.200016] systemd[1]: Condition check resulted in File System Check on Root Device being skipped. +[ 12.200987] systemd[1]: Starting Load Kernel Modules... +[ 12.201512] kernel: pstore: Using crash dump compression: deflate +[ 12.201670] systemd[1]: Starting Remount Root and Kernel File Systems... +[ 12.201792] kernel: pstore: Registered efi_pstore as persistent store backend +[ 12.202542] systemd[1]: Starting Coldplug All udev Devices... +[ 12.203777] systemd[1]: Mounted Huge Pages File System. +[ 12.203889] systemd[1]: Mounted POSIX Message Queue File System. +[ 12.203980] systemd[1]: Mounted Kernel Debug File System. +[ 12.204066] systemd[1]: Mounted Kernel Trace File System. +[ 12.204384] systemd[1]: Finished Create List of Static Device Nodes. +[ 12.204616] systemd[1]: modprobe@configfs.service: Deactivated successfully. +[ 12.204820] systemd[1]: Finished Load Kernel Module configfs. +[ 12.204971] systemd[1]: modprobe@drm.service: Deactivated successfully. +[ 12.205089] systemd[1]: Finished Load Kernel Module drm. +[ 12.205189] systemd[1]: modprobe@efi_pstore.service: Deactivated successfully. +[ 12.205297] systemd[1]: Finished Load Kernel Module efi_pstore. +[ 12.205399] systemd[1]: modprobe@fuse.service: Deactivated successfully. +[ 12.205513] systemd[1]: Finished Load Kernel Module fuse. +[ 12.206258] systemd[1]: Mounting FUSE Control File System... +[ 12.206773] systemd[1]: Mounting Kernel Configuration File System... +[ 12.207629] systemd[1]: Mounted FUSE Control File System. +[ 12.208102] systemd[1]: Mounted Kernel Configuration File System. +[ 12.209356] kernel: lp: driver loaded but no devices found +[ 12.211629] kernel: ppdev: user-space parallel port driver +[ 12.220884] systemd[1]: Finished Load Kernel Modules. +[ 12.221007] systemd[1]: Started Journal Service. +[ 12.273299] kernel: EXT4-fs (dm-1): re-mounted 577da86c-d59d-4e17-97d8-bf7e6b1a5cf1 r/w. Quota mode: none. +[ 12.294867] kernel: loop0: detected capacity change from 0 to 8 +[ 12.295133] kernel: loop1: detected capacity change from 0 to 20128 +[ 12.295740] kernel: loop2: detected capacity change from 0 to 20656 +[ 12.296642] kernel: loop3: detected capacity change from 0 to 215872 +[ 12.297160] kernel: loop4: detected capacity change from 0 to 212976 +[ 12.298118] kernel: loop5: detected capacity change from 0 to 113992 +[ 12.298768] kernel: loop6: detected capacity change from 0 to 113992 +[ 12.299452] kernel: loop7: detected capacity change from 0 to 130960 +[ 12.300146] kernel: loop8: detected capacity change from 0 to 130960 +[ 12.300839] kernel: loop9: detected capacity change from 0 to 151992 +[ 12.301509] kernel: loop10: detected capacity change from 0 to 152040 +[ 12.302242] kernel: loop11: detected capacity change from 0 to 135488 +[ 12.302812] kernel: loop12: detected capacity change from 0 to 135520 +[ 12.303866] kernel: loop13: detected capacity change from 0 to 87144 +[ 12.304366] kernel: loop14: detected capacity change from 0 to 87144 +[ 12.305233] kernel: loop15: detected capacity change from 0 to 716168 +[ 12.306059] kernel: loop16: detected capacity change from 0 to 716176 +[ 12.307181] kernel: loop17: detected capacity change from 0 to 1017816 +[ 12.308209] kernel: loop18: detected capacity change from 0 to 1034424 +[ 12.309116] kernel: loop19: detected capacity change from 0 to 187776 +[ 12.310118] kernel: loop20: detected capacity change from 0 to 36288 +[ 12.310935] kernel: loop21: detected capacity change from 0 to 36288 +[ 12.311668] kernel: loop22: detected capacity change from 0 to 26472 +[ 12.312773] kernel: loop23: detected capacity change from 0 to 25240 +[ 12.313268] kernel: loop24: detected capacity change from 0 to 79328 +[ 12.313850] kernel: loop25: detected capacity change from 0 to 79520 +[ 12.314889] kernel: loop26: detected capacity change from 0 to 952 +[ 12.315818] kernel: loop27: detected capacity change from 0 to 904 +[ 12.317039] kernel: loop28: detected capacity change from 0 to 52280 +[ 12.317616] kernel: loop29: detected capacity change from 0 to 52280 +[ 12.359827] kernel: input: Intel HID events as /devices/platform/INT33D5:00/input/input21 +[ 12.360013] kernel: intel-hid INT33D5:00: failed to enable HID power button +[ 12.367264] kernel: EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (INTERRUPT) +[ 12.367355] kernel: EDAC MC1: Giving out device to module igen6_edac controller Intel_client_SoC MC#1: DEV 0000:00:00.0 (INTERRUPT) +[ 12.367376] kernel: EDAC igen6 MC1: HANDLING IBECC MEMORY ERROR +[ 12.367377] kernel: EDAC igen6 MC1: ADDR 0x7fffffffe0 +[ 12.367378] kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR +[ 12.367379] kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0 +[ 12.367428] kernel: EDAC igen6: v2.5.1 +[ 12.368112] kernel: input: System76 ACPI Hotkeys as /devices/LNXSYSTM:00/LNXSYBUS:00/17761776:00/input/input22 +[ 12.368276] kernel: ACPI: battery: new extension: System76 Battery Extension +[ 12.376267] kernel: ee1004 0-0050: 512 byte EE1004-compliant SPD EEPROM, read-only +[ 12.383289] kernel: mc: Linux media interface: v0.10 +[ 12.384402] kernel: spi-nor spi0.0: gd25q256 (32768 Kbytes) +[ 12.462717] kernel: Adding 1998844k swap on /dev/mapper/vgubuntu-swap_1. Priority:-2 extents:1 across:1998844k SSFS +[ 12.480400] kernel: Bluetooth: Core ver 2.22 +[ 12.480424] kernel: NET: Registered PF_BLUETOOTH protocol family +[ 12.480425] kernel: Bluetooth: HCI device and connection manager initialized +[ 12.480430] kernel: Bluetooth: HCI socket layer initialized +[ 12.480431] kernel: Bluetooth: L2CAP socket layer initialized +[ 12.480434] kernel: Bluetooth: SCO socket layer initialized +[ 12.481064] kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database +[ 12.481713] kernel: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' +[ 12.482096] kernel: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' +[ 12.482787] kernel: Creating 1 MTD partitions on "0000:00:1f.5": +[ 12.482794] kernel: 0x000000000000-0x000002000000 : "BIOS" +[ 12.489609] kernel: mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915]) +[ 12.490609] kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915]) +[ 12.491613] kernel: RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer +[ 12.491618] kernel: RAPL PMU: hw unit of domain pp0-core 2^-14 Joules +[ 12.491620] kernel: RAPL PMU: hw unit of domain package 2^-14 Joules +[ 12.491622] kernel: RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules +[ 12.491623] kernel: RAPL PMU: hw unit of domain psys 2^-14 Joules +[ 12.500260] kernel: videodev: Linux video capture interface: v2.00 +[ 12.501301] kernel: Intel(R) Wireless WiFi driver for Linux +[ 12.503851] kernel: iwlwifi 0000:00:14.3: Detected crf-id 0x1300504, cnv-id 0x80400 wfpm id 0x80000030 +[ 12.503895] kernel: iwlwifi 0000:00:14.3: PCI dev 51f0/0074, rev=0x370, rfid=0x10a100 +[ 12.507158] kernel: iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver +[ 12.507181] kernel: iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.41 +[ 12.507537] kernel: iwlwifi 0000:00:14.3: loaded firmware version 83.e8f84e98.0 so-a0-hr-b0-83.ucode op_mode iwlmvm +[ 12.509304] kernel: usb 3-7: Found UVC 1.00 device BisonCam,NB Pro (5986:9102) +[ 12.516280] kernel: usbcore: registered new interface driver uvcvideo +[ 12.523245] kernel: EXT4-fs (nvme0n1p2): mounted filesystem 6fa3e9cc-de78-44d1-854a-74f1e13463cd r/w with ordered data mode. Quota mode: none. +[ 12.590821] kernel: iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x370 +[ 12.590881] kernel: thermal thermal_zone0: failed to read out thermal zone (-61) +[ 12.593133] kernel: audit: type=1400 audit(1717387591.943:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-xpdfimport" pid=1033 comm="apparmor_parser" +[ 12.593163] kernel: audit: type=1400 audit(1717387591.943:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-senddoc" pid=1031 comm="apparmor_parser" +[ 12.593446] kernel: audit: type=1400 audit(1717387591.943:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-oosplash" pid=1030 comm="apparmor_parser" +[ 12.593560] kernel: audit: type=1400 audit(1717387591.943:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lsb_release" pid=1021 comm="apparmor_parser" +[ 12.593671] kernel: audit: type=1400 audit(1717387591.943:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1022 comm="apparmor_parser" +[ 12.593674] kernel: audit: type=1400 audit(1717387591.943:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1022 comm="apparmor_parser" +[ 12.593873] kernel: audit: type=1400 audit(1717387591.943:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=1028 comm="apparmor_parser" +[ 12.593874] kernel: audit: type=1400 audit(1717387591.943:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=1028 comm="apparmor_parser" +[ 12.593879] kernel: audit: type=1400 audit(1717387591.943:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=1028 comm="apparmor_parser" +[ 12.594167] kernel: audit: type=1400 audit(1717387591.943:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/cups-browsed" pid=1035 comm="apparmor_parser" +[ 12.600421] kernel: iwlwifi 0000:00:14.3: WRT: Invalid buffer destination +[ 12.603534] kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) +[ 12.610241] kernel: input: ELAN0412:00 04F3:3240 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input23 +[ 12.610366] kernel: input: ELAN0412:00 04F3:3240 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input25 +[ 12.610484] kernel: hid-multitouch 0018:04F3:3240.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0412:00 04F3:3240] on i2c-ELAN0412:00 +[ 12.611518] kernel: usbcore: registered new interface driver btusb +[ 12.613072] kernel: Bluetooth: hci0: Device revision is 2 +[ 12.613076] kernel: Bluetooth: hci0: Secure boot is enabled +[ 12.613077] kernel: Bluetooth: hci0: OTP lock is enabled +[ 12.613077] kernel: Bluetooth: hci0: API lock is enabled +[ 12.613078] kernel: Bluetooth: hci0: Debug lock is disabled +[ 12.613079] kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014 +[ 12.613080] kernel: Bluetooth: hci0: Bootloader timestamp 2019.40 buildtype 1 build 38 +[ 12.613690] kernel: intel_tcc_cooling: Programmable TCC Offset detected +[ 12.615235] kernel: Bluetooth: hci0: Found device firmware: intel/ibt-0040-4150.sfi +[ 12.615250] kernel: Bluetooth: hci0: Boot Address: 0x100800 +[ 12.615252] kernel: Bluetooth: hci0: Firmware Version: 107-51.22 +[ 12.624717] kernel: intel_rapl_msr: PL4 support detected. +[ 12.624748] kernel: intel_rapl_common: Found RAPL domain package +[ 12.624751] kernel: intel_rapl_common: Found RAPL domain core +[ 12.624753] kernel: intel_rapl_common: Found RAPL domain uncore +[ 12.624755] kernel: intel_rapl_common: Found RAPL domain psys +[ 12.643023] kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker +[ 12.643030] kernel: snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) +[ 12.643033] kernel: snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0) +[ 12.643035] kernel: snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 +[ 12.643036] kernel: snd_hda_codec_realtek hdaudioC0D0: inputs: +[ 12.643038] kernel: snd_hda_codec_realtek hdaudioC0D0: Headset Mic=0x19 +[ 12.643040] kernel: snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12 +[ 12.704858] kernel: iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20 +[ 12.704905] kernel: iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f +[ 12.704913] kernel: iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90 +[ 12.704922] kernel: iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10 +[ 12.704976] kernel: iwlwifi 0000:00:14.3: Detected RF HR B5, rfid=0x10a100 +[ 12.706326] kernel: iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4 +[ 12.708984] kernel: input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26 +[ 12.709018] kernel: input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27 +[ 12.709047] kernel: input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28 +[ 12.709068] kernel: input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29 +[ 12.709088] kernel: input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input30 +[ 12.772298] kernel: iwlwifi 0000:00:14.3: base HW address: 74:04:f1:a1:0a:4a +[ 12.831366] kernel: iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0 +[ 12.861124] kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3 +[ 12.861129] kernel: Bluetooth: BNEP filters: protocol multicast +[ 12.861134] kernel: Bluetooth: BNEP socket layer initialized +[ 13.011197] kernel: Generic FE-GE Realtek PHY r8169-0-2e00:00: attached PHY driver (mii_bus:phy_addr=r8169-0-2e00:00, irq=MAC) +[ 13.215418] kernel: r8169 0000:2e:00.0 enp46s0: Link is Down +[ 13.226533] kernel: iwlwifi 0000:00:14.3: WRT: Invalid buffer destination +[ 13.326153] kernel: iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20 +[ 13.326200] kernel: iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f +[ 13.326209] kernel: iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90 +[ 13.326219] kernel: iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10 +[ 13.327607] kernel: iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4 +[ 13.337602] kernel: iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4 +[ 13.396950] kernel: iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 0 +[ 14.034442] kernel: Bluetooth: hci0: Waiting for firmware download to complete +[ 14.035040] kernel: Bluetooth: hci0: Firmware loaded in 1386523 usecs +[ 14.035109] kernel: Bluetooth: hci0: Waiting for device to boot +[ 14.051043] kernel: Bluetooth: hci0: Device booted in 15582 usecs +[ 14.051051] kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02 +[ 14.051432] kernel: Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0040-4150.ddc +[ 14.053050] kernel: Bluetooth: hci0: Applying Intel DDC parameters completed +[ 14.056074] kernel: Bluetooth: hci0: Firmware timestamp 2022.51 buildtype 1 build 56683 +[ 14.125123] kernel: Bluetooth: MGMT ver 1.22 +[ 14.128387] kernel: NET: Registered PF_ALG protocol family +[ 14.172143] kernel: Bluetooth: hci0: Bad flag given (0x1) vs supported (0x0) +[ 14.306291] kernel: loop30: detected capacity change from 0 to 8 +[ 14.458996] kernel: rfkill: input handler disabled +[ 17.290646] kernel: wlp0s20f3: authenticate with 10:0c:6b:ac:e2:02 +[ 17.296108] kernel: wlp0s20f3: send auth to 10:0c:6b:ac:e2:02 (try 1/3) +[ 17.322727] kernel: wlp0s20f3: authenticated +[ 17.323185] kernel: wlp0s20f3: associate with 10:0c:6b:ac:e2:02 (try 1/3) +[ 17.326012] kernel: wlp0s20f3: RX AssocResp from 10:0c:6b:ac:e2:02 (capab=0x1411 status=0 aid=3) +[ 17.333358] kernel: wlp0s20f3: associated +[ 17.333395] kernel: wlp0s20f3: Limiting TX power to 30 (30 - 0) dBm as advertised by 10:0c:6b:ac:e2:02 +[ 17.343690] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.343991] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344257] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344471] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344744] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344977] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.345276] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.345481] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 diff --git a/t/pt-summary/samples/Linux/008/dmidecode b/t/pt-summary/samples/Linux/008/dmidecode new file mode 100644 index 000000000..3136ea5be --- /dev/null +++ b/t/pt-summary/samples/Linux/008/dmidecode @@ -0,0 +1,2 @@ +# dmidecode 3.3 +Scanning /dev/mem for entry point. diff --git a/t/pt-summary/samples/Linux/008/ip b/t/pt-summary/samples/Linux/008/ip new file mode 100644 index 000000000..899eb5bd0 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/ip @@ -0,0 +1,60 @@ +1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + RX: bytes packets errors dropped missed mcast + 115989449047 172919620 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 115989449047 172919620 0 0 0 0 +2: enp46s0: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 + link/ether d4:93:90:24:37:9a brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 0 0 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 0 0 0 0 0 0 +3: wlp0s20f3: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 + link/ether 74:04:f1:a1:0a:4a brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 139028693227 148731340 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 28590341931 76994965 0 0 0 0 +4: docker0: mtu 1500 qdisc noqueue state UP mode DEFAULT group default + link/ether 02:42:b8:3a:02:a2 brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 11877645833 11924304 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 31877741375 13996405 0 0 0 0 +5: br-a7c7f1777df1: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default + link/ether 02:42:50:6b:d9:e7 brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 0 0 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 0 0 0 0 0 0 +605: veth0655c9f@if604: mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default + link/ether fe:18:1e:af:9f:6b brd ff:ff:ff:ff:ff:ff link-netnsid 0 + RX: bytes packets errors dropped missed mcast + 1165853970 1043143 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 2529991901 1272919 0 0 0 0 +607: vethd189986@if606: mtu 1500 qdisc noqueue master br-79118f7d5a92 state UP mode DEFAULT group default + link/ether 5e:65:38:50:f8:1a brd ff:ff:ff:ff:ff:ff link-netnsid 2 + RX: bytes packets errors dropped missed mcast + 52384734 264137 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 634211290 307449 0 0 0 0 +609: veth2655c84@if608: mtu 1500 qdisc noqueue master br-79118f7d5a92 state UP mode DEFAULT group default + link/ether be:d1:21:fd:d2:fb brd ff:ff:ff:ff:ff:ff link-netnsid 1 + RX: bytes packets errors dropped missed mcast + 545367170 259337 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 51744978 243675 0 0 0 0 +613: wg0: mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 + link/none + RX: bytes packets errors dropped missed mcast + 12587560 25727 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 4950996 25268 0 0 0 0 +358: br-79118f7d5a92: mtu 1500 qdisc noqueue state UP mode DEFAULT group default + link/ether 02:42:3c:6b:97:eb brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 16084288 236901 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 792726533 362130 0 0 0 0 diff --git a/t/pt-summary/samples/Linux/008/lspci_file b/t/pt-summary/samples/Linux/008/lspci_file new file mode 100644 index 000000000..9e9a8a65e --- /dev/null +++ b/t/pt-summary/samples/Linux/008/lspci_file @@ -0,0 +1,22 @@ +00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02) +00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) +00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02) +00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02) +00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01) +00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02) +00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02) +00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01) +00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01) +00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01) +00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01) +00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01) +00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01) +00:1d.0 PCI bridge: Intel Corporation Device 51b0 (rev 01) +00:1d.1 PCI bridge: Intel Corporation Device 51b1 (rev 01) +00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01) +00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01) +00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01) +00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01) +01:00.0 Non-Volatile memory controller: Sandisk Corp Device 5030 (rev 01) +2d:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01) +2e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15) diff --git a/t/pt-summary/samples/Linux/008/lvs.stderr b/t/pt-summary/samples/Linux/008/lvs.stderr new file mode 100644 index 000000000..9fc81f7e2 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/lvs.stderr @@ -0,0 +1,2 @@ + WARNING: Running as a non-root user. Functionality may be unavailable. + /run/lock/lvm/P_global:aux: open failed: Permission denied diff --git a/t/pt-summary/samples/Linux/008/memory b/t/pt-summary/samples/Linux/008/memory new file mode 100644 index 000000000..9edcb8ddb --- /dev/null +++ b/t/pt-summary/samples/Linux/008/memory @@ -0,0 +1,58 @@ + total used free shared buff/cache available +Mem: 67255779328 27568713728 1688006656 2944208896 37999058944 36280082432 +Swap: 2046816256 2034712576 12103680 +MemTotal: 65679472 kB +MemFree: 1648444 kB +MemAvailable: 35429768 kB +Buffers: 1634228 kB +Cached: 31564712 kB +SwapCached: 32792 kB +Active: 22046576 kB +Inactive: 34366156 kB +Active(anon): 18361800 kB +Inactive(anon): 7554796 kB +Active(file): 3684776 kB +Inactive(file): 26811360 kB +Unevictable: 1545296 kB +Mlocked: 28280 kB +SwapTotal: 1998844 kB +SwapFree: 11820 kB +Zswap: 0 kB +Zswapped: 0 kB +Dirty: 16372 kB +Writeback: 0 kB +AnonPages: 24615424 kB +Mapped: 2818096 kB +Shmem: 2875204 kB +KReclaimable: 3909516 kB +Slab: 4679996 kB +SReclaimable: 3909516 kB +SUnreclaim: 770480 kB +KernelStack: 88160 kB +PageTables: 452064 kB +SecPageTables: 0 kB +NFS_Unstable: 0 kB +Bounce: 0 kB +WritebackTmp: 0 kB +CommitLimit: 34838580 kB +Committed_AS: 76927980 kB +VmallocTotal: 34359738367 kB +VmallocUsed: 465528 kB +VmallocChunk: 0 kB +Percpu: 27776 kB +HardwareCorrupted: 0 kB +AnonHugePages: 219136 kB +ShmemHugePages: 1208320 kB +ShmemPmdMapped: 0 kB +FileHugePages: 0 kB +FilePmdMapped: 0 kB +Unaccepted: 0 kB +HugePages_Total: 0 +HugePages_Free: 0 +HugePages_Rsvd: 0 +HugePages_Surp: 0 +Hugepagesize: 2048 kB +Hugetlb: 0 kB +DirectMap4k: 821992 kB +DirectMap2M: 32573440 kB +DirectMap1G: 33554432 kB diff --git a/t/pt-summary/samples/Linux/008/mounted_fs b/t/pt-summary/samples/Linux/008/mounted_fs new file mode 100644 index 000000000..2ae4b2820 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/mounted_fs @@ -0,0 +1,25 @@ +/dev/fuse 250G 0 250G 0% /run/user/1000/keybase/kbfs on /run/user/1000/keybase/kbfs type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000) +/dev/mapper/vgubuntu-root 3,6T 1,5T 2,0T 43% / on / type ext4 (rw,relatime,errors=remount-ro) +/dev/nvme0n1p1 511M 291M 221M 57% /boot/efi on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) +/dev/nvme0n1p2 1,7G 305M 1,3G 20% /boot on /boot type ext4 (rw,relatime) +efivarfs 64K 27K 33K 45% /sys/firmware/efi/efivars on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) +tmpfs 32G 699M 31G 3% /dev/shm on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 32G 699M 31G 3% /dev/shm on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 32G 699M 31G 3% /dev/shm on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 32G 699M 31G 3% /dev/shm on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 32G 699M 31G 3% /dev/shm on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) diff --git a/t/pt-summary/samples/Linux/008/netstat b/t/pt-summary/samples/Linux/008/netstat new file mode 100644 index 000000000..74bd9b149 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/netstat @@ -0,0 +1,213 @@ +Active Internet connections (servers and established) +Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name +tcp 0 0 127.0.0.1:12519 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42841 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42002 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42003 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42000 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42001 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:40098 0.0.0.0:* LISTEN 3135169/kbfsfuse +tcp 0 0 127.0.0.1:37117 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 2837239/dropbox +tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:9123 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:8281 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:8383 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:9900 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6032 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:17603 0.0.0.0:* LISTEN 2837239/dropbox +tcp 0 0 127.0.0.1:17600 0.0.0.0:* LISTEN 2837239/dropbox +tcp 0 0 127.0.0.1:17553 0.0.0.0:* LISTEN 3135130/keybase +tcp 0 0 192.168.55.2:33644 89.253.240.17:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:40942 44.208.19.176:443 ESTABLISHED 2224410/firefox +tcp 0 1 192.168.55.2:44586 52.35.150.14:443 SYN_SENT 2224410/firefox +tcp 0 0 192.168.55.2:43180 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:50852 89.253.240.17:143 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:53066 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:44464 127.0.0.1:12345 ESTABLISHED 3060170/mysqld +tcp 0 0 127.0.0.1:57436 127.0.0.1:12347 ESTABLISHED 3036479/mysqld +tcp 0 0 192.168.55.2:50428 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:38864 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:60536 209.85.233.104:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:54002 18.205.222.128:443 ESTABLISHED - +tcp 0 0 127.0.0.1:33532 127.0.0.1:42002 ESTABLISHED - +tcp 0 0 192.168.55.2:59960 188.114.99.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:50432 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:44788 52.57.79.4:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 10.0.0.5:37084 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:38858 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:55814 3.68.61.181:443 ESTABLISHED 622088/Slack --stan +tcp 25 0 192.168.55.2:36048 170.114.52.66:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 127.0.0.1:51212 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 10.0.0.5:54900 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 127.0.0.1:60112 127.0.0.1:42003 ESTABLISHED - +tcp 0 0 127.0.0.1:46804 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:56798 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:36068 185.166.143.36:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:55146 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 10.0.0.5:37220 10.0.0.5:4647 ESTABLISHED - +tcp 0 58696 10.0.0.5:51578 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:53128 188.114.98.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:38856 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:54838 127.0.0.1:42003 ESTABLISHED - +tcp 0 0 127.0.0.1:45766 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:46698 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:45790 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 192.168.55.2:34472 142.251.1.138:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 192.168.55.2:53054 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:45774 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:54650 127.0.0.1:12345 ESTABLISHED 3060170/mysqld +tcp 0 0 127.0.0.1:56786 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:46696 140.82.113.26:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:36956 34.202.253.140:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:53480 173.194.221.94:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:45762 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:54598 127.0.0.1:42002 ESTABLISHED - +tcp 0 0 10.0.0.5:58674 213.180.204.148:443 ESTABLISHED 8568/yandex-disk +tcp 0 0 127.0.0.1:42003 127.0.0.1:54838 ESTABLISHED - +tcp 0 0 127.0.0.1:42000 127.0.0.1:52316 ESTABLISHED - +tcp 0 0 192.168.55.2:57628 108.157.214.118:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:58080 142.250.184.131:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:52316 127.0.0.1:42000 ESTABLISHED - +tcp 0 0 10.0.0.5:33806 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:40532 170.114.4.224:443 ESTABLISHED 2504953/zoom +tcp 0 0 10.0.0.5:60740 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 127.0.0.1:42790 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:55080 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:46828 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:57438 127.0.0.1:12347 ESTABLISHED 3036479/mysqld +tcp 0 0 127.0.0.1:55116 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:58618 127.0.0.1:42001 ESTABLISHED - +tcp 0 0 192.168.55.2:44004 108.157.214.53:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 172.17.0.1:38122 172.17.0.2:443 ESTABLISHED - +tcp 0 0 127.0.0.1:46682 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 172.17.0.1:33276 172.17.0.2:443 ESTABLISHED - +tcp 0 0 127.0.0.1:42001 127.0.0.1:58618 ESTABLISHED - +tcp 0 0 127.0.0.1:35434 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:43190 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:60080 54.159.113.253:443 ESTABLISHED 3135169/kbfsfuse +tcp 0 0 192.168.55.2:33476 52.193.110.50:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:42001 127.0.0.1:41588 ESTABLISHED - +tcp 0 0 172.17.0.1:38132 172.17.0.2:443 ESTABLISHED - +tcp 0 0 192.168.55.2:37404 162.125.69.13:443 ESTABLISHED 2837239/dropbox +tcp 25 0 192.168.55.2:57194 52.84.151.38:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 192.168.55.2:50414 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:55152 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 10.0.0.5:52942 213.180.204.148:443 ESTABLISHED 616951/yandex-disk +tcp 1 0 127.0.0.1:60442 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 0 192.168.55.2:36288 18.190.135.240:443 ESTABLISHED 2147311/chrome --ty +tcp 25 0 192.168.55.2:49858 170.114.52.2:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 192.168.55.2:50244 172.64.152.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 10.0.0.5:38802 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 13 0 10.0.0.5:34986 10.0.0.1:139 CLOSE_WAIT 37531/gvfsd-smb-bro +tcp 0 0 127.0.0.1:46704 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:53080 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 192.168.55.2:58942 3.124.19.111:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 192.168.55.2:53948 74.125.205.188:5228 ESTABLISHED 2147311/chrome --ty +tcp 0 0 127.0.0.1:37416 127.0.0.1:12347 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:47012 52.73.62.51:443 ESTABLISHED - +tcp 0 0 127.0.0.1:45788 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:53074 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 192.168.55.2:36618 162.125.21.2:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:55440 3.68.61.181:443 ESTABLISHED 622088/Slack --stan +tcp 0 1 192.168.55.2:44600 52.35.150.14:443 SYN_SENT 2224410/firefox +tcp 0 0 127.0.0.1:41588 127.0.0.1:42001 ESTABLISHED - +tcp 0 0 127.0.0.1:42802 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:54652 127.0.0.1:12345 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:34910 64.233.162.188:5228 ESTABLISHED 2147311/chrome --ty +tcp 0 0 10.0.0.5:55240 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 10.0.0.5:36148 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 25 0 192.168.55.2:49844 170.114.52.2:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 127.0.0.1:34666 127.0.0.1:12346 ESTABLISHED 3035305/mysqld +tcp 0 0 127.0.0.1:57612 127.0.0.1:42001 ESTABLISHED - +tcp 0 1 192.168.55.2:45836 52.35.150.14:443 SYN_SENT 2224410/firefox +tcp 0 0 192.168.55.2:49218 38.111.114.11:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:53098 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:42003 127.0.0.1:60112 ESTABLISHED - +tcp 0 0 127.0.0.1:46818 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:53082 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:54826 127.0.0.1:42003 ESTABLISHED - +tcp 0 0 10.0.0.5:37224 10.0.0.5:4647 ESTABLISHED - +tcp 0 0 192.168.55.2:55324 54.158.119.218:443 ESTABLISHED 3135169/kbfsfuse +tcp 0 0 192.168.55.2:50438 206.247.115.239:5091 ESTABLISHED 2504953/zoom +tcp 0 0 127.0.0.1:55066 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:57734 188.114.98.233:443 TIME_WAIT - +tcp 0 0 127.0.0.1:56296 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:55130 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:51354 54.147.17.17:443 ESTABLISHED 3135130/keybase +tcp 0 0 192.168.55.2:50970 149.154.167.51:443 ESTABLISHED 1712863/Telegram +tcp 0 0 192.168.55.2:53104 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 192.168.55.2:46678 34.107.243.93:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:36028 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:46796 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:42002 127.0.0.1:33532 ESTABLISHED - +tcp 0 0 192.168.55.2:45184 162.125.69.12:443 ESTABLISHED 2837239/dropbox +tcp 1 0 127.0.0.1:59430 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 4778 10.0.0.5:40148 162.125.6.20:443 ESTABLISHED 2837239/dropbox +tcp 0 0 127.0.0.1:35428 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:42080 157.240.205.60:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 127.0.0.1:42002 127.0.0.1:54598 ESTABLISHED - +tcp 0 0 127.0.0.1:47960 127.0.0.1:42002 ESTABLISHED - +tcp 0 0 127.0.0.1:37430 127.0.0.1:12347 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:38774 77.223.96.250:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:42003 127.0.0.1:54826 ESTABLISHED - +tcp 0 0 127.0.0.1:42002 127.0.0.1:47960 ESTABLISHED - +tcp 1 0 127.0.0.1:59438 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 0 192.168.55.2:55414 3.68.61.181:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:58580 188.114.99.233:443 TIME_WAIT - +tcp 0 0 172.17.0.1:44894 172.17.0.2:443 ESTABLISHED - +tcp 0 0 192.168.55.2:55950 170.114.15.227:443 ESTABLISHED 2504953/zoom +tcp 1 0 127.0.0.1:57442 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 0 192.168.255.22:35056 213.180.204.148:443 ESTABLISHED 1932374/yandex-disk +tcp 0 0 127.0.0.1:51230 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:43440 194.85.125.1:443 ESTABLISHED 2224410/firefox +tcp 0 0 172.17.0.1:42368 172.17.0.2:443 ESTABLISHED - +tcp 0 0 127.0.0.1:42001 127.0.0.1:57612 ESTABLISHED - +tcp6 0 0 :::17500 :::* LISTEN 2837239/dropbox +tcp6 0 0 :::9123 :::* LISTEN - +tcp6 0 0 :::8281 :::* LISTEN - +tcp6 0 0 :::8383 :::* LISTEN - +tcp6 0 0 :::9900 :::* LISTEN - +tcp6 0 0 ::1:631 :::* LISTEN - +tcp6 0 0 :::12345 :::* LISTEN 3036479/mysqld +tcp6 0 0 :::12346 :::* LISTEN 3060170/mysqld +tcp6 0 0 :::12347 :::* LISTEN 3035305/mysqld +tcp6 0 0 :::3306 :::* LISTEN - +tcp6 0 0 :::22 :::* LISTEN - +tcp6 0 0 :::33060 :::* LISTEN - +tcp6 0 0 :::443 :::* LISTEN - +tcp6 0 0 :::1716 :::* LISTEN 7748/kdeconnectd +tcp6 0 0 :::8080 :::* LISTEN - +tcp6 0 0 :::4648 :::* LISTEN - +tcp6 0 0 :::4646 :::* LISTEN - +tcp6 0 0 :::4647 :::* LISTEN - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:57436 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:12345 127.0.0.1:44464 ESTABLISHED 3036479/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:36028 ESTABLISHED - +tcp6 0 0 10.0.0.5:4647 10.0.0.5:37224 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:45762 ESTABLISHED - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:37416 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:46828 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:45766 ESTABLISHED - +tcp6 0 0 10.0.0.5:4647 10.0.0.5:37220 ESTABLISHED - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:37430 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:12345 127.0.0.1:54652 ESTABLISHED 3036479/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:46682 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:56798 TIME_WAIT - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:46796 ESTABLISHED - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:57438 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:35434 TIME_WAIT - +tcp6 0 0 127.0.0.1:12346 127.0.0.1:34666 ESTABLISHED 3060170/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:46818 TIME_WAIT - +tcp6 0 0 127.0.0.1:12345 127.0.0.1:54650 ESTABLISHED 3036479/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:45790 ESTABLISHED - diff --git a/t/pt-summary/samples/Linux/008/notable_procs b/t/pt-summary/samples/Linux/008/notable_procs new file mode 100644 index 000000000..ced71a345 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/notable_procs @@ -0,0 +1,5 @@ + PID OOM COMMAND + ? ? sshd doesn't appear to be running +1499134 -17 multipathd +2849628 -17 nomad +3202899 -17 sshd diff --git a/t/pt-summary/samples/Linux/008/partitioning b/t/pt-summary/samples/Linux/008/partitioning new file mode 100644 index 000000000..f530bb49c --- /dev/null +++ b/t/pt-summary/samples/Linux/008/partitioning @@ -0,0 +1,12 @@ +Disk /dev/nvme0n1: 3,64 TiB, 4000787030016 bytes, 7814037168 sectors +Disk model: WD_BLACK SN850X 4000GB +Units: sectors of 1 * 512 = 512 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes +Disklabel type: gpt +Disk identifier: F57C2A9B-3E4B-49BA-BA83-3D206D23C1F6 + +Device Start End Sectors Size Type +/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System +/dev/nvme0n1p2 1050624 4550655 3500032 1,7G Linux filesystem +/dev/nvme0n1p3 4550656 7814035455 7809484800 3,6T Linux filesystem diff --git a/t/pt-summary/samples/Linux/008/proc_cpuinfo_copy b/t/pt-summary/samples/Linux/008/proc_cpuinfo_copy new file mode 100644 index 000000000..2caa2e89c --- /dev/null +++ b/t/pt-summary/samples/Linux/008/proc_cpuinfo_copy @@ -0,0 +1,448 @@ +processor : 0 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2672.558 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 0 +cpu cores : 12 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 1 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2780.294 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 0 +cpu cores : 12 +apicid : 1 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 2 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2800.000 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 4 +cpu cores : 12 +apicid : 8 +initial apicid : 8 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 3 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2800.000 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 4 +cpu cores : 12 +apicid : 9 +initial apicid : 9 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 4 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2800.000 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 8 +cpu cores : 12 +apicid : 16 +initial apicid : 16 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 5 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2900.000 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 8 +cpu cores : 12 +apicid : 17 +initial apicid : 17 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 6 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2800.000 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 12 +cpu cores : 12 +apicid : 24 +initial apicid : 24 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 7 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2800.007 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 12 +cpu cores : 12 +apicid : 25 +initial apicid : 25 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 8 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2300.017 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 16 +cpu cores : 12 +apicid : 32 +initial apicid : 32 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 9 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2299.975 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 17 +cpu cores : 12 +apicid : 34 +initial apicid : 34 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 10 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2300.091 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 18 +cpu cores : 12 +apicid : 36 +initial apicid : 36 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 11 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2299.998 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 19 +cpu cores : 12 +apicid : 38 +initial apicid : 38 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 12 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2299.997 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 20 +cpu cores : 12 +apicid : 40 +initial apicid : 40 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 13 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2300.012 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 21 +cpu cores : 12 +apicid : 42 +initial apicid : 42 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 14 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2299.894 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 22 +cpu cores : 12 +apicid : 44 +initial apicid : 44 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 15 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2300.011 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 23 +cpu cores : 12 +apicid : 46 +initial apicid : 46 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + diff --git a/t/pt-summary/samples/Linux/008/processes b/t/pt-summary/samples/Linux/008/processes new file mode 100644 index 000000000..c6cf393b2 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/processes @@ -0,0 +1,10 @@ + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND +2407273 sveta 20 0 64144 46012 13824 R 100,0 0,1 5061:20 perl +2410420 sveta 20 0 64140 46184 13952 R 100,0 0,1 5059:23 perl + 783789 sveta 20 0 2822620 506824 42752 S 94,1 0,8 5786:40 mysqld +2408748 sveta 20 0 64136 46068 14080 R 94,1 0,1 5060:24 perl +2419768 sveta 20 0 64140 46088 13952 R 94,1 0,1 5055:00 perl +2504338 root 20 0 3183396 578628 283160 S 94,1 0,9 47:38.67 s1-agent +2504336 root 20 0 289740 127780 25600 S 52,9 0,2 9:50.52 s1-scan+ + 7288 sveta 20 0 2688236 139560 46968 S 5,9 0,2 1028:47 Xorg + 622143 sveta 20 0 1132,2g 682008 88376 S 5,9 1,0 117:46.23 slack diff --git a/t/pt-summary/samples/Linux/008/summary b/t/pt-summary/samples/Linux/008/summary new file mode 100644 index 000000000..1043b456e --- /dev/null +++ b/t/pt-summary/samples/Linux/008/summary @@ -0,0 +1,23 @@ +platform Linux +hostname s76 +kernel 6.5.0-35-generic +release Ubuntu 22.04.4 LTS (jammy) +CPU_ARCH 64-bit +OS_ARCH 64-bit +virt No virtualization detected +vendor +rss 38597050368 +raid_controller No RAID controller detected +threading NPTL 2.35 +getenforce No SELinux detected +swappiness 60 +dirtypolicy 20, 10 +dirtystatus 0, 0 +numa-available +numa-policy +numa-preferred-node +internal::disks dm-0 dm-1 dm-2 nvme0n1 +internal::nvme0n1 [none] 1023 +dentry-state 3350735 3155181 45 0 2247869 0 +file-nr 35904 0 9223372036854775807 +inode-nr 1417972 554725 diff --git a/t/pt-summary/samples/Linux/008/sysctl b/t/pt-summary/samples/Linux/008/sysctl new file mode 100644 index 000000000..c190b1eac --- /dev/null +++ b/t/pt-summary/samples/Linux/008/sysctl @@ -0,0 +1,2010 @@ +abi.vsyscall32 = 1 +debug.exception-trace = 1 +debug.kprobes-optimization = 1 +dev.cdrom.autoclose = 1 +dev.cdrom.autoeject = 0 +dev.cdrom.check_media = 0 +dev.cdrom.debug = 0 +dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17 +dev.cdrom.info = +dev.cdrom.info = drive name: +dev.cdrom.info = drive speed: +dev.cdrom.info = drive # of slots: +dev.cdrom.info = Can close tray: +dev.cdrom.info = Can open tray: +dev.cdrom.info = Can lock tray: +dev.cdrom.info = Can change speed: +dev.cdrom.info = Can select disk: +dev.cdrom.info = Can read multisession: +dev.cdrom.info = Can read MCN: +dev.cdrom.info = Reports media changed: +dev.cdrom.info = Can play audio: +dev.cdrom.info = Can write CD-R: +dev.cdrom.info = Can write CD-RW: +dev.cdrom.info = Can read DVD: +dev.cdrom.info = Can write DVD-R: +dev.cdrom.info = Can write DVD-RAM: +dev.cdrom.info = Can read MRW: +dev.cdrom.info = Can write MRW: +dev.cdrom.info = Can write RAM: +dev.cdrom.info = +dev.cdrom.info = +dev.cdrom.lock = 0 +dev.hpet.max-user-freq = 64 +dev.i915.oa_max_sample_rate = 100000 +dev.i915.perf_stream_paranoid = 1 +dev.mac_hid.mouse_button2_keycode = 97 +dev.mac_hid.mouse_button3_keycode = 100 +dev.mac_hid.mouse_button_emulation = 0 +dev.parport.default.spintime = 500 +dev.parport.default.timeslice = 200 +dev.raid.speed_limit_max = 200000 +dev.raid.speed_limit_min = 1000 +dev.scsi.logging_level = 0 +dev.tty.ldisc_autoload = 1 +dev.tty.legacy_tiocsti = 1 +fs.aio-max-nr = 65536 +fs.aio-nr = 13745 +fs.binfmt_misc.python3/10 = enabled +fs.binfmt_misc.python3/10 = interpreter /usr/bin/python3.10 +fs.binfmt_misc.python3/10 = flags: +fs.binfmt_misc.python3/10 = offset 0 +fs.binfmt_misc.python3/10 = magic 6f0d0d0a +fs.binfmt_misc.status = enabled +fs.dentry-state = 3350716 3155161 45 0 2247870 0 +fs.dir-notify-enable = 1 +fs.epoll.max_user_watches = 14590731 +fs.fanotify.max_queued_events = 16384 +fs.fanotify.max_user_groups = 128 +fs.fanotify.max_user_marks = 530989 +fs.file-max = 9223372036854775807 +fs.file-nr = 35872 0 9223372036854775807 +fs.inode-nr = 1417952 554725 +fs.inode-state = 1417952 554725 0 0 0 0 0 +fs.inotify.max_queued_events = 16384 +fs.inotify.max_user_instances = 128 +fs.inotify.max_user_watches = 65536 +fs.lease-break-time = 45 +fs.leases-enable = 1 +fs.mount-max = 100000 +fs.mqueue.msg_default = 10 +fs.mqueue.msg_max = 10 +fs.mqueue.msgsize_default = 8192 +fs.mqueue.msgsize_max = 8192 +fs.mqueue.queues_max = 256 +fs.nr_open = 1048576 +fs.overflowgid = 65534 +fs.overflowuid = 65534 +fs.pipe-max-size = 1048576 +fs.pipe-user-pages-hard = 0 +fs.pipe-user-pages-soft = 16384 +fs.protected_fifos = 1 +fs.protected_hardlinks = 1 +fs.protected_regular = 2 +fs.protected_symlinks = 1 +fs.quota.allocated_dquots = 0 +fs.quota.cache_hits = 0 +fs.quota.drops = 0 +fs.quota.free_dquots = 0 +fs.quota.lookups = 0 +fs.quota.reads = 0 +fs.quota.syncs = 2592 +fs.quota.writes = 0 +fs.suid_dumpable = 2 +fs.verity.require_signatures = 0 +kernel.acct = 4 2 30 +kernel.acpi_video_flags = 0 +kernel.apparmor_restrict_unprivileged_unconfined = 0 +kernel.apparmor_restrict_unprivileged_userns = 0 +kernel.arch = x86_64 +kernel.auto_msgmni = 0 +kernel.bootloader_type = 6 +kernel.bootloader_version = 38 +kernel.bpf_stats_enabled = 0 +kernel.cap_last_cap = 40 +kernel.core_pattern = |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E +kernel.core_pipe_limit = 10 +kernel.core_uses_pid = 1 +kernel.ctrl-alt-del = 0 +kernel.dmesg_restrict = 1 +kernel.domainname = (none) +kernel.firmware_config.force_sysfs_fallback = 0 +kernel.firmware_config.ignore_sysfs_fallback = 0 +kernel.ftrace_dump_on_oops = 0 +kernel.ftrace_enabled = 1 +kernel.hardlockup_all_cpu_backtrace = 0 +kernel.hardlockup_panic = 0 +kernel.hostname = s76 +kernel.hotplug = +kernel.hung_task_all_cpu_backtrace = 0 +kernel.hung_task_check_count = 4194304 +kernel.hung_task_check_interval_secs = 0 +kernel.hung_task_panic = 0 +kernel.hung_task_timeout_secs = 120 +kernel.hung_task_warnings = 10 +kernel.io_delay_type = 1 +kernel.io_uring_disabled = 0 +kernel.io_uring_group = -1 +kernel.kexec_load_disabled = 0 +kernel.kexec_load_limit_panic = -1 +kernel.kexec_load_limit_reboot = -1 +kernel.keys.gc_delay = 300 +kernel.keys.maxbytes = 20000 +kernel.keys.maxkeys = 200 +kernel.keys.persistent_keyring_expiry = 259200 +kernel.keys.root_maxbytes = 25000000 +kernel.keys.root_maxkeys = 1000000 +kernel.kptr_restrict = 1 +kernel.max_lock_depth = 1024 +kernel.max_rcu_stall_to_panic = 0 +kernel.modprobe = /sbin/modprobe +kernel.modules_disabled = 0 +kernel.msg_next_id = -1 +kernel.msgmax = 8192 +kernel.msgmnb = 16384 +kernel.msgmni = 32000 +kernel.ngroups_max = 65536 +kernel.nmi_watchdog = 1 +kernel.ns_last_pid = 3367165 +kernel.numa_balancing = 0 +kernel.numa_balancing_promote_rate_limit_MBps = 65536 +kernel.oops_all_cpu_backtrace = 0 +kernel.oops_limit = 10000 +kernel.osrelease = 6.5.0-35-generic +kernel.ostype = Linux +kernel.overflowgid = 65534 +kernel.overflowuid = 65534 +kernel.panic = 0 +kernel.panic_on_io_nmi = 0 +kernel.panic_on_oops = 0 +kernel.panic_on_rcu_stall = 0 +kernel.panic_on_unrecovered_nmi = 0 +kernel.panic_on_warn = 0 +kernel.panic_print = 0 +kernel.perf_cpu_time_max_percent = 25 +kernel.perf_event_max_contexts_per_stack = 8 +kernel.perf_event_max_sample_rate = 26250 +kernel.perf_event_max_stack = 127 +kernel.perf_event_mlock_kb = 516 +kernel.perf_event_paranoid = 1 +kernel.pid_max = 4194304 +kernel.poweroff_cmd = /sbin/poweroff +kernel.print-fatal-signals = 0 +kernel.printk = 4 4 1 7 +kernel.printk_delay = 0 +kernel.printk_devkmsg = on +kernel.printk_ratelimit = 5 +kernel.printk_ratelimit_burst = 10 +kernel.pty.max = 4096 +kernel.pty.nr = 6 +kernel.pty.reserve = 1024 +kernel.random.boot_id = 31d4dc04-94fc-4b44-9ad0-60aa785f573d +kernel.random.entropy_avail = 256 +kernel.random.poolsize = 256 +kernel.random.urandom_min_reseed_secs = 60 +kernel.random.uuid = 3929c0a5-7495-462b-a1d3-3ed715eb0167 +kernel.random.write_wakeup_threshold = 256 +kernel.randomize_va_space = 2 +kernel.real-root-dev = 0 +kernel.sched_autogroup_enabled = 1 +kernel.sched_cfs_bandwidth_slice_us = 5000 +kernel.sched_child_runs_first = 0 +kernel.sched_deadline_period_max_us = 4194304 +kernel.sched_deadline_period_min_us = 100 +kernel.sched_energy_aware = 1 +kernel.sched_itmt_enabled = 1 +kernel.sched_rr_timeslice_ms = 100 +kernel.sched_rt_period_us = 1000000 +kernel.sched_rt_runtime_us = 950000 +kernel.sched_schedstats = 0 +kernel.sched_util_clamp_max = 1024 +kernel.sched_util_clamp_min = 1024 +kernel.sched_util_clamp_min_rt_default = 1024 +kernel.seccomp.actions_avail = kill_process kill_thread trap errno user_notif trace log allow +kernel.seccomp.actions_logged = kill_process kill_thread trap errno user_notif trace log +kernel.sem = 32000 1024000000 500 32000 +kernel.sem_next_id = -1 +kernel.shm_next_id = -1 +kernel.shm_rmid_forced = 0 +kernel.shmall = 18446744073692774399 +kernel.shmmax = 18446744073692774399 +kernel.shmmni = 4096 +kernel.soft_watchdog = 1 +kernel.softlockup_all_cpu_backtrace = 0 +kernel.softlockup_panic = 0 +kernel.split_lock_mitigate = 1 +kernel.stack_tracer_enabled = 0 +kernel.sysctl_writes_strict = 1 +kernel.sysrq = 176 +kernel.tainted = 512 +kernel.task_delayacct = 0 +kernel.threads-max = 512064 +kernel.timer_migration = 1 +kernel.traceoff_on_warning = 0 +kernel.tracepoint_printk = 0 +kernel.unknown_nmi_panic = 0 +kernel.unprivileged_bpf_disabled = 2 +kernel.unprivileged_userns_clone = 1 +kernel.user_events_max = 32768 +kernel.version = #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 +kernel.warn_limit = 0 +kernel.watchdog = 1 +kernel.watchdog_cpumask = 0-15 +kernel.watchdog_thresh = 10 +kernel.yama.ptrace_scope = 0 +net.bridge.bridge-nf-call-arptables = 1 +net.bridge.bridge-nf-call-ip6tables = 1 +net.bridge.bridge-nf-call-iptables = 1 +net.bridge.bridge-nf-filter-pppoe-tagged = 0 +net.bridge.bridge-nf-filter-vlan-tagged = 0 +net.bridge.bridge-nf-pass-vlan-input-dev = 0 +net.core.bpf_jit_enable = 1 +net.core.busy_poll = 0 +net.core.busy_read = 0 +net.core.default_qdisc = fq_codel +net.core.dev_weight = 64 +net.core.dev_weight_rx_bias = 1 +net.core.dev_weight_tx_bias = 1 +net.core.devconf_inherit_init_net = 0 +net.core.fb_tunnels_only_for_init_net = 0 +net.core.flow_limit_cpu_bitmap = 0000 +net.core.flow_limit_table_len = 4096 +net.core.gro_normal_batch = 8 +net.core.high_order_alloc_disable = 0 +net.core.max_skb_frags = 17 +net.core.message_burst = 10 +net.core.message_cost = 5 +net.core.netdev_budget = 300 +net.core.netdev_budget_usecs = 8000 +net.core.netdev_max_backlog = 1000 +net.core.netdev_rss_key = 68:87:a5:6d:f6:e8:62:a0:01:85:a6:1a:c2:fb:d3:e0:ca:d9:b7:ad:8f:ff:78:4c:ab:57:54:de:2a:9c:92:12:1e:96:c5:34:9a:97:95:aa:d9:b9:9a:86:49:cf:99:a0:54:07:50:97 +net.core.netdev_tstamp_prequeue = 1 +net.core.netdev_unregister_timeout_secs = 10 +net.core.optmem_max = 20480 +net.core.rmem_default = 212992 +net.core.rmem_max = 212992 +net.core.rps_default_mask = 0000 +net.core.rps_sock_flow_entries = 0 +net.core.skb_defer_max = 64 +net.core.somaxconn = 4096 +net.core.tstamp_allow_data = 1 +net.core.txrehash = 1 +net.core.warnings = 0 +net.core.wmem_default = 212992 +net.core.wmem_max = 212992 +net.core.xfrm_acq_expires = 30 +net.core.xfrm_aevent_etime = 10 +net.core.xfrm_aevent_rseqth = 2 +net.core.xfrm_larval_drop = 1 +net.ipv4.cipso_cache_bucket_size = 10 +net.ipv4.cipso_cache_enable = 1 +net.ipv4.cipso_rbm_optfmt = 0 +net.ipv4.cipso_rbm_strictvalid = 1 +net.ipv4.conf.all.accept_local = 0 +net.ipv4.conf.all.accept_redirects = 0 +net.ipv4.conf.all.accept_source_route = 0 +net.ipv4.conf.all.arp_accept = 0 +net.ipv4.conf.all.arp_announce = 0 +net.ipv4.conf.all.arp_evict_nocarrier = 1 +net.ipv4.conf.all.arp_filter = 0 +net.ipv4.conf.all.arp_ignore = 0 +net.ipv4.conf.all.arp_notify = 0 +net.ipv4.conf.all.bc_forwarding = 0 +net.ipv4.conf.all.bootp_relay = 0 +net.ipv4.conf.all.disable_policy = 0 +net.ipv4.conf.all.disable_xfrm = 0 +net.ipv4.conf.all.drop_gratuitous_arp = 0 +net.ipv4.conf.all.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.all.force_igmp_version = 0 +net.ipv4.conf.all.forwarding = 1 +net.ipv4.conf.all.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.all.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.all.ignore_routes_with_linkdown = 0 +net.ipv4.conf.all.log_martians = 0 +net.ipv4.conf.all.mc_forwarding = 0 +net.ipv4.conf.all.medium_id = 0 +net.ipv4.conf.all.promote_secondaries = 0 +net.ipv4.conf.all.proxy_arp = 0 +net.ipv4.conf.all.proxy_arp_pvlan = 0 +net.ipv4.conf.all.route_localnet = 0 +net.ipv4.conf.all.rp_filter = 2 +net.ipv4.conf.all.secure_redirects = 1 +net.ipv4.conf.all.send_redirects = 0 +net.ipv4.conf.all.shared_media = 1 +net.ipv4.conf.all.src_valid_mark = 1 +net.ipv4.conf.all.tag = 0 +net.ipv4.conf.br-79118f7d5a92.accept_local = 0 +net.ipv4.conf.br-79118f7d5a92.accept_redirects = 1 +net.ipv4.conf.br-79118f7d5a92.accept_source_route = 0 +net.ipv4.conf.br-79118f7d5a92.arp_accept = 0 +net.ipv4.conf.br-79118f7d5a92.arp_announce = 0 +net.ipv4.conf.br-79118f7d5a92.arp_evict_nocarrier = 1 +net.ipv4.conf.br-79118f7d5a92.arp_filter = 0 +net.ipv4.conf.br-79118f7d5a92.arp_ignore = 0 +net.ipv4.conf.br-79118f7d5a92.arp_notify = 0 +net.ipv4.conf.br-79118f7d5a92.bc_forwarding = 0 +net.ipv4.conf.br-79118f7d5a92.bootp_relay = 0 +net.ipv4.conf.br-79118f7d5a92.disable_policy = 0 +net.ipv4.conf.br-79118f7d5a92.disable_xfrm = 0 +net.ipv4.conf.br-79118f7d5a92.drop_gratuitous_arp = 0 +net.ipv4.conf.br-79118f7d5a92.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.br-79118f7d5a92.force_igmp_version = 0 +net.ipv4.conf.br-79118f7d5a92.forwarding = 1 +net.ipv4.conf.br-79118f7d5a92.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.br-79118f7d5a92.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.br-79118f7d5a92.ignore_routes_with_linkdown = 0 +net.ipv4.conf.br-79118f7d5a92.log_martians = 0 +net.ipv4.conf.br-79118f7d5a92.mc_forwarding = 0 +net.ipv4.conf.br-79118f7d5a92.medium_id = 0 +net.ipv4.conf.br-79118f7d5a92.promote_secondaries = 1 +net.ipv4.conf.br-79118f7d5a92.proxy_arp = 0 +net.ipv4.conf.br-79118f7d5a92.proxy_arp_pvlan = 0 +net.ipv4.conf.br-79118f7d5a92.route_localnet = 0 +net.ipv4.conf.br-79118f7d5a92.rp_filter = 2 +net.ipv4.conf.br-79118f7d5a92.secure_redirects = 1 +net.ipv4.conf.br-79118f7d5a92.send_redirects = 1 +net.ipv4.conf.br-79118f7d5a92.shared_media = 1 +net.ipv4.conf.br-79118f7d5a92.src_valid_mark = 0 +net.ipv4.conf.br-79118f7d5a92.tag = 0 +net.ipv4.conf.br-a7c7f1777df1.accept_local = 0 +net.ipv4.conf.br-a7c7f1777df1.accept_redirects = 1 +net.ipv4.conf.br-a7c7f1777df1.accept_source_route = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_accept = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_announce = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_evict_nocarrier = 1 +net.ipv4.conf.br-a7c7f1777df1.arp_filter = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_ignore = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_notify = 0 +net.ipv4.conf.br-a7c7f1777df1.bc_forwarding = 0 +net.ipv4.conf.br-a7c7f1777df1.bootp_relay = 0 +net.ipv4.conf.br-a7c7f1777df1.disable_policy = 0 +net.ipv4.conf.br-a7c7f1777df1.disable_xfrm = 0 +net.ipv4.conf.br-a7c7f1777df1.drop_gratuitous_arp = 0 +net.ipv4.conf.br-a7c7f1777df1.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.br-a7c7f1777df1.force_igmp_version = 0 +net.ipv4.conf.br-a7c7f1777df1.forwarding = 1 +net.ipv4.conf.br-a7c7f1777df1.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.br-a7c7f1777df1.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.br-a7c7f1777df1.ignore_routes_with_linkdown = 0 +net.ipv4.conf.br-a7c7f1777df1.log_martians = 0 +net.ipv4.conf.br-a7c7f1777df1.mc_forwarding = 0 +net.ipv4.conf.br-a7c7f1777df1.medium_id = 0 +net.ipv4.conf.br-a7c7f1777df1.promote_secondaries = 1 +net.ipv4.conf.br-a7c7f1777df1.proxy_arp = 0 +net.ipv4.conf.br-a7c7f1777df1.proxy_arp_pvlan = 0 +net.ipv4.conf.br-a7c7f1777df1.route_localnet = 0 +net.ipv4.conf.br-a7c7f1777df1.rp_filter = 2 +net.ipv4.conf.br-a7c7f1777df1.secure_redirects = 1 +net.ipv4.conf.br-a7c7f1777df1.send_redirects = 1 +net.ipv4.conf.br-a7c7f1777df1.shared_media = 1 +net.ipv4.conf.br-a7c7f1777df1.src_valid_mark = 0 +net.ipv4.conf.br-a7c7f1777df1.tag = 0 +net.ipv4.conf.default.accept_local = 0 +net.ipv4.conf.default.accept_redirects = 1 +net.ipv4.conf.default.accept_source_route = 0 +net.ipv4.conf.default.arp_accept = 0 +net.ipv4.conf.default.arp_announce = 0 +net.ipv4.conf.default.arp_evict_nocarrier = 1 +net.ipv4.conf.default.arp_filter = 0 +net.ipv4.conf.default.arp_ignore = 0 +net.ipv4.conf.default.arp_notify = 0 +net.ipv4.conf.default.bc_forwarding = 0 +net.ipv4.conf.default.bootp_relay = 0 +net.ipv4.conf.default.disable_policy = 0 +net.ipv4.conf.default.disable_xfrm = 0 +net.ipv4.conf.default.drop_gratuitous_arp = 0 +net.ipv4.conf.default.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.default.force_igmp_version = 0 +net.ipv4.conf.default.forwarding = 1 +net.ipv4.conf.default.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.default.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.default.ignore_routes_with_linkdown = 0 +net.ipv4.conf.default.log_martians = 0 +net.ipv4.conf.default.mc_forwarding = 0 +net.ipv4.conf.default.medium_id = 0 +net.ipv4.conf.default.promote_secondaries = 1 +net.ipv4.conf.default.proxy_arp = 0 +net.ipv4.conf.default.proxy_arp_pvlan = 0 +net.ipv4.conf.default.route_localnet = 0 +net.ipv4.conf.default.rp_filter = 2 +net.ipv4.conf.default.secure_redirects = 1 +net.ipv4.conf.default.send_redirects = 1 +net.ipv4.conf.default.shared_media = 1 +net.ipv4.conf.default.src_valid_mark = 0 +net.ipv4.conf.default.tag = 0 +net.ipv4.conf.docker0.accept_local = 0 +net.ipv4.conf.docker0.accept_redirects = 1 +net.ipv4.conf.docker0.accept_source_route = 0 +net.ipv4.conf.docker0.arp_accept = 0 +net.ipv4.conf.docker0.arp_announce = 0 +net.ipv4.conf.docker0.arp_evict_nocarrier = 1 +net.ipv4.conf.docker0.arp_filter = 0 +net.ipv4.conf.docker0.arp_ignore = 0 +net.ipv4.conf.docker0.arp_notify = 0 +net.ipv4.conf.docker0.bc_forwarding = 0 +net.ipv4.conf.docker0.bootp_relay = 0 +net.ipv4.conf.docker0.disable_policy = 0 +net.ipv4.conf.docker0.disable_xfrm = 0 +net.ipv4.conf.docker0.drop_gratuitous_arp = 0 +net.ipv4.conf.docker0.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.docker0.force_igmp_version = 0 +net.ipv4.conf.docker0.forwarding = 1 +net.ipv4.conf.docker0.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.docker0.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.docker0.ignore_routes_with_linkdown = 0 +net.ipv4.conf.docker0.log_martians = 0 +net.ipv4.conf.docker0.mc_forwarding = 0 +net.ipv4.conf.docker0.medium_id = 0 +net.ipv4.conf.docker0.promote_secondaries = 1 +net.ipv4.conf.docker0.proxy_arp = 0 +net.ipv4.conf.docker0.proxy_arp_pvlan = 0 +net.ipv4.conf.docker0.route_localnet = 0 +net.ipv4.conf.docker0.rp_filter = 2 +net.ipv4.conf.docker0.secure_redirects = 1 +net.ipv4.conf.docker0.send_redirects = 1 +net.ipv4.conf.docker0.shared_media = 1 +net.ipv4.conf.docker0.src_valid_mark = 0 +net.ipv4.conf.docker0.tag = 0 +net.ipv4.conf.enp46s0.accept_local = 0 +net.ipv4.conf.enp46s0.accept_redirects = 1 +net.ipv4.conf.enp46s0.accept_source_route = 0 +net.ipv4.conf.enp46s0.arp_accept = 0 +net.ipv4.conf.enp46s0.arp_announce = 0 +net.ipv4.conf.enp46s0.arp_evict_nocarrier = 1 +net.ipv4.conf.enp46s0.arp_filter = 0 +net.ipv4.conf.enp46s0.arp_ignore = 0 +net.ipv4.conf.enp46s0.arp_notify = 0 +net.ipv4.conf.enp46s0.bc_forwarding = 0 +net.ipv4.conf.enp46s0.bootp_relay = 0 +net.ipv4.conf.enp46s0.disable_policy = 0 +net.ipv4.conf.enp46s0.disable_xfrm = 0 +net.ipv4.conf.enp46s0.drop_gratuitous_arp = 0 +net.ipv4.conf.enp46s0.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.enp46s0.force_igmp_version = 0 +net.ipv4.conf.enp46s0.forwarding = 1 +net.ipv4.conf.enp46s0.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.enp46s0.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.enp46s0.ignore_routes_with_linkdown = 0 +net.ipv4.conf.enp46s0.log_martians = 0 +net.ipv4.conf.enp46s0.mc_forwarding = 0 +net.ipv4.conf.enp46s0.medium_id = 0 +net.ipv4.conf.enp46s0.promote_secondaries = 1 +net.ipv4.conf.enp46s0.proxy_arp = 0 +net.ipv4.conf.enp46s0.proxy_arp_pvlan = 0 +net.ipv4.conf.enp46s0.route_localnet = 0 +net.ipv4.conf.enp46s0.rp_filter = 2 +net.ipv4.conf.enp46s0.secure_redirects = 1 +net.ipv4.conf.enp46s0.send_redirects = 1 +net.ipv4.conf.enp46s0.shared_media = 1 +net.ipv4.conf.enp46s0.src_valid_mark = 0 +net.ipv4.conf.enp46s0.tag = 0 +net.ipv4.conf.lo.accept_local = 0 +net.ipv4.conf.lo.accept_redirects = 1 +net.ipv4.conf.lo.accept_source_route = 0 +net.ipv4.conf.lo.arp_accept = 0 +net.ipv4.conf.lo.arp_announce = 0 +net.ipv4.conf.lo.arp_evict_nocarrier = 1 +net.ipv4.conf.lo.arp_filter = 0 +net.ipv4.conf.lo.arp_ignore = 0 +net.ipv4.conf.lo.arp_notify = 0 +net.ipv4.conf.lo.bc_forwarding = 0 +net.ipv4.conf.lo.bootp_relay = 0 +net.ipv4.conf.lo.disable_policy = 1 +net.ipv4.conf.lo.disable_xfrm = 1 +net.ipv4.conf.lo.drop_gratuitous_arp = 0 +net.ipv4.conf.lo.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.lo.force_igmp_version = 0 +net.ipv4.conf.lo.forwarding = 1 +net.ipv4.conf.lo.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.lo.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.lo.ignore_routes_with_linkdown = 0 +net.ipv4.conf.lo.log_martians = 0 +net.ipv4.conf.lo.mc_forwarding = 0 +net.ipv4.conf.lo.medium_id = 0 +net.ipv4.conf.lo.promote_secondaries = 1 +net.ipv4.conf.lo.proxy_arp = 0 +net.ipv4.conf.lo.proxy_arp_pvlan = 0 +net.ipv4.conf.lo.route_localnet = 0 +net.ipv4.conf.lo.rp_filter = 2 +net.ipv4.conf.lo.secure_redirects = 1 +net.ipv4.conf.lo.send_redirects = 1 +net.ipv4.conf.lo.shared_media = 1 +net.ipv4.conf.lo.src_valid_mark = 0 +net.ipv4.conf.lo.tag = 0 +net.ipv4.conf.veth0655c9f.accept_local = 0 +net.ipv4.conf.veth0655c9f.accept_redirects = 1 +net.ipv4.conf.veth0655c9f.accept_source_route = 0 +net.ipv4.conf.veth0655c9f.arp_accept = 0 +net.ipv4.conf.veth0655c9f.arp_announce = 0 +net.ipv4.conf.veth0655c9f.arp_evict_nocarrier = 1 +net.ipv4.conf.veth0655c9f.arp_filter = 0 +net.ipv4.conf.veth0655c9f.arp_ignore = 0 +net.ipv4.conf.veth0655c9f.arp_notify = 0 +net.ipv4.conf.veth0655c9f.bc_forwarding = 0 +net.ipv4.conf.veth0655c9f.bootp_relay = 0 +net.ipv4.conf.veth0655c9f.disable_policy = 0 +net.ipv4.conf.veth0655c9f.disable_xfrm = 0 +net.ipv4.conf.veth0655c9f.drop_gratuitous_arp = 0 +net.ipv4.conf.veth0655c9f.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.veth0655c9f.force_igmp_version = 0 +net.ipv4.conf.veth0655c9f.forwarding = 1 +net.ipv4.conf.veth0655c9f.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.veth0655c9f.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.veth0655c9f.ignore_routes_with_linkdown = 0 +net.ipv4.conf.veth0655c9f.log_martians = 0 +net.ipv4.conf.veth0655c9f.mc_forwarding = 0 +net.ipv4.conf.veth0655c9f.medium_id = 0 +net.ipv4.conf.veth0655c9f.promote_secondaries = 1 +net.ipv4.conf.veth0655c9f.proxy_arp = 0 +net.ipv4.conf.veth0655c9f.proxy_arp_pvlan = 0 +net.ipv4.conf.veth0655c9f.route_localnet = 0 +net.ipv4.conf.veth0655c9f.rp_filter = 2 +net.ipv4.conf.veth0655c9f.secure_redirects = 1 +net.ipv4.conf.veth0655c9f.send_redirects = 1 +net.ipv4.conf.veth0655c9f.shared_media = 1 +net.ipv4.conf.veth0655c9f.src_valid_mark = 0 +net.ipv4.conf.veth0655c9f.tag = 0 +net.ipv4.conf.veth2655c84.accept_local = 0 +net.ipv4.conf.veth2655c84.accept_redirects = 1 +net.ipv4.conf.veth2655c84.accept_source_route = 0 +net.ipv4.conf.veth2655c84.arp_accept = 0 +net.ipv4.conf.veth2655c84.arp_announce = 0 +net.ipv4.conf.veth2655c84.arp_evict_nocarrier = 1 +net.ipv4.conf.veth2655c84.arp_filter = 0 +net.ipv4.conf.veth2655c84.arp_ignore = 0 +net.ipv4.conf.veth2655c84.arp_notify = 0 +net.ipv4.conf.veth2655c84.bc_forwarding = 0 +net.ipv4.conf.veth2655c84.bootp_relay = 0 +net.ipv4.conf.veth2655c84.disable_policy = 0 +net.ipv4.conf.veth2655c84.disable_xfrm = 0 +net.ipv4.conf.veth2655c84.drop_gratuitous_arp = 0 +net.ipv4.conf.veth2655c84.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.veth2655c84.force_igmp_version = 0 +net.ipv4.conf.veth2655c84.forwarding = 1 +net.ipv4.conf.veth2655c84.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.veth2655c84.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.veth2655c84.ignore_routes_with_linkdown = 0 +net.ipv4.conf.veth2655c84.log_martians = 0 +net.ipv4.conf.veth2655c84.mc_forwarding = 0 +net.ipv4.conf.veth2655c84.medium_id = 0 +net.ipv4.conf.veth2655c84.promote_secondaries = 1 +net.ipv4.conf.veth2655c84.proxy_arp = 0 +net.ipv4.conf.veth2655c84.proxy_arp_pvlan = 0 +net.ipv4.conf.veth2655c84.route_localnet = 0 +net.ipv4.conf.veth2655c84.rp_filter = 2 +net.ipv4.conf.veth2655c84.secure_redirects = 1 +net.ipv4.conf.veth2655c84.send_redirects = 1 +net.ipv4.conf.veth2655c84.shared_media = 1 +net.ipv4.conf.veth2655c84.src_valid_mark = 0 +net.ipv4.conf.veth2655c84.tag = 0 +net.ipv4.conf.vethd189986.accept_local = 0 +net.ipv4.conf.vethd189986.accept_redirects = 1 +net.ipv4.conf.vethd189986.accept_source_route = 0 +net.ipv4.conf.vethd189986.arp_accept = 0 +net.ipv4.conf.vethd189986.arp_announce = 0 +net.ipv4.conf.vethd189986.arp_evict_nocarrier = 1 +net.ipv4.conf.vethd189986.arp_filter = 0 +net.ipv4.conf.vethd189986.arp_ignore = 0 +net.ipv4.conf.vethd189986.arp_notify = 0 +net.ipv4.conf.vethd189986.bc_forwarding = 0 +net.ipv4.conf.vethd189986.bootp_relay = 0 +net.ipv4.conf.vethd189986.disable_policy = 0 +net.ipv4.conf.vethd189986.disable_xfrm = 0 +net.ipv4.conf.vethd189986.drop_gratuitous_arp = 0 +net.ipv4.conf.vethd189986.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.vethd189986.force_igmp_version = 0 +net.ipv4.conf.vethd189986.forwarding = 1 +net.ipv4.conf.vethd189986.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.vethd189986.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.vethd189986.ignore_routes_with_linkdown = 0 +net.ipv4.conf.vethd189986.log_martians = 0 +net.ipv4.conf.vethd189986.mc_forwarding = 0 +net.ipv4.conf.vethd189986.medium_id = 0 +net.ipv4.conf.vethd189986.promote_secondaries = 1 +net.ipv4.conf.vethd189986.proxy_arp = 0 +net.ipv4.conf.vethd189986.proxy_arp_pvlan = 0 +net.ipv4.conf.vethd189986.route_localnet = 0 +net.ipv4.conf.vethd189986.rp_filter = 2 +net.ipv4.conf.vethd189986.secure_redirects = 1 +net.ipv4.conf.vethd189986.send_redirects = 1 +net.ipv4.conf.vethd189986.shared_media = 1 +net.ipv4.conf.vethd189986.src_valid_mark = 0 +net.ipv4.conf.vethd189986.tag = 0 +net.ipv4.conf.wg0.accept_local = 0 +net.ipv4.conf.wg0.accept_redirects = 1 +net.ipv4.conf.wg0.accept_source_route = 0 +net.ipv4.conf.wg0.arp_accept = 0 +net.ipv4.conf.wg0.arp_announce = 0 +net.ipv4.conf.wg0.arp_evict_nocarrier = 1 +net.ipv4.conf.wg0.arp_filter = 0 +net.ipv4.conf.wg0.arp_ignore = 0 +net.ipv4.conf.wg0.arp_notify = 0 +net.ipv4.conf.wg0.bc_forwarding = 0 +net.ipv4.conf.wg0.bootp_relay = 0 +net.ipv4.conf.wg0.disable_policy = 0 +net.ipv4.conf.wg0.disable_xfrm = 0 +net.ipv4.conf.wg0.drop_gratuitous_arp = 0 +net.ipv4.conf.wg0.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.wg0.force_igmp_version = 0 +net.ipv4.conf.wg0.forwarding = 1 +net.ipv4.conf.wg0.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.wg0.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.wg0.ignore_routes_with_linkdown = 0 +net.ipv4.conf.wg0.log_martians = 0 +net.ipv4.conf.wg0.mc_forwarding = 0 +net.ipv4.conf.wg0.medium_id = 0 +net.ipv4.conf.wg0.promote_secondaries = 1 +net.ipv4.conf.wg0.proxy_arp = 0 +net.ipv4.conf.wg0.proxy_arp_pvlan = 0 +net.ipv4.conf.wg0.route_localnet = 0 +net.ipv4.conf.wg0.rp_filter = 2 +net.ipv4.conf.wg0.secure_redirects = 1 +net.ipv4.conf.wg0.send_redirects = 0 +net.ipv4.conf.wg0.shared_media = 1 +net.ipv4.conf.wg0.src_valid_mark = 0 +net.ipv4.conf.wg0.tag = 0 +net.ipv4.conf.wlp0s20f3.accept_local = 0 +net.ipv4.conf.wlp0s20f3.accept_redirects = 1 +net.ipv4.conf.wlp0s20f3.accept_source_route = 0 +net.ipv4.conf.wlp0s20f3.arp_accept = 0 +net.ipv4.conf.wlp0s20f3.arp_announce = 0 +net.ipv4.conf.wlp0s20f3.arp_evict_nocarrier = 1 +net.ipv4.conf.wlp0s20f3.arp_filter = 0 +net.ipv4.conf.wlp0s20f3.arp_ignore = 0 +net.ipv4.conf.wlp0s20f3.arp_notify = 0 +net.ipv4.conf.wlp0s20f3.bc_forwarding = 0 +net.ipv4.conf.wlp0s20f3.bootp_relay = 0 +net.ipv4.conf.wlp0s20f3.disable_policy = 0 +net.ipv4.conf.wlp0s20f3.disable_xfrm = 0 +net.ipv4.conf.wlp0s20f3.drop_gratuitous_arp = 0 +net.ipv4.conf.wlp0s20f3.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.wlp0s20f3.force_igmp_version = 0 +net.ipv4.conf.wlp0s20f3.forwarding = 1 +net.ipv4.conf.wlp0s20f3.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.wlp0s20f3.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.wlp0s20f3.ignore_routes_with_linkdown = 0 +net.ipv4.conf.wlp0s20f3.log_martians = 0 +net.ipv4.conf.wlp0s20f3.mc_forwarding = 0 +net.ipv4.conf.wlp0s20f3.medium_id = 0 +net.ipv4.conf.wlp0s20f3.promote_secondaries = 1 +net.ipv4.conf.wlp0s20f3.proxy_arp = 0 +net.ipv4.conf.wlp0s20f3.proxy_arp_pvlan = 0 +net.ipv4.conf.wlp0s20f3.route_localnet = 0 +net.ipv4.conf.wlp0s20f3.rp_filter = 2 +net.ipv4.conf.wlp0s20f3.secure_redirects = 1 +net.ipv4.conf.wlp0s20f3.send_redirects = 1 +net.ipv4.conf.wlp0s20f3.shared_media = 1 +net.ipv4.conf.wlp0s20f3.src_valid_mark = 0 +net.ipv4.conf.wlp0s20f3.tag = 0 +net.ipv4.fib_multipath_hash_fields = 7 +net.ipv4.fib_multipath_hash_policy = 0 +net.ipv4.fib_multipath_use_neigh = 0 +net.ipv4.fib_notify_on_flag_change = 0 +net.ipv4.fib_sync_mem = 524288 +net.ipv4.fwmark_reflect = 0 +net.ipv4.icmp_echo_enable_probe = 0 +net.ipv4.icmp_echo_ignore_all = 0 +net.ipv4.icmp_echo_ignore_broadcasts = 1 +net.ipv4.icmp_errors_use_inbound_ifaddr = 0 +net.ipv4.icmp_ignore_bogus_error_responses = 1 +net.ipv4.icmp_msgs_burst = 50 +net.ipv4.icmp_msgs_per_sec = 1000 +net.ipv4.icmp_ratelimit = 1000 +net.ipv4.icmp_ratemask = 6168 +net.ipv4.igmp_link_local_mcast_reports = 1 +net.ipv4.igmp_max_memberships = 20 +net.ipv4.igmp_max_msf = 10 +net.ipv4.igmp_qrv = 2 +net.ipv4.inet_peer_maxttl = 600 +net.ipv4.inet_peer_minttl = 120 +net.ipv4.inet_peer_threshold = 65664 +net.ipv4.ip_autobind_reuse = 0 +net.ipv4.ip_default_ttl = 64 +net.ipv4.ip_dynaddr = 0 +net.ipv4.ip_early_demux = 1 +net.ipv4.ip_forward = 1 +net.ipv4.ip_forward_update_priority = 1 +net.ipv4.ip_forward_use_pmtu = 0 +net.ipv4.ip_local_port_range = 32768 60999 +net.ipv4.ip_local_reserved_ports = +net.ipv4.ip_no_pmtu_disc = 0 +net.ipv4.ip_nonlocal_bind = 0 +net.ipv4.ip_unprivileged_port_start = 1024 +net.ipv4.ipfrag_high_thresh = 4194304 +net.ipv4.ipfrag_low_thresh = 3145728 +net.ipv4.ipfrag_max_dist = 64 +net.ipv4.ipfrag_secret_interval = 0 +net.ipv4.ipfrag_time = 30 +net.ipv4.neigh.br-79118f7d5a92.anycast_delay = 100 +net.ipv4.neigh.br-79118f7d5a92.app_solicit = 0 +net.ipv4.neigh.br-79118f7d5a92.base_reachable_time_ms = 30000 +net.ipv4.neigh.br-79118f7d5a92.delay_first_probe_time = 5 +net.ipv4.neigh.br-79118f7d5a92.gc_stale_time = 60 +net.ipv4.neigh.br-79118f7d5a92.interval_probe_time_ms = 5000 +net.ipv4.neigh.br-79118f7d5a92.locktime = 100 +net.ipv4.neigh.br-79118f7d5a92.mcast_resolicit = 0 +net.ipv4.neigh.br-79118f7d5a92.mcast_solicit = 3 +net.ipv4.neigh.br-79118f7d5a92.proxy_delay = 80 +net.ipv4.neigh.br-79118f7d5a92.proxy_qlen = 64 +net.ipv4.neigh.br-79118f7d5a92.retrans_time_ms = 1000 +net.ipv4.neigh.br-79118f7d5a92.ucast_solicit = 3 +net.ipv4.neigh.br-79118f7d5a92.unres_qlen = 101 +net.ipv4.neigh.br-79118f7d5a92.unres_qlen_bytes = 212992 +net.ipv4.neigh.br-a7c7f1777df1.anycast_delay = 100 +net.ipv4.neigh.br-a7c7f1777df1.app_solicit = 0 +net.ipv4.neigh.br-a7c7f1777df1.base_reachable_time_ms = 30000 +net.ipv4.neigh.br-a7c7f1777df1.delay_first_probe_time = 5 +net.ipv4.neigh.br-a7c7f1777df1.gc_stale_time = 60 +net.ipv4.neigh.br-a7c7f1777df1.interval_probe_time_ms = 5000 +net.ipv4.neigh.br-a7c7f1777df1.locktime = 100 +net.ipv4.neigh.br-a7c7f1777df1.mcast_resolicit = 0 +net.ipv4.neigh.br-a7c7f1777df1.mcast_solicit = 3 +net.ipv4.neigh.br-a7c7f1777df1.proxy_delay = 80 +net.ipv4.neigh.br-a7c7f1777df1.proxy_qlen = 64 +net.ipv4.neigh.br-a7c7f1777df1.retrans_time_ms = 1000 +net.ipv4.neigh.br-a7c7f1777df1.ucast_solicit = 3 +net.ipv4.neigh.br-a7c7f1777df1.unres_qlen = 101 +net.ipv4.neigh.br-a7c7f1777df1.unres_qlen_bytes = 212992 +net.ipv4.neigh.default.anycast_delay = 100 +net.ipv4.neigh.default.app_solicit = 0 +net.ipv4.neigh.default.base_reachable_time_ms = 30000 +net.ipv4.neigh.default.delay_first_probe_time = 5 +net.ipv4.neigh.default.gc_interval = 30 +net.ipv4.neigh.default.gc_stale_time = 60 +net.ipv4.neigh.default.gc_thresh1 = 128 +net.ipv4.neigh.default.gc_thresh2 = 512 +net.ipv4.neigh.default.gc_thresh3 = 1024 +net.ipv4.neigh.default.interval_probe_time_ms = 5000 +net.ipv4.neigh.default.locktime = 100 +net.ipv4.neigh.default.mcast_resolicit = 0 +net.ipv4.neigh.default.mcast_solicit = 3 +net.ipv4.neigh.default.proxy_delay = 80 +net.ipv4.neigh.default.proxy_qlen = 64 +net.ipv4.neigh.default.retrans_time_ms = 1000 +net.ipv4.neigh.default.ucast_solicit = 3 +net.ipv4.neigh.default.unres_qlen = 101 +net.ipv4.neigh.default.unres_qlen_bytes = 212992 +net.ipv4.neigh.docker0.anycast_delay = 100 +net.ipv4.neigh.docker0.app_solicit = 0 +net.ipv4.neigh.docker0.base_reachable_time_ms = 30000 +net.ipv4.neigh.docker0.delay_first_probe_time = 5 +net.ipv4.neigh.docker0.gc_stale_time = 60 +net.ipv4.neigh.docker0.interval_probe_time_ms = 5000 +net.ipv4.neigh.docker0.locktime = 100 +net.ipv4.neigh.docker0.mcast_resolicit = 0 +net.ipv4.neigh.docker0.mcast_solicit = 3 +net.ipv4.neigh.docker0.proxy_delay = 80 +net.ipv4.neigh.docker0.proxy_qlen = 64 +net.ipv4.neigh.docker0.retrans_time_ms = 1000 +net.ipv4.neigh.docker0.ucast_solicit = 3 +net.ipv4.neigh.docker0.unres_qlen = 101 +net.ipv4.neigh.docker0.unres_qlen_bytes = 212992 +net.ipv4.neigh.enp46s0.anycast_delay = 100 +net.ipv4.neigh.enp46s0.app_solicit = 0 +net.ipv4.neigh.enp46s0.base_reachable_time_ms = 30000 +net.ipv4.neigh.enp46s0.delay_first_probe_time = 5 +net.ipv4.neigh.enp46s0.gc_stale_time = 60 +net.ipv4.neigh.enp46s0.interval_probe_time_ms = 5000 +net.ipv4.neigh.enp46s0.locktime = 100 +net.ipv4.neigh.enp46s0.mcast_resolicit = 0 +net.ipv4.neigh.enp46s0.mcast_solicit = 3 +net.ipv4.neigh.enp46s0.proxy_delay = 80 +net.ipv4.neigh.enp46s0.proxy_qlen = 64 +net.ipv4.neigh.enp46s0.retrans_time_ms = 1000 +net.ipv4.neigh.enp46s0.ucast_solicit = 3 +net.ipv4.neigh.enp46s0.unres_qlen = 101 +net.ipv4.neigh.enp46s0.unres_qlen_bytes = 212992 +net.ipv4.neigh.lo.anycast_delay = 100 +net.ipv4.neigh.lo.app_solicit = 0 +net.ipv4.neigh.lo.base_reachable_time_ms = 30000 +net.ipv4.neigh.lo.delay_first_probe_time = 5 +net.ipv4.neigh.lo.gc_stale_time = 60 +net.ipv4.neigh.lo.interval_probe_time_ms = 5000 +net.ipv4.neigh.lo.locktime = 100 +net.ipv4.neigh.lo.mcast_resolicit = 0 +net.ipv4.neigh.lo.mcast_solicit = 3 +net.ipv4.neigh.lo.proxy_delay = 80 +net.ipv4.neigh.lo.proxy_qlen = 64 +net.ipv4.neigh.lo.retrans_time_ms = 1000 +net.ipv4.neigh.lo.ucast_solicit = 3 +net.ipv4.neigh.lo.unres_qlen = 101 +net.ipv4.neigh.lo.unres_qlen_bytes = 212992 +net.ipv4.neigh.veth0655c9f.anycast_delay = 100 +net.ipv4.neigh.veth0655c9f.app_solicit = 0 +net.ipv4.neigh.veth0655c9f.base_reachable_time_ms = 30000 +net.ipv4.neigh.veth0655c9f.delay_first_probe_time = 5 +net.ipv4.neigh.veth0655c9f.gc_stale_time = 60 +net.ipv4.neigh.veth0655c9f.interval_probe_time_ms = 5000 +net.ipv4.neigh.veth0655c9f.locktime = 100 +net.ipv4.neigh.veth0655c9f.mcast_resolicit = 0 +net.ipv4.neigh.veth0655c9f.mcast_solicit = 3 +net.ipv4.neigh.veth0655c9f.proxy_delay = 80 +net.ipv4.neigh.veth0655c9f.proxy_qlen = 64 +net.ipv4.neigh.veth0655c9f.retrans_time_ms = 1000 +net.ipv4.neigh.veth0655c9f.ucast_solicit = 3 +net.ipv4.neigh.veth0655c9f.unres_qlen = 101 +net.ipv4.neigh.veth0655c9f.unres_qlen_bytes = 212992 +net.ipv4.neigh.veth2655c84.anycast_delay = 100 +net.ipv4.neigh.veth2655c84.app_solicit = 0 +net.ipv4.neigh.veth2655c84.base_reachable_time_ms = 30000 +net.ipv4.neigh.veth2655c84.delay_first_probe_time = 5 +net.ipv4.neigh.veth2655c84.gc_stale_time = 60 +net.ipv4.neigh.veth2655c84.interval_probe_time_ms = 5000 +net.ipv4.neigh.veth2655c84.locktime = 100 +net.ipv4.neigh.veth2655c84.mcast_resolicit = 0 +net.ipv4.neigh.veth2655c84.mcast_solicit = 3 +net.ipv4.neigh.veth2655c84.proxy_delay = 80 +net.ipv4.neigh.veth2655c84.proxy_qlen = 64 +net.ipv4.neigh.veth2655c84.retrans_time_ms = 1000 +net.ipv4.neigh.veth2655c84.ucast_solicit = 3 +net.ipv4.neigh.veth2655c84.unres_qlen = 101 +net.ipv4.neigh.veth2655c84.unres_qlen_bytes = 212992 +net.ipv4.neigh.vethd189986.anycast_delay = 100 +net.ipv4.neigh.vethd189986.app_solicit = 0 +net.ipv4.neigh.vethd189986.base_reachable_time_ms = 30000 +net.ipv4.neigh.vethd189986.delay_first_probe_time = 5 +net.ipv4.neigh.vethd189986.gc_stale_time = 60 +net.ipv4.neigh.vethd189986.interval_probe_time_ms = 5000 +net.ipv4.neigh.vethd189986.locktime = 100 +net.ipv4.neigh.vethd189986.mcast_resolicit = 0 +net.ipv4.neigh.vethd189986.mcast_solicit = 3 +net.ipv4.neigh.vethd189986.proxy_delay = 80 +net.ipv4.neigh.vethd189986.proxy_qlen = 64 +net.ipv4.neigh.vethd189986.retrans_time_ms = 1000 +net.ipv4.neigh.vethd189986.ucast_solicit = 3 +net.ipv4.neigh.vethd189986.unres_qlen = 101 +net.ipv4.neigh.vethd189986.unres_qlen_bytes = 212992 +net.ipv4.neigh.wg0.anycast_delay = 100 +net.ipv4.neigh.wg0.app_solicit = 0 +net.ipv4.neigh.wg0.base_reachable_time_ms = 30000 +net.ipv4.neigh.wg0.delay_first_probe_time = 5 +net.ipv4.neigh.wg0.gc_stale_time = 60 +net.ipv4.neigh.wg0.interval_probe_time_ms = 5000 +net.ipv4.neigh.wg0.locktime = 100 +net.ipv4.neigh.wg0.mcast_resolicit = 0 +net.ipv4.neigh.wg0.mcast_solicit = 3 +net.ipv4.neigh.wg0.proxy_delay = 80 +net.ipv4.neigh.wg0.proxy_qlen = 64 +net.ipv4.neigh.wg0.retrans_time_ms = 1000 +net.ipv4.neigh.wg0.ucast_solicit = 3 +net.ipv4.neigh.wg0.unres_qlen = 101 +net.ipv4.neigh.wg0.unres_qlen_bytes = 212992 +net.ipv4.neigh.wlp0s20f3.anycast_delay = 100 +net.ipv4.neigh.wlp0s20f3.app_solicit = 0 +net.ipv4.neigh.wlp0s20f3.base_reachable_time_ms = 30000 +net.ipv4.neigh.wlp0s20f3.delay_first_probe_time = 5 +net.ipv4.neigh.wlp0s20f3.gc_stale_time = 60 +net.ipv4.neigh.wlp0s20f3.interval_probe_time_ms = 5000 +net.ipv4.neigh.wlp0s20f3.locktime = 100 +net.ipv4.neigh.wlp0s20f3.mcast_resolicit = 0 +net.ipv4.neigh.wlp0s20f3.mcast_solicit = 3 +net.ipv4.neigh.wlp0s20f3.proxy_delay = 80 +net.ipv4.neigh.wlp0s20f3.proxy_qlen = 64 +net.ipv4.neigh.wlp0s20f3.retrans_time_ms = 1000 +net.ipv4.neigh.wlp0s20f3.ucast_solicit = 3 +net.ipv4.neigh.wlp0s20f3.unres_qlen = 101 +net.ipv4.neigh.wlp0s20f3.unres_qlen_bytes = 212992 +net.ipv4.nexthop_compat_mode = 1 +net.ipv4.ping_group_range = 0 2147483647 +net.ipv4.raw_l3mdev_accept = 1 +net.ipv4.route.error_burst = 1250 +net.ipv4.route.error_cost = 250 +net.ipv4.route.gc_elasticity = 8 +net.ipv4.route.gc_interval = 60 +net.ipv4.route.gc_min_interval = 0 +net.ipv4.route.gc_min_interval_ms = 500 +net.ipv4.route.gc_thresh = -1 +net.ipv4.route.gc_timeout = 300 +net.ipv4.route.max_size = 2147483647 +net.ipv4.route.min_adv_mss = 256 +net.ipv4.route.min_pmtu = 552 +net.ipv4.route.mtu_expires = 600 +net.ipv4.route.redirect_load = 5 +net.ipv4.route.redirect_number = 9 +net.ipv4.route.redirect_silence = 5120 +net.ipv4.tcp_abort_on_overflow = 0 +net.ipv4.tcp_adv_win_scale = 1 +net.ipv4.tcp_allowed_congestion_control = reno cubic +net.ipv4.tcp_app_win = 31 +net.ipv4.tcp_autocorking = 1 +net.ipv4.tcp_available_congestion_control = reno cubic +net.ipv4.tcp_available_ulp = espintcp mptcp tls +net.ipv4.tcp_base_mss = 1024 +net.ipv4.tcp_challenge_ack_limit = 2147483647 +net.ipv4.tcp_child_ehash_entries = 0 +net.ipv4.tcp_comp_sack_delay_ns = 1000000 +net.ipv4.tcp_comp_sack_nr = 44 +net.ipv4.tcp_comp_sack_slack_ns = 100000 +net.ipv4.tcp_congestion_control = cubic +net.ipv4.tcp_dsack = 1 +net.ipv4.tcp_early_demux = 1 +net.ipv4.tcp_early_retrans = 3 +net.ipv4.tcp_ecn = 2 +net.ipv4.tcp_ecn_fallback = 1 +net.ipv4.tcp_ehash_entries = 524288 +net.ipv4.tcp_fack = 0 +net.ipv4.tcp_fastopen = 1 +net.ipv4.tcp_fastopen_blackhole_timeout_sec = 0 +net.ipv4.tcp_fin_timeout = 60 +net.ipv4.tcp_frto = 2 +net.ipv4.tcp_fwmark_accept = 0 +net.ipv4.tcp_invalid_ratelimit = 500 +net.ipv4.tcp_keepalive_intvl = 75 +net.ipv4.tcp_keepalive_probes = 9 +net.ipv4.tcp_keepalive_time = 7200 +net.ipv4.tcp_l3mdev_accept = 0 +net.ipv4.tcp_limit_output_bytes = 1048576 +net.ipv4.tcp_low_latency = 0 +net.ipv4.tcp_max_orphans = 262144 +net.ipv4.tcp_max_reordering = 300 +net.ipv4.tcp_max_syn_backlog = 4096 +net.ipv4.tcp_max_tw_buckets = 262144 +net.ipv4.tcp_mem = 765768 1021025 1531536 +net.ipv4.tcp_migrate_req = 0 +net.ipv4.tcp_min_rtt_wlen = 300 +net.ipv4.tcp_min_snd_mss = 48 +net.ipv4.tcp_min_tso_segs = 2 +net.ipv4.tcp_moderate_rcvbuf = 1 +net.ipv4.tcp_mtu_probe_floor = 48 +net.ipv4.tcp_mtu_probing = 0 +net.ipv4.tcp_no_metrics_save = 0 +net.ipv4.tcp_no_ssthresh_metrics_save = 1 +net.ipv4.tcp_notsent_lowat = 4294967295 +net.ipv4.tcp_orphan_retries = 0 +net.ipv4.tcp_pacing_ca_ratio = 120 +net.ipv4.tcp_pacing_ss_ratio = 200 +net.ipv4.tcp_plb_cong_thresh = 128 +net.ipv4.tcp_plb_enabled = 0 +net.ipv4.tcp_plb_idle_rehash_rounds = 3 +net.ipv4.tcp_plb_rehash_rounds = 12 +net.ipv4.tcp_plb_suspend_rto_sec = 60 +net.ipv4.tcp_probe_interval = 600 +net.ipv4.tcp_probe_threshold = 8 +net.ipv4.tcp_recovery = 1 +net.ipv4.tcp_reflect_tos = 0 +net.ipv4.tcp_reordering = 3 +net.ipv4.tcp_retrans_collapse = 1 +net.ipv4.tcp_retries1 = 3 +net.ipv4.tcp_retries2 = 15 +net.ipv4.tcp_rfc1337 = 0 +net.ipv4.tcp_rmem = 4096 131072 6291456 +net.ipv4.tcp_sack = 1 +net.ipv4.tcp_shrink_window = 0 +net.ipv4.tcp_slow_start_after_idle = 1 +net.ipv4.tcp_stdurg = 0 +net.ipv4.tcp_syn_linear_timeouts = 4 +net.ipv4.tcp_syn_retries = 6 +net.ipv4.tcp_synack_retries = 5 +net.ipv4.tcp_syncookies = 1 +net.ipv4.tcp_thin_linear_timeouts = 0 +net.ipv4.tcp_timestamps = 1 +net.ipv4.tcp_tso_rtt_log = 9 +net.ipv4.tcp_tso_win_divisor = 3 +net.ipv4.tcp_tw_reuse = 2 +net.ipv4.tcp_window_scaling = 1 +net.ipv4.tcp_wmem = 4096 16384 4194304 +net.ipv4.tcp_workaround_signed_windows = 0 +net.ipv4.udp_child_hash_entries = 0 +net.ipv4.udp_early_demux = 1 +net.ipv4.udp_hash_entries = 32768 +net.ipv4.udp_l3mdev_accept = 0 +net.ipv4.udp_mem = 1531536 2042051 3063072 +net.ipv4.udp_rmem_min = 4096 +net.ipv4.udp_wmem_min = 4096 +net.ipv4.xfrm4_gc_thresh = 32768 +net.ipv6.anycast_src_echo_reply = 0 +net.ipv6.auto_flowlabels = 1 +net.ipv6.bindv6only = 0 +net.ipv6.calipso_cache_bucket_size = 10 +net.ipv6.calipso_cache_enable = 1 +net.ipv6.conf.all.accept_dad = 0 +net.ipv6.conf.all.accept_ra = 1 +net.ipv6.conf.all.accept_ra_defrtr = 1 +net.ipv6.conf.all.accept_ra_from_local = 0 +net.ipv6.conf.all.accept_ra_min_hop_limit = 1 +net.ipv6.conf.all.accept_ra_min_lft = 0 +net.ipv6.conf.all.accept_ra_mtu = 1 +net.ipv6.conf.all.accept_ra_pinfo = 1 +net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.all.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.all.accept_ra_rtr_pref = 1 +net.ipv6.conf.all.accept_redirects = 1 +net.ipv6.conf.all.accept_source_route = 0 +net.ipv6.conf.all.accept_untracked_na = 0 +net.ipv6.conf.all.addr_gen_mode = 0 +net.ipv6.conf.all.autoconf = 1 +net.ipv6.conf.all.dad_transmits = 1 +net.ipv6.conf.all.disable_ipv6 = 0 +net.ipv6.conf.all.disable_policy = 0 +net.ipv6.conf.all.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.all.drop_unsolicited_na = 0 +net.ipv6.conf.all.enhanced_dad = 1 +net.ipv6.conf.all.force_mld_version = 0 +net.ipv6.conf.all.force_tllao = 0 +net.ipv6.conf.all.forwarding = 0 +net.ipv6.conf.all.hop_limit = 64 +net.ipv6.conf.all.ignore_routes_with_linkdown = 0 +net.ipv6.conf.all.ioam6_enabled = 0 +net.ipv6.conf.all.ioam6_id = 65535 +net.ipv6.conf.all.ioam6_id_wide = 4294967295 +net.ipv6.conf.all.keep_addr_on_down = 0 +net.ipv6.conf.all.max_addresses = 16 +net.ipv6.conf.all.max_desync_factor = 600 +net.ipv6.conf.all.mc_forwarding = 0 +net.ipv6.conf.all.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.all.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.all.mtu = 1280 +net.ipv6.conf.all.ndisc_evict_nocarrier = 1 +net.ipv6.conf.all.ndisc_notify = 0 +net.ipv6.conf.all.ndisc_tclass = 0 +net.ipv6.conf.all.proxy_ndp = 0 +net.ipv6.conf.all.ra_defrtr_metric = 1024 +net.ipv6.conf.all.regen_max_retry = 3 +net.ipv6.conf.all.router_probe_interval = 60 +net.ipv6.conf.all.router_solicitation_delay = 1 +net.ipv6.conf.all.router_solicitation_interval = 4 +net.ipv6.conf.all.router_solicitation_max_interval = 3600 +net.ipv6.conf.all.router_solicitations = -1 +net.ipv6.conf.all.rpl_seg_enabled = 0 +net.ipv6.conf.all.seg6_enabled = 0 +net.ipv6.conf.all.seg6_require_hmac = 0 +net.ipv6.conf.all.suppress_frag_ndisc = 1 +net.ipv6.conf.all.temp_prefered_lft = 86400 +net.ipv6.conf.all.temp_valid_lft = 604800 +net.ipv6.conf.all.use_oif_addrs_only = 0 +net.ipv6.conf.all.use_tempaddr = 2 +net.ipv6.conf.br-79118f7d5a92.accept_dad = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_defrtr = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_from_local = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_min_hop_limit = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_min_lft = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_mtu = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_pinfo = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_rtr_pref = 1 +net.ipv6.conf.br-79118f7d5a92.accept_redirects = 1 +net.ipv6.conf.br-79118f7d5a92.accept_source_route = 0 +net.ipv6.conf.br-79118f7d5a92.accept_untracked_na = 0 +net.ipv6.conf.br-79118f7d5a92.addr_gen_mode = 0 +net.ipv6.conf.br-79118f7d5a92.autoconf = 1 +net.ipv6.conf.br-79118f7d5a92.dad_transmits = 1 +net.ipv6.conf.br-79118f7d5a92.disable_ipv6 = 0 +net.ipv6.conf.br-79118f7d5a92.disable_policy = 0 +net.ipv6.conf.br-79118f7d5a92.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.br-79118f7d5a92.drop_unsolicited_na = 0 +net.ipv6.conf.br-79118f7d5a92.enhanced_dad = 1 +net.ipv6.conf.br-79118f7d5a92.force_mld_version = 0 +net.ipv6.conf.br-79118f7d5a92.force_tllao = 0 +net.ipv6.conf.br-79118f7d5a92.forwarding = 0 +net.ipv6.conf.br-79118f7d5a92.hop_limit = 64 +net.ipv6.conf.br-79118f7d5a92.ignore_routes_with_linkdown = 0 +net.ipv6.conf.br-79118f7d5a92.ioam6_enabled = 0 +net.ipv6.conf.br-79118f7d5a92.ioam6_id = 65535 +net.ipv6.conf.br-79118f7d5a92.ioam6_id_wide = 4294967295 +net.ipv6.conf.br-79118f7d5a92.keep_addr_on_down = 0 +net.ipv6.conf.br-79118f7d5a92.max_addresses = 16 +net.ipv6.conf.br-79118f7d5a92.max_desync_factor = 600 +net.ipv6.conf.br-79118f7d5a92.mc_forwarding = 0 +net.ipv6.conf.br-79118f7d5a92.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.br-79118f7d5a92.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.br-79118f7d5a92.mtu = 1500 +net.ipv6.conf.br-79118f7d5a92.ndisc_evict_nocarrier = 1 +net.ipv6.conf.br-79118f7d5a92.ndisc_notify = 0 +net.ipv6.conf.br-79118f7d5a92.ndisc_tclass = 0 +net.ipv6.conf.br-79118f7d5a92.proxy_ndp = 0 +net.ipv6.conf.br-79118f7d5a92.ra_defrtr_metric = 1024 +net.ipv6.conf.br-79118f7d5a92.regen_max_retry = 3 +net.ipv6.conf.br-79118f7d5a92.router_probe_interval = 60 +net.ipv6.conf.br-79118f7d5a92.router_solicitation_delay = 1 +net.ipv6.conf.br-79118f7d5a92.router_solicitation_interval = 4 +net.ipv6.conf.br-79118f7d5a92.router_solicitation_max_interval = 3600 +net.ipv6.conf.br-79118f7d5a92.router_solicitations = -1 +net.ipv6.conf.br-79118f7d5a92.rpl_seg_enabled = 0 +net.ipv6.conf.br-79118f7d5a92.seg6_enabled = 0 +net.ipv6.conf.br-79118f7d5a92.seg6_require_hmac = 0 +net.ipv6.conf.br-79118f7d5a92.suppress_frag_ndisc = 1 +net.ipv6.conf.br-79118f7d5a92.temp_prefered_lft = 86400 +net.ipv6.conf.br-79118f7d5a92.temp_valid_lft = 604800 +net.ipv6.conf.br-79118f7d5a92.use_oif_addrs_only = 0 +net.ipv6.conf.br-79118f7d5a92.use_tempaddr = 2 +net.ipv6.conf.br-a7c7f1777df1.accept_dad = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_defrtr = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_from_local = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_min_hop_limit = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_min_lft = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_mtu = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_pinfo = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_rtr_pref = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_redirects = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_source_route = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_untracked_na = 0 +net.ipv6.conf.br-a7c7f1777df1.addr_gen_mode = 0 +net.ipv6.conf.br-a7c7f1777df1.autoconf = 1 +net.ipv6.conf.br-a7c7f1777df1.dad_transmits = 1 +net.ipv6.conf.br-a7c7f1777df1.disable_ipv6 = 0 +net.ipv6.conf.br-a7c7f1777df1.disable_policy = 0 +net.ipv6.conf.br-a7c7f1777df1.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.br-a7c7f1777df1.drop_unsolicited_na = 0 +net.ipv6.conf.br-a7c7f1777df1.enhanced_dad = 1 +net.ipv6.conf.br-a7c7f1777df1.force_mld_version = 0 +net.ipv6.conf.br-a7c7f1777df1.force_tllao = 0 +net.ipv6.conf.br-a7c7f1777df1.forwarding = 0 +net.ipv6.conf.br-a7c7f1777df1.hop_limit = 64 +net.ipv6.conf.br-a7c7f1777df1.ignore_routes_with_linkdown = 0 +net.ipv6.conf.br-a7c7f1777df1.ioam6_enabled = 0 +net.ipv6.conf.br-a7c7f1777df1.ioam6_id = 65535 +net.ipv6.conf.br-a7c7f1777df1.ioam6_id_wide = 4294967295 +net.ipv6.conf.br-a7c7f1777df1.keep_addr_on_down = 0 +net.ipv6.conf.br-a7c7f1777df1.max_addresses = 16 +net.ipv6.conf.br-a7c7f1777df1.max_desync_factor = 600 +net.ipv6.conf.br-a7c7f1777df1.mc_forwarding = 0 +net.ipv6.conf.br-a7c7f1777df1.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.br-a7c7f1777df1.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.br-a7c7f1777df1.mtu = 1500 +net.ipv6.conf.br-a7c7f1777df1.ndisc_evict_nocarrier = 1 +net.ipv6.conf.br-a7c7f1777df1.ndisc_notify = 0 +net.ipv6.conf.br-a7c7f1777df1.ndisc_tclass = 0 +net.ipv6.conf.br-a7c7f1777df1.proxy_ndp = 0 +net.ipv6.conf.br-a7c7f1777df1.ra_defrtr_metric = 1024 +net.ipv6.conf.br-a7c7f1777df1.regen_max_retry = 3 +net.ipv6.conf.br-a7c7f1777df1.router_probe_interval = 60 +net.ipv6.conf.br-a7c7f1777df1.router_solicitation_delay = 1 +net.ipv6.conf.br-a7c7f1777df1.router_solicitation_interval = 4 +net.ipv6.conf.br-a7c7f1777df1.router_solicitation_max_interval = 3600 +net.ipv6.conf.br-a7c7f1777df1.router_solicitations = -1 +net.ipv6.conf.br-a7c7f1777df1.rpl_seg_enabled = 0 +net.ipv6.conf.br-a7c7f1777df1.seg6_enabled = 0 +net.ipv6.conf.br-a7c7f1777df1.seg6_require_hmac = 0 +net.ipv6.conf.br-a7c7f1777df1.suppress_frag_ndisc = 1 +net.ipv6.conf.br-a7c7f1777df1.temp_prefered_lft = 86400 +net.ipv6.conf.br-a7c7f1777df1.temp_valid_lft = 604800 +net.ipv6.conf.br-a7c7f1777df1.use_oif_addrs_only = 0 +net.ipv6.conf.br-a7c7f1777df1.use_tempaddr = 2 +net.ipv6.conf.default.accept_dad = 1 +net.ipv6.conf.default.accept_ra = 1 +net.ipv6.conf.default.accept_ra_defrtr = 1 +net.ipv6.conf.default.accept_ra_from_local = 0 +net.ipv6.conf.default.accept_ra_min_hop_limit = 1 +net.ipv6.conf.default.accept_ra_min_lft = 0 +net.ipv6.conf.default.accept_ra_mtu = 1 +net.ipv6.conf.default.accept_ra_pinfo = 1 +net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.default.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.default.accept_ra_rtr_pref = 1 +net.ipv6.conf.default.accept_redirects = 1 +net.ipv6.conf.default.accept_source_route = 0 +net.ipv6.conf.default.accept_untracked_na = 0 +net.ipv6.conf.default.addr_gen_mode = 0 +net.ipv6.conf.default.autoconf = 1 +net.ipv6.conf.default.dad_transmits = 1 +net.ipv6.conf.default.disable_ipv6 = 0 +net.ipv6.conf.default.disable_policy = 0 +net.ipv6.conf.default.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.default.drop_unsolicited_na = 0 +net.ipv6.conf.default.enhanced_dad = 1 +net.ipv6.conf.default.force_mld_version = 0 +net.ipv6.conf.default.force_tllao = 0 +net.ipv6.conf.default.forwarding = 0 +net.ipv6.conf.default.hop_limit = 64 +net.ipv6.conf.default.ignore_routes_with_linkdown = 0 +net.ipv6.conf.default.ioam6_enabled = 0 +net.ipv6.conf.default.ioam6_id = 65535 +net.ipv6.conf.default.ioam6_id_wide = 4294967295 +net.ipv6.conf.default.keep_addr_on_down = 0 +net.ipv6.conf.default.max_addresses = 16 +net.ipv6.conf.default.max_desync_factor = 600 +net.ipv6.conf.default.mc_forwarding = 0 +net.ipv6.conf.default.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.default.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.default.mtu = 1280 +net.ipv6.conf.default.ndisc_evict_nocarrier = 1 +net.ipv6.conf.default.ndisc_notify = 0 +net.ipv6.conf.default.ndisc_tclass = 0 +net.ipv6.conf.default.proxy_ndp = 0 +net.ipv6.conf.default.ra_defrtr_metric = 1024 +net.ipv6.conf.default.regen_max_retry = 3 +net.ipv6.conf.default.router_probe_interval = 60 +net.ipv6.conf.default.router_solicitation_delay = 1 +net.ipv6.conf.default.router_solicitation_interval = 4 +net.ipv6.conf.default.router_solicitation_max_interval = 3600 +net.ipv6.conf.default.router_solicitations = -1 +net.ipv6.conf.default.rpl_seg_enabled = 0 +net.ipv6.conf.default.seg6_enabled = 0 +net.ipv6.conf.default.seg6_require_hmac = 0 +net.ipv6.conf.default.suppress_frag_ndisc = 1 +net.ipv6.conf.default.temp_prefered_lft = 86400 +net.ipv6.conf.default.temp_valid_lft = 604800 +net.ipv6.conf.default.use_oif_addrs_only = 0 +net.ipv6.conf.default.use_tempaddr = 2 +net.ipv6.conf.docker0.accept_dad = 1 +net.ipv6.conf.docker0.accept_ra = 0 +net.ipv6.conf.docker0.accept_ra_defrtr = 1 +net.ipv6.conf.docker0.accept_ra_from_local = 0 +net.ipv6.conf.docker0.accept_ra_min_hop_limit = 1 +net.ipv6.conf.docker0.accept_ra_min_lft = 0 +net.ipv6.conf.docker0.accept_ra_mtu = 1 +net.ipv6.conf.docker0.accept_ra_pinfo = 1 +net.ipv6.conf.docker0.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.docker0.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.docker0.accept_ra_rtr_pref = 1 +net.ipv6.conf.docker0.accept_redirects = 1 +net.ipv6.conf.docker0.accept_source_route = 0 +net.ipv6.conf.docker0.accept_untracked_na = 0 +net.ipv6.conf.docker0.addr_gen_mode = 0 +net.ipv6.conf.docker0.autoconf = 1 +net.ipv6.conf.docker0.dad_transmits = 1 +net.ipv6.conf.docker0.disable_ipv6 = 0 +net.ipv6.conf.docker0.disable_policy = 0 +net.ipv6.conf.docker0.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.docker0.drop_unsolicited_na = 0 +net.ipv6.conf.docker0.enhanced_dad = 1 +net.ipv6.conf.docker0.force_mld_version = 0 +net.ipv6.conf.docker0.force_tllao = 0 +net.ipv6.conf.docker0.forwarding = 0 +net.ipv6.conf.docker0.hop_limit = 64 +net.ipv6.conf.docker0.ignore_routes_with_linkdown = 0 +net.ipv6.conf.docker0.ioam6_enabled = 0 +net.ipv6.conf.docker0.ioam6_id = 65535 +net.ipv6.conf.docker0.ioam6_id_wide = 4294967295 +net.ipv6.conf.docker0.keep_addr_on_down = 0 +net.ipv6.conf.docker0.max_addresses = 16 +net.ipv6.conf.docker0.max_desync_factor = 600 +net.ipv6.conf.docker0.mc_forwarding = 0 +net.ipv6.conf.docker0.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.docker0.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.docker0.mtu = 1500 +net.ipv6.conf.docker0.ndisc_evict_nocarrier = 1 +net.ipv6.conf.docker0.ndisc_notify = 0 +net.ipv6.conf.docker0.ndisc_tclass = 0 +net.ipv6.conf.docker0.proxy_ndp = 0 +net.ipv6.conf.docker0.ra_defrtr_metric = 1024 +net.ipv6.conf.docker0.regen_max_retry = 3 +net.ipv6.conf.docker0.router_probe_interval = 60 +net.ipv6.conf.docker0.router_solicitation_delay = 1 +net.ipv6.conf.docker0.router_solicitation_interval = 4 +net.ipv6.conf.docker0.router_solicitation_max_interval = 3600 +net.ipv6.conf.docker0.router_solicitations = -1 +net.ipv6.conf.docker0.rpl_seg_enabled = 0 +net.ipv6.conf.docker0.seg6_enabled = 0 +net.ipv6.conf.docker0.seg6_require_hmac = 0 +net.ipv6.conf.docker0.suppress_frag_ndisc = 1 +net.ipv6.conf.docker0.temp_prefered_lft = 86400 +net.ipv6.conf.docker0.temp_valid_lft = 604800 +net.ipv6.conf.docker0.use_oif_addrs_only = 0 +net.ipv6.conf.docker0.use_tempaddr = 2 +net.ipv6.conf.enp46s0.accept_dad = 1 +net.ipv6.conf.enp46s0.accept_ra = 0 +net.ipv6.conf.enp46s0.accept_ra_defrtr = 1 +net.ipv6.conf.enp46s0.accept_ra_from_local = 0 +net.ipv6.conf.enp46s0.accept_ra_min_hop_limit = 1 +net.ipv6.conf.enp46s0.accept_ra_min_lft = 0 +net.ipv6.conf.enp46s0.accept_ra_mtu = 1 +net.ipv6.conf.enp46s0.accept_ra_pinfo = 1 +net.ipv6.conf.enp46s0.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.enp46s0.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.enp46s0.accept_ra_rtr_pref = 1 +net.ipv6.conf.enp46s0.accept_redirects = 1 +net.ipv6.conf.enp46s0.accept_source_route = 0 +net.ipv6.conf.enp46s0.accept_untracked_na = 0 +net.ipv6.conf.enp46s0.addr_gen_mode = 1 +net.ipv6.conf.enp46s0.autoconf = 1 +net.ipv6.conf.enp46s0.dad_transmits = 1 +net.ipv6.conf.enp46s0.disable_ipv6 = 0 +net.ipv6.conf.enp46s0.disable_policy = 0 +net.ipv6.conf.enp46s0.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.enp46s0.drop_unsolicited_na = 0 +net.ipv6.conf.enp46s0.enhanced_dad = 1 +net.ipv6.conf.enp46s0.force_mld_version = 0 +net.ipv6.conf.enp46s0.force_tllao = 0 +net.ipv6.conf.enp46s0.forwarding = 0 +net.ipv6.conf.enp46s0.hop_limit = 64 +net.ipv6.conf.enp46s0.ignore_routes_with_linkdown = 0 +net.ipv6.conf.enp46s0.ioam6_enabled = 0 +net.ipv6.conf.enp46s0.ioam6_id = 65535 +net.ipv6.conf.enp46s0.ioam6_id_wide = 4294967295 +net.ipv6.conf.enp46s0.keep_addr_on_down = 0 +net.ipv6.conf.enp46s0.max_addresses = 16 +net.ipv6.conf.enp46s0.max_desync_factor = 600 +net.ipv6.conf.enp46s0.mc_forwarding = 0 +net.ipv6.conf.enp46s0.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.enp46s0.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.enp46s0.mtu = 1500 +net.ipv6.conf.enp46s0.ndisc_evict_nocarrier = 1 +net.ipv6.conf.enp46s0.ndisc_notify = 0 +net.ipv6.conf.enp46s0.ndisc_tclass = 0 +net.ipv6.conf.enp46s0.proxy_ndp = 0 +net.ipv6.conf.enp46s0.ra_defrtr_metric = 1024 +net.ipv6.conf.enp46s0.regen_max_retry = 3 +net.ipv6.conf.enp46s0.router_probe_interval = 60 +net.ipv6.conf.enp46s0.router_solicitation_delay = 1 +net.ipv6.conf.enp46s0.router_solicitation_interval = 4 +net.ipv6.conf.enp46s0.router_solicitation_max_interval = 3600 +net.ipv6.conf.enp46s0.router_solicitations = -1 +net.ipv6.conf.enp46s0.rpl_seg_enabled = 0 +net.ipv6.conf.enp46s0.seg6_enabled = 0 +net.ipv6.conf.enp46s0.seg6_require_hmac = 0 +net.ipv6.conf.enp46s0.suppress_frag_ndisc = 1 +net.ipv6.conf.enp46s0.temp_prefered_lft = 86400 +net.ipv6.conf.enp46s0.temp_valid_lft = 604800 +net.ipv6.conf.enp46s0.use_oif_addrs_only = 0 +net.ipv6.conf.enp46s0.use_tempaddr = 0 +net.ipv6.conf.lo.accept_dad = -1 +net.ipv6.conf.lo.accept_ra = 1 +net.ipv6.conf.lo.accept_ra_defrtr = 1 +net.ipv6.conf.lo.accept_ra_from_local = 0 +net.ipv6.conf.lo.accept_ra_min_hop_limit = 1 +net.ipv6.conf.lo.accept_ra_min_lft = 0 +net.ipv6.conf.lo.accept_ra_mtu = 1 +net.ipv6.conf.lo.accept_ra_pinfo = 1 +net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.lo.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.lo.accept_ra_rtr_pref = 1 +net.ipv6.conf.lo.accept_redirects = 1 +net.ipv6.conf.lo.accept_source_route = 0 +net.ipv6.conf.lo.accept_untracked_na = 0 +net.ipv6.conf.lo.addr_gen_mode = 0 +net.ipv6.conf.lo.autoconf = 1 +net.ipv6.conf.lo.dad_transmits = 1 +net.ipv6.conf.lo.disable_ipv6 = 0 +net.ipv6.conf.lo.disable_policy = 0 +net.ipv6.conf.lo.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.lo.drop_unsolicited_na = 0 +net.ipv6.conf.lo.enhanced_dad = 1 +net.ipv6.conf.lo.force_mld_version = 0 +net.ipv6.conf.lo.force_tllao = 0 +net.ipv6.conf.lo.forwarding = 0 +net.ipv6.conf.lo.hop_limit = 64 +net.ipv6.conf.lo.ignore_routes_with_linkdown = 0 +net.ipv6.conf.lo.ioam6_enabled = 0 +net.ipv6.conf.lo.ioam6_id = 65535 +net.ipv6.conf.lo.ioam6_id_wide = 4294967295 +net.ipv6.conf.lo.keep_addr_on_down = 0 +net.ipv6.conf.lo.max_addresses = 16 +net.ipv6.conf.lo.max_desync_factor = 600 +net.ipv6.conf.lo.mc_forwarding = 0 +net.ipv6.conf.lo.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.lo.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.lo.mtu = 65536 +net.ipv6.conf.lo.ndisc_evict_nocarrier = 1 +net.ipv6.conf.lo.ndisc_notify = 0 +net.ipv6.conf.lo.ndisc_tclass = 0 +net.ipv6.conf.lo.proxy_ndp = 0 +net.ipv6.conf.lo.ra_defrtr_metric = 1024 +net.ipv6.conf.lo.regen_max_retry = 3 +net.ipv6.conf.lo.router_probe_interval = 60 +net.ipv6.conf.lo.router_solicitation_delay = 1 +net.ipv6.conf.lo.router_solicitation_interval = 4 +net.ipv6.conf.lo.router_solicitation_max_interval = 3600 +net.ipv6.conf.lo.router_solicitations = -1 +net.ipv6.conf.lo.rpl_seg_enabled = 0 +net.ipv6.conf.lo.seg6_enabled = 0 +net.ipv6.conf.lo.seg6_require_hmac = 0 +net.ipv6.conf.lo.suppress_frag_ndisc = 1 +net.ipv6.conf.lo.temp_prefered_lft = 86400 +net.ipv6.conf.lo.temp_valid_lft = 604800 +net.ipv6.conf.lo.use_oif_addrs_only = 0 +net.ipv6.conf.lo.use_tempaddr = -1 +net.ipv6.conf.veth0655c9f.accept_dad = 1 +net.ipv6.conf.veth0655c9f.accept_ra = 1 +net.ipv6.conf.veth0655c9f.accept_ra_defrtr = 1 +net.ipv6.conf.veth0655c9f.accept_ra_from_local = 0 +net.ipv6.conf.veth0655c9f.accept_ra_min_hop_limit = 1 +net.ipv6.conf.veth0655c9f.accept_ra_min_lft = 0 +net.ipv6.conf.veth0655c9f.accept_ra_mtu = 1 +net.ipv6.conf.veth0655c9f.accept_ra_pinfo = 1 +net.ipv6.conf.veth0655c9f.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.veth0655c9f.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.veth0655c9f.accept_ra_rtr_pref = 1 +net.ipv6.conf.veth0655c9f.accept_redirects = 1 +net.ipv6.conf.veth0655c9f.accept_source_route = 0 +net.ipv6.conf.veth0655c9f.accept_untracked_na = 0 +net.ipv6.conf.veth0655c9f.addr_gen_mode = 0 +net.ipv6.conf.veth0655c9f.autoconf = 1 +net.ipv6.conf.veth0655c9f.dad_transmits = 1 +net.ipv6.conf.veth0655c9f.disable_ipv6 = 0 +net.ipv6.conf.veth0655c9f.disable_policy = 0 +net.ipv6.conf.veth0655c9f.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.veth0655c9f.drop_unsolicited_na = 0 +net.ipv6.conf.veth0655c9f.enhanced_dad = 1 +net.ipv6.conf.veth0655c9f.force_mld_version = 0 +net.ipv6.conf.veth0655c9f.force_tllao = 0 +net.ipv6.conf.veth0655c9f.forwarding = 0 +net.ipv6.conf.veth0655c9f.hop_limit = 64 +net.ipv6.conf.veth0655c9f.ignore_routes_with_linkdown = 0 +net.ipv6.conf.veth0655c9f.ioam6_enabled = 0 +net.ipv6.conf.veth0655c9f.ioam6_id = 65535 +net.ipv6.conf.veth0655c9f.ioam6_id_wide = 4294967295 +net.ipv6.conf.veth0655c9f.keep_addr_on_down = 0 +net.ipv6.conf.veth0655c9f.max_addresses = 16 +net.ipv6.conf.veth0655c9f.max_desync_factor = 600 +net.ipv6.conf.veth0655c9f.mc_forwarding = 0 +net.ipv6.conf.veth0655c9f.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.veth0655c9f.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.veth0655c9f.mtu = 1500 +net.ipv6.conf.veth0655c9f.ndisc_evict_nocarrier = 1 +net.ipv6.conf.veth0655c9f.ndisc_notify = 0 +net.ipv6.conf.veth0655c9f.ndisc_tclass = 0 +net.ipv6.conf.veth0655c9f.proxy_ndp = 0 +net.ipv6.conf.veth0655c9f.ra_defrtr_metric = 1024 +net.ipv6.conf.veth0655c9f.regen_max_retry = 3 +net.ipv6.conf.veth0655c9f.router_probe_interval = 60 +net.ipv6.conf.veth0655c9f.router_solicitation_delay = 1 +net.ipv6.conf.veth0655c9f.router_solicitation_interval = 4 +net.ipv6.conf.veth0655c9f.router_solicitation_max_interval = 3600 +net.ipv6.conf.veth0655c9f.router_solicitations = -1 +net.ipv6.conf.veth0655c9f.rpl_seg_enabled = 0 +net.ipv6.conf.veth0655c9f.seg6_enabled = 0 +net.ipv6.conf.veth0655c9f.seg6_require_hmac = 0 +net.ipv6.conf.veth0655c9f.suppress_frag_ndisc = 1 +net.ipv6.conf.veth0655c9f.temp_prefered_lft = 86400 +net.ipv6.conf.veth0655c9f.temp_valid_lft = 604800 +net.ipv6.conf.veth0655c9f.use_oif_addrs_only = 0 +net.ipv6.conf.veth0655c9f.use_tempaddr = 2 +net.ipv6.conf.veth2655c84.accept_dad = 1 +net.ipv6.conf.veth2655c84.accept_ra = 1 +net.ipv6.conf.veth2655c84.accept_ra_defrtr = 1 +net.ipv6.conf.veth2655c84.accept_ra_from_local = 0 +net.ipv6.conf.veth2655c84.accept_ra_min_hop_limit = 1 +net.ipv6.conf.veth2655c84.accept_ra_min_lft = 0 +net.ipv6.conf.veth2655c84.accept_ra_mtu = 1 +net.ipv6.conf.veth2655c84.accept_ra_pinfo = 1 +net.ipv6.conf.veth2655c84.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.veth2655c84.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.veth2655c84.accept_ra_rtr_pref = 1 +net.ipv6.conf.veth2655c84.accept_redirects = 1 +net.ipv6.conf.veth2655c84.accept_source_route = 0 +net.ipv6.conf.veth2655c84.accept_untracked_na = 0 +net.ipv6.conf.veth2655c84.addr_gen_mode = 0 +net.ipv6.conf.veth2655c84.autoconf = 1 +net.ipv6.conf.veth2655c84.dad_transmits = 1 +net.ipv6.conf.veth2655c84.disable_ipv6 = 0 +net.ipv6.conf.veth2655c84.disable_policy = 0 +net.ipv6.conf.veth2655c84.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.veth2655c84.drop_unsolicited_na = 0 +net.ipv6.conf.veth2655c84.enhanced_dad = 1 +net.ipv6.conf.veth2655c84.force_mld_version = 0 +net.ipv6.conf.veth2655c84.force_tllao = 0 +net.ipv6.conf.veth2655c84.forwarding = 0 +net.ipv6.conf.veth2655c84.hop_limit = 64 +net.ipv6.conf.veth2655c84.ignore_routes_with_linkdown = 0 +net.ipv6.conf.veth2655c84.ioam6_enabled = 0 +net.ipv6.conf.veth2655c84.ioam6_id = 65535 +net.ipv6.conf.veth2655c84.ioam6_id_wide = 4294967295 +net.ipv6.conf.veth2655c84.keep_addr_on_down = 0 +net.ipv6.conf.veth2655c84.max_addresses = 16 +net.ipv6.conf.veth2655c84.max_desync_factor = 600 +net.ipv6.conf.veth2655c84.mc_forwarding = 0 +net.ipv6.conf.veth2655c84.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.veth2655c84.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.veth2655c84.mtu = 1500 +net.ipv6.conf.veth2655c84.ndisc_evict_nocarrier = 1 +net.ipv6.conf.veth2655c84.ndisc_notify = 0 +net.ipv6.conf.veth2655c84.ndisc_tclass = 0 +net.ipv6.conf.veth2655c84.proxy_ndp = 0 +net.ipv6.conf.veth2655c84.ra_defrtr_metric = 1024 +net.ipv6.conf.veth2655c84.regen_max_retry = 3 +net.ipv6.conf.veth2655c84.router_probe_interval = 60 +net.ipv6.conf.veth2655c84.router_solicitation_delay = 1 +net.ipv6.conf.veth2655c84.router_solicitation_interval = 4 +net.ipv6.conf.veth2655c84.router_solicitation_max_interval = 3600 +net.ipv6.conf.veth2655c84.router_solicitations = -1 +net.ipv6.conf.veth2655c84.rpl_seg_enabled = 0 +net.ipv6.conf.veth2655c84.seg6_enabled = 0 +net.ipv6.conf.veth2655c84.seg6_require_hmac = 0 +net.ipv6.conf.veth2655c84.suppress_frag_ndisc = 1 +net.ipv6.conf.veth2655c84.temp_prefered_lft = 86400 +net.ipv6.conf.veth2655c84.temp_valid_lft = 604800 +net.ipv6.conf.veth2655c84.use_oif_addrs_only = 0 +net.ipv6.conf.veth2655c84.use_tempaddr = 2 +net.ipv6.conf.vethd189986.accept_dad = 1 +net.ipv6.conf.vethd189986.accept_ra = 1 +net.ipv6.conf.vethd189986.accept_ra_defrtr = 1 +net.ipv6.conf.vethd189986.accept_ra_from_local = 0 +net.ipv6.conf.vethd189986.accept_ra_min_hop_limit = 1 +net.ipv6.conf.vethd189986.accept_ra_min_lft = 0 +net.ipv6.conf.vethd189986.accept_ra_mtu = 1 +net.ipv6.conf.vethd189986.accept_ra_pinfo = 1 +net.ipv6.conf.vethd189986.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.vethd189986.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.vethd189986.accept_ra_rtr_pref = 1 +net.ipv6.conf.vethd189986.accept_redirects = 1 +net.ipv6.conf.vethd189986.accept_source_route = 0 +net.ipv6.conf.vethd189986.accept_untracked_na = 0 +net.ipv6.conf.vethd189986.addr_gen_mode = 0 +net.ipv6.conf.vethd189986.autoconf = 1 +net.ipv6.conf.vethd189986.dad_transmits = 1 +net.ipv6.conf.vethd189986.disable_ipv6 = 0 +net.ipv6.conf.vethd189986.disable_policy = 0 +net.ipv6.conf.vethd189986.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.vethd189986.drop_unsolicited_na = 0 +net.ipv6.conf.vethd189986.enhanced_dad = 1 +net.ipv6.conf.vethd189986.force_mld_version = 0 +net.ipv6.conf.vethd189986.force_tllao = 0 +net.ipv6.conf.vethd189986.forwarding = 0 +net.ipv6.conf.vethd189986.hop_limit = 64 +net.ipv6.conf.vethd189986.ignore_routes_with_linkdown = 0 +net.ipv6.conf.vethd189986.ioam6_enabled = 0 +net.ipv6.conf.vethd189986.ioam6_id = 65535 +net.ipv6.conf.vethd189986.ioam6_id_wide = 4294967295 +net.ipv6.conf.vethd189986.keep_addr_on_down = 0 +net.ipv6.conf.vethd189986.max_addresses = 16 +net.ipv6.conf.vethd189986.max_desync_factor = 600 +net.ipv6.conf.vethd189986.mc_forwarding = 0 +net.ipv6.conf.vethd189986.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.vethd189986.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.vethd189986.mtu = 1500 +net.ipv6.conf.vethd189986.ndisc_evict_nocarrier = 1 +net.ipv6.conf.vethd189986.ndisc_notify = 0 +net.ipv6.conf.vethd189986.ndisc_tclass = 0 +net.ipv6.conf.vethd189986.proxy_ndp = 0 +net.ipv6.conf.vethd189986.ra_defrtr_metric = 1024 +net.ipv6.conf.vethd189986.regen_max_retry = 3 +net.ipv6.conf.vethd189986.router_probe_interval = 60 +net.ipv6.conf.vethd189986.router_solicitation_delay = 1 +net.ipv6.conf.vethd189986.router_solicitation_interval = 4 +net.ipv6.conf.vethd189986.router_solicitation_max_interval = 3600 +net.ipv6.conf.vethd189986.router_solicitations = -1 +net.ipv6.conf.vethd189986.rpl_seg_enabled = 0 +net.ipv6.conf.vethd189986.seg6_enabled = 0 +net.ipv6.conf.vethd189986.seg6_require_hmac = 0 +net.ipv6.conf.vethd189986.suppress_frag_ndisc = 1 +net.ipv6.conf.vethd189986.temp_prefered_lft = 86400 +net.ipv6.conf.vethd189986.temp_valid_lft = 604800 +net.ipv6.conf.vethd189986.use_oif_addrs_only = 0 +net.ipv6.conf.vethd189986.use_tempaddr = 2 +net.ipv6.conf.wg0.accept_dad = -1 +net.ipv6.conf.wg0.accept_ra = 1 +net.ipv6.conf.wg0.accept_ra_defrtr = 1 +net.ipv6.conf.wg0.accept_ra_from_local = 0 +net.ipv6.conf.wg0.accept_ra_min_hop_limit = 1 +net.ipv6.conf.wg0.accept_ra_min_lft = 0 +net.ipv6.conf.wg0.accept_ra_mtu = 1 +net.ipv6.conf.wg0.accept_ra_pinfo = 1 +net.ipv6.conf.wg0.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.wg0.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.wg0.accept_ra_rtr_pref = 1 +net.ipv6.conf.wg0.accept_redirects = 1 +net.ipv6.conf.wg0.accept_source_route = 0 +net.ipv6.conf.wg0.accept_untracked_na = 0 +net.ipv6.conf.wg0.addr_gen_mode = 1 +net.ipv6.conf.wg0.autoconf = 1 +net.ipv6.conf.wg0.dad_transmits = 1 +net.ipv6.conf.wg0.disable_ipv6 = 0 +net.ipv6.conf.wg0.disable_policy = 0 +net.ipv6.conf.wg0.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.wg0.drop_unsolicited_na = 0 +net.ipv6.conf.wg0.enhanced_dad = 1 +net.ipv6.conf.wg0.force_mld_version = 0 +net.ipv6.conf.wg0.force_tllao = 0 +net.ipv6.conf.wg0.forwarding = 0 +net.ipv6.conf.wg0.hop_limit = 64 +net.ipv6.conf.wg0.ignore_routes_with_linkdown = 0 +net.ipv6.conf.wg0.ioam6_enabled = 0 +net.ipv6.conf.wg0.ioam6_id = 65535 +net.ipv6.conf.wg0.ioam6_id_wide = 4294967295 +net.ipv6.conf.wg0.keep_addr_on_down = 0 +net.ipv6.conf.wg0.max_addresses = 16 +net.ipv6.conf.wg0.max_desync_factor = 600 +net.ipv6.conf.wg0.mc_forwarding = 0 +net.ipv6.conf.wg0.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.wg0.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.wg0.mtu = 1420 +net.ipv6.conf.wg0.ndisc_evict_nocarrier = 1 +net.ipv6.conf.wg0.ndisc_notify = 0 +net.ipv6.conf.wg0.ndisc_tclass = 0 +net.ipv6.conf.wg0.proxy_ndp = 0 +net.ipv6.conf.wg0.ra_defrtr_metric = 1024 +net.ipv6.conf.wg0.regen_max_retry = 3 +net.ipv6.conf.wg0.router_probe_interval = 60 +net.ipv6.conf.wg0.router_solicitation_delay = 1 +net.ipv6.conf.wg0.router_solicitation_interval = 4 +net.ipv6.conf.wg0.router_solicitation_max_interval = 3600 +net.ipv6.conf.wg0.router_solicitations = -1 +net.ipv6.conf.wg0.rpl_seg_enabled = 0 +net.ipv6.conf.wg0.seg6_enabled = 0 +net.ipv6.conf.wg0.seg6_require_hmac = 0 +net.ipv6.conf.wg0.suppress_frag_ndisc = 1 +net.ipv6.conf.wg0.temp_prefered_lft = 86400 +net.ipv6.conf.wg0.temp_valid_lft = 604800 +net.ipv6.conf.wg0.use_oif_addrs_only = 0 +net.ipv6.conf.wg0.use_tempaddr = -1 +net.ipv6.conf.wlp0s20f3.accept_dad = 1 +net.ipv6.conf.wlp0s20f3.accept_ra = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_defrtr = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_from_local = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_min_hop_limit = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_min_lft = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_mtu = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_pinfo = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_rtr_pref = 1 +net.ipv6.conf.wlp0s20f3.accept_redirects = 1 +net.ipv6.conf.wlp0s20f3.accept_source_route = 0 +net.ipv6.conf.wlp0s20f3.accept_untracked_na = 0 +net.ipv6.conf.wlp0s20f3.addr_gen_mode = 1 +net.ipv6.conf.wlp0s20f3.autoconf = 1 +net.ipv6.conf.wlp0s20f3.dad_transmits = 1 +net.ipv6.conf.wlp0s20f3.disable_ipv6 = 0 +net.ipv6.conf.wlp0s20f3.disable_policy = 0 +net.ipv6.conf.wlp0s20f3.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.wlp0s20f3.drop_unsolicited_na = 0 +net.ipv6.conf.wlp0s20f3.enhanced_dad = 1 +net.ipv6.conf.wlp0s20f3.force_mld_version = 0 +net.ipv6.conf.wlp0s20f3.force_tllao = 0 +net.ipv6.conf.wlp0s20f3.forwarding = 0 +net.ipv6.conf.wlp0s20f3.hop_limit = 64 +net.ipv6.conf.wlp0s20f3.ignore_routes_with_linkdown = 0 +net.ipv6.conf.wlp0s20f3.ioam6_enabled = 0 +net.ipv6.conf.wlp0s20f3.ioam6_id = 65535 +net.ipv6.conf.wlp0s20f3.ioam6_id_wide = 4294967295 +net.ipv6.conf.wlp0s20f3.keep_addr_on_down = 0 +net.ipv6.conf.wlp0s20f3.max_addresses = 16 +net.ipv6.conf.wlp0s20f3.max_desync_factor = 600 +net.ipv6.conf.wlp0s20f3.mc_forwarding = 0 +net.ipv6.conf.wlp0s20f3.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.wlp0s20f3.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.wlp0s20f3.mtu = 1500 +net.ipv6.conf.wlp0s20f3.ndisc_evict_nocarrier = 1 +net.ipv6.conf.wlp0s20f3.ndisc_notify = 0 +net.ipv6.conf.wlp0s20f3.ndisc_tclass = 0 +net.ipv6.conf.wlp0s20f3.proxy_ndp = 0 +net.ipv6.conf.wlp0s20f3.ra_defrtr_metric = 1024 +net.ipv6.conf.wlp0s20f3.regen_max_retry = 3 +net.ipv6.conf.wlp0s20f3.router_probe_interval = 60 +net.ipv6.conf.wlp0s20f3.router_solicitation_delay = 1 +net.ipv6.conf.wlp0s20f3.router_solicitation_interval = 4 +net.ipv6.conf.wlp0s20f3.router_solicitation_max_interval = 3600 +net.ipv6.conf.wlp0s20f3.router_solicitations = -1 +net.ipv6.conf.wlp0s20f3.rpl_seg_enabled = 0 +net.ipv6.conf.wlp0s20f3.seg6_enabled = 0 +net.ipv6.conf.wlp0s20f3.seg6_require_hmac = 0 +net.ipv6.conf.wlp0s20f3.suppress_frag_ndisc = 1 +net.ipv6.conf.wlp0s20f3.temp_prefered_lft = 86400 +net.ipv6.conf.wlp0s20f3.temp_valid_lft = 604800 +net.ipv6.conf.wlp0s20f3.use_oif_addrs_only = 0 +net.ipv6.conf.wlp0s20f3.use_tempaddr = 2 +net.ipv6.fib_multipath_hash_fields = 7 +net.ipv6.fib_multipath_hash_policy = 0 +net.ipv6.fib_notify_on_flag_change = 0 +net.ipv6.flowlabel_consistency = 1 +net.ipv6.flowlabel_reflect = 0 +net.ipv6.flowlabel_state_ranges = 0 +net.ipv6.fwmark_reflect = 0 +net.ipv6.icmp.echo_ignore_all = 0 +net.ipv6.icmp.echo_ignore_anycast = 0 +net.ipv6.icmp.echo_ignore_multicast = 0 +net.ipv6.icmp.error_anycast_as_unicast = 0 +net.ipv6.icmp.ratelimit = 1000 +net.ipv6.icmp.ratemask = 0-1,3-127 +net.ipv6.idgen_delay = 1 +net.ipv6.idgen_retries = 3 +net.ipv6.ioam6_id = 16777215 +net.ipv6.ioam6_id_wide = 72057594037927935 +net.ipv6.ip6frag_high_thresh = 4194304 +net.ipv6.ip6frag_low_thresh = 3145728 +net.ipv6.ip6frag_secret_interval = 0 +net.ipv6.ip6frag_time = 60 +net.ipv6.ip_nonlocal_bind = 0 +net.ipv6.max_dst_opts_length = 2147483647 +net.ipv6.max_dst_opts_number = 8 +net.ipv6.max_hbh_length = 2147483647 +net.ipv6.max_hbh_opts_number = 8 +net.ipv6.mld_max_msf = 64 +net.ipv6.mld_qrv = 2 +net.ipv6.neigh.br-79118f7d5a92.anycast_delay = 100 +net.ipv6.neigh.br-79118f7d5a92.app_solicit = 0 +net.ipv6.neigh.br-79118f7d5a92.base_reachable_time_ms = 30000 +net.ipv6.neigh.br-79118f7d5a92.delay_first_probe_time = 5 +net.ipv6.neigh.br-79118f7d5a92.gc_stale_time = 60 +net.ipv6.neigh.br-79118f7d5a92.interval_probe_time_ms = 5000 +net.ipv6.neigh.br-79118f7d5a92.locktime = 0 +net.ipv6.neigh.br-79118f7d5a92.mcast_resolicit = 0 +net.ipv6.neigh.br-79118f7d5a92.mcast_solicit = 3 +net.ipv6.neigh.br-79118f7d5a92.proxy_delay = 80 +net.ipv6.neigh.br-79118f7d5a92.proxy_qlen = 64 +net.ipv6.neigh.br-79118f7d5a92.retrans_time_ms = 1000 +net.ipv6.neigh.br-79118f7d5a92.ucast_solicit = 3 +net.ipv6.neigh.br-79118f7d5a92.unres_qlen = 101 +net.ipv6.neigh.br-79118f7d5a92.unres_qlen_bytes = 212992 +net.ipv6.neigh.br-a7c7f1777df1.anycast_delay = 100 +net.ipv6.neigh.br-a7c7f1777df1.app_solicit = 0 +net.ipv6.neigh.br-a7c7f1777df1.base_reachable_time_ms = 30000 +net.ipv6.neigh.br-a7c7f1777df1.delay_first_probe_time = 5 +net.ipv6.neigh.br-a7c7f1777df1.gc_stale_time = 60 +net.ipv6.neigh.br-a7c7f1777df1.interval_probe_time_ms = 5000 +net.ipv6.neigh.br-a7c7f1777df1.locktime = 0 +net.ipv6.neigh.br-a7c7f1777df1.mcast_resolicit = 0 +net.ipv6.neigh.br-a7c7f1777df1.mcast_solicit = 3 +net.ipv6.neigh.br-a7c7f1777df1.proxy_delay = 80 +net.ipv6.neigh.br-a7c7f1777df1.proxy_qlen = 64 +net.ipv6.neigh.br-a7c7f1777df1.retrans_time_ms = 1000 +net.ipv6.neigh.br-a7c7f1777df1.ucast_solicit = 3 +net.ipv6.neigh.br-a7c7f1777df1.unres_qlen = 101 +net.ipv6.neigh.br-a7c7f1777df1.unres_qlen_bytes = 212992 +net.ipv6.neigh.default.anycast_delay = 100 +net.ipv6.neigh.default.app_solicit = 0 +net.ipv6.neigh.default.base_reachable_time_ms = 30000 +net.ipv6.neigh.default.delay_first_probe_time = 5 +net.ipv6.neigh.default.gc_interval = 30 +net.ipv6.neigh.default.gc_stale_time = 60 +net.ipv6.neigh.default.gc_thresh1 = 128 +net.ipv6.neigh.default.gc_thresh2 = 512 +net.ipv6.neigh.default.gc_thresh3 = 1024 +net.ipv6.neigh.default.interval_probe_time_ms = 5000 +net.ipv6.neigh.default.locktime = 0 +net.ipv6.neigh.default.mcast_resolicit = 0 +net.ipv6.neigh.default.mcast_solicit = 3 +net.ipv6.neigh.default.proxy_delay = 80 +net.ipv6.neigh.default.proxy_qlen = 64 +net.ipv6.neigh.default.retrans_time_ms = 1000 +net.ipv6.neigh.default.ucast_solicit = 3 +net.ipv6.neigh.default.unres_qlen = 101 +net.ipv6.neigh.default.unres_qlen_bytes = 212992 +net.ipv6.neigh.docker0.anycast_delay = 100 +net.ipv6.neigh.docker0.app_solicit = 0 +net.ipv6.neigh.docker0.base_reachable_time_ms = 30000 +net.ipv6.neigh.docker0.delay_first_probe_time = 5 +net.ipv6.neigh.docker0.gc_stale_time = 60 +net.ipv6.neigh.docker0.interval_probe_time_ms = 5000 +net.ipv6.neigh.docker0.locktime = 0 +net.ipv6.neigh.docker0.mcast_resolicit = 0 +net.ipv6.neigh.docker0.mcast_solicit = 3 +net.ipv6.neigh.docker0.proxy_delay = 80 +net.ipv6.neigh.docker0.proxy_qlen = 64 +net.ipv6.neigh.docker0.retrans_time_ms = 1000 +net.ipv6.neigh.docker0.ucast_solicit = 3 +net.ipv6.neigh.docker0.unres_qlen = 101 +net.ipv6.neigh.docker0.unres_qlen_bytes = 212992 +net.ipv6.neigh.enp46s0.anycast_delay = 100 +net.ipv6.neigh.enp46s0.app_solicit = 0 +net.ipv6.neigh.enp46s0.base_reachable_time_ms = 30000 +net.ipv6.neigh.enp46s0.delay_first_probe_time = 5 +net.ipv6.neigh.enp46s0.gc_stale_time = 60 +net.ipv6.neigh.enp46s0.interval_probe_time_ms = 5000 +net.ipv6.neigh.enp46s0.locktime = 0 +net.ipv6.neigh.enp46s0.mcast_resolicit = 0 +net.ipv6.neigh.enp46s0.mcast_solicit = 3 +net.ipv6.neigh.enp46s0.proxy_delay = 80 +net.ipv6.neigh.enp46s0.proxy_qlen = 64 +net.ipv6.neigh.enp46s0.retrans_time_ms = 1000 +net.ipv6.neigh.enp46s0.ucast_solicit = 3 +net.ipv6.neigh.enp46s0.unres_qlen = 101 +net.ipv6.neigh.enp46s0.unres_qlen_bytes = 212992 +net.ipv6.neigh.lo.anycast_delay = 100 +net.ipv6.neigh.lo.app_solicit = 0 +net.ipv6.neigh.lo.base_reachable_time_ms = 30000 +net.ipv6.neigh.lo.delay_first_probe_time = 5 +net.ipv6.neigh.lo.gc_stale_time = 60 +net.ipv6.neigh.lo.interval_probe_time_ms = 5000 +net.ipv6.neigh.lo.locktime = 0 +net.ipv6.neigh.lo.mcast_resolicit = 0 +net.ipv6.neigh.lo.mcast_solicit = 3 +net.ipv6.neigh.lo.proxy_delay = 80 +net.ipv6.neigh.lo.proxy_qlen = 64 +net.ipv6.neigh.lo.retrans_time_ms = 1000 +net.ipv6.neigh.lo.ucast_solicit = 3 +net.ipv6.neigh.lo.unres_qlen = 101 +net.ipv6.neigh.lo.unres_qlen_bytes = 212992 +net.ipv6.neigh.veth0655c9f.anycast_delay = 100 +net.ipv6.neigh.veth0655c9f.app_solicit = 0 +net.ipv6.neigh.veth0655c9f.base_reachable_time_ms = 30000 +net.ipv6.neigh.veth0655c9f.delay_first_probe_time = 5 +net.ipv6.neigh.veth0655c9f.gc_stale_time = 60 +net.ipv6.neigh.veth0655c9f.interval_probe_time_ms = 5000 +net.ipv6.neigh.veth0655c9f.locktime = 0 +net.ipv6.neigh.veth0655c9f.mcast_resolicit = 0 +net.ipv6.neigh.veth0655c9f.mcast_solicit = 3 +net.ipv6.neigh.veth0655c9f.proxy_delay = 80 +net.ipv6.neigh.veth0655c9f.proxy_qlen = 64 +net.ipv6.neigh.veth0655c9f.retrans_time_ms = 1000 +net.ipv6.neigh.veth0655c9f.ucast_solicit = 3 +net.ipv6.neigh.veth0655c9f.unres_qlen = 101 +net.ipv6.neigh.veth0655c9f.unres_qlen_bytes = 212992 +net.ipv6.neigh.veth2655c84.anycast_delay = 100 +net.ipv6.neigh.veth2655c84.app_solicit = 0 +net.ipv6.neigh.veth2655c84.base_reachable_time_ms = 30000 +net.ipv6.neigh.veth2655c84.delay_first_probe_time = 5 +net.ipv6.neigh.veth2655c84.gc_stale_time = 60 +net.ipv6.neigh.veth2655c84.interval_probe_time_ms = 5000 +net.ipv6.neigh.veth2655c84.locktime = 0 +net.ipv6.neigh.veth2655c84.mcast_resolicit = 0 +net.ipv6.neigh.veth2655c84.mcast_solicit = 3 +net.ipv6.neigh.veth2655c84.proxy_delay = 80 +net.ipv6.neigh.veth2655c84.proxy_qlen = 64 +net.ipv6.neigh.veth2655c84.retrans_time_ms = 1000 +net.ipv6.neigh.veth2655c84.ucast_solicit = 3 +net.ipv6.neigh.veth2655c84.unres_qlen = 101 +net.ipv6.neigh.veth2655c84.unres_qlen_bytes = 212992 +net.ipv6.neigh.vethd189986.anycast_delay = 100 +net.ipv6.neigh.vethd189986.app_solicit = 0 +net.ipv6.neigh.vethd189986.base_reachable_time_ms = 30000 +net.ipv6.neigh.vethd189986.delay_first_probe_time = 5 +net.ipv6.neigh.vethd189986.gc_stale_time = 60 +net.ipv6.neigh.vethd189986.interval_probe_time_ms = 5000 +net.ipv6.neigh.vethd189986.locktime = 0 +net.ipv6.neigh.vethd189986.mcast_resolicit = 0 +net.ipv6.neigh.vethd189986.mcast_solicit = 3 +net.ipv6.neigh.vethd189986.proxy_delay = 80 +net.ipv6.neigh.vethd189986.proxy_qlen = 64 +net.ipv6.neigh.vethd189986.retrans_time_ms = 1000 +net.ipv6.neigh.vethd189986.ucast_solicit = 3 +net.ipv6.neigh.vethd189986.unres_qlen = 101 +net.ipv6.neigh.vethd189986.unres_qlen_bytes = 212992 +net.ipv6.neigh.wg0.anycast_delay = 100 +net.ipv6.neigh.wg0.app_solicit = 0 +net.ipv6.neigh.wg0.base_reachable_time_ms = 30000 +net.ipv6.neigh.wg0.delay_first_probe_time = 5 +net.ipv6.neigh.wg0.gc_stale_time = 60 +net.ipv6.neigh.wg0.interval_probe_time_ms = 5000 +net.ipv6.neigh.wg0.locktime = 0 +net.ipv6.neigh.wg0.mcast_resolicit = 0 +net.ipv6.neigh.wg0.mcast_solicit = 3 +net.ipv6.neigh.wg0.proxy_delay = 80 +net.ipv6.neigh.wg0.proxy_qlen = 64 +net.ipv6.neigh.wg0.retrans_time_ms = 1000 +net.ipv6.neigh.wg0.ucast_solicit = 3 +net.ipv6.neigh.wg0.unres_qlen = 101 +net.ipv6.neigh.wg0.unres_qlen_bytes = 212992 +net.ipv6.neigh.wlp0s20f3.anycast_delay = 100 +net.ipv6.neigh.wlp0s20f3.app_solicit = 0 +net.ipv6.neigh.wlp0s20f3.base_reachable_time_ms = 30000 +net.ipv6.neigh.wlp0s20f3.delay_first_probe_time = 5 +net.ipv6.neigh.wlp0s20f3.gc_stale_time = 60 +net.ipv6.neigh.wlp0s20f3.interval_probe_time_ms = 5000 +net.ipv6.neigh.wlp0s20f3.locktime = 0 +net.ipv6.neigh.wlp0s20f3.mcast_resolicit = 0 +net.ipv6.neigh.wlp0s20f3.mcast_solicit = 3 +net.ipv6.neigh.wlp0s20f3.proxy_delay = 80 +net.ipv6.neigh.wlp0s20f3.proxy_qlen = 64 +net.ipv6.neigh.wlp0s20f3.retrans_time_ms = 1000 +net.ipv6.neigh.wlp0s20f3.ucast_solicit = 3 +net.ipv6.neigh.wlp0s20f3.unres_qlen = 101 +net.ipv6.neigh.wlp0s20f3.unres_qlen_bytes = 212992 +net.ipv6.route.gc_elasticity = 9 +net.ipv6.route.gc_interval = 30 +net.ipv6.route.gc_min_interval = 0 +net.ipv6.route.gc_min_interval_ms = 500 +net.ipv6.route.gc_thresh = 1024 +net.ipv6.route.gc_timeout = 60 +net.ipv6.route.max_size = 2147483647 +net.ipv6.route.min_adv_mss = 1220 +net.ipv6.route.mtu_expires = 600 +net.ipv6.route.skip_notify_on_dev_down = 0 +net.ipv6.seg6_flowlabel = 0 +net.ipv6.xfrm6_gc_thresh = 32768 +net.mptcp.add_addr_timeout = 120 +net.mptcp.allow_join_initial_addr_port = 1 +net.mptcp.checksum_enabled = 0 +net.mptcp.enabled = 1 +net.mptcp.pm_type = 0 +net.mptcp.stale_loss_cnt = 4 +net.netfilter.nf_conntrack_acct = 0 +net.netfilter.nf_conntrack_buckets = 262144 +net.netfilter.nf_conntrack_checksum = 1 +net.netfilter.nf_conntrack_count = 1421 +net.netfilter.nf_conntrack_dccp_loose = 1 +net.netfilter.nf_conntrack_dccp_timeout_closereq = 64 +net.netfilter.nf_conntrack_dccp_timeout_closing = 64 +net.netfilter.nf_conntrack_dccp_timeout_open = 43200 +net.netfilter.nf_conntrack_dccp_timeout_partopen = 480 +net.netfilter.nf_conntrack_dccp_timeout_request = 240 +net.netfilter.nf_conntrack_dccp_timeout_respond = 480 +net.netfilter.nf_conntrack_dccp_timeout_timewait = 240 +net.netfilter.nf_conntrack_events = 2 +net.netfilter.nf_conntrack_expect_max = 4096 +net.netfilter.nf_conntrack_frag6_high_thresh = 4194304 +net.netfilter.nf_conntrack_frag6_low_thresh = 3145728 +net.netfilter.nf_conntrack_frag6_timeout = 60 +net.netfilter.nf_conntrack_generic_timeout = 600 +net.netfilter.nf_conntrack_gre_timeout = 30 +net.netfilter.nf_conntrack_gre_timeout_stream = 180 +net.netfilter.nf_conntrack_icmp_timeout = 30 +net.netfilter.nf_conntrack_icmpv6_timeout = 30 +net.netfilter.nf_conntrack_log_invalid = 0 +net.netfilter.nf_conntrack_max = 262144 +net.netfilter.nf_conntrack_sctp_timeout_closed = 10 +net.netfilter.nf_conntrack_sctp_timeout_cookie_echoed = 3 +net.netfilter.nf_conntrack_sctp_timeout_cookie_wait = 3 +net.netfilter.nf_conntrack_sctp_timeout_established = 210 +net.netfilter.nf_conntrack_sctp_timeout_heartbeat_sent = 30 +net.netfilter.nf_conntrack_sctp_timeout_shutdown_ack_sent = 3 +net.netfilter.nf_conntrack_sctp_timeout_shutdown_recd = 3 +net.netfilter.nf_conntrack_sctp_timeout_shutdown_sent = 3 +net.netfilter.nf_conntrack_tcp_be_liberal = 0 +net.netfilter.nf_conntrack_tcp_ignore_invalid_rst = 0 +net.netfilter.nf_conntrack_tcp_loose = 1 +net.netfilter.nf_conntrack_tcp_max_retrans = 3 +net.netfilter.nf_conntrack_tcp_timeout_close = 10 +net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 +net.netfilter.nf_conntrack_tcp_timeout_established = 432000 +net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120 +net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30 +net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300 +net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60 +net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120 +net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 +net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300 +net.netfilter.nf_conntrack_timestamp = 0 +net.netfilter.nf_conntrack_udp_timeout = 30 +net.netfilter.nf_conntrack_udp_timeout_stream = 120 +net.netfilter.nf_flowtable_tcp_timeout = 30 +net.netfilter.nf_flowtable_udp_timeout = 30 +net.netfilter.nf_hooks_lwtunnel = 0 +net.netfilter.nf_log.0 = NONE +net.netfilter.nf_log.1 = NONE +net.netfilter.nf_log.10 = NONE +net.netfilter.nf_log.2 = NONE +net.netfilter.nf_log.3 = NONE +net.netfilter.nf_log.4 = NONE +net.netfilter.nf_log.5 = NONE +net.netfilter.nf_log.6 = NONE +net.netfilter.nf_log.7 = NONE +net.netfilter.nf_log.8 = NONE +net.netfilter.nf_log.9 = NONE +net.netfilter.nf_log_all_netns = 0 +net.nf_conntrack_max = 262144 +net.unix.max_dgram_qlen = 512 +user.max_cgroup_namespaces = 256032 +user.max_fanotify_groups = 128 +user.max_fanotify_marks = 530989 +user.max_inotify_instances = 128 +user.max_inotify_watches = 65536 +user.max_ipc_namespaces = 256032 +user.max_mnt_namespaces = 256032 +user.max_net_namespaces = 256032 +user.max_pid_namespaces = 256032 +user.max_time_namespaces = 256032 +user.max_user_namespaces = 256032 +user.max_uts_namespaces = 256032 +vm.admin_reserve_kbytes = 8192 +vm.compact_unevictable_allowed = 1 +vm.compaction_proactiveness = 20 +vm.dirty_background_bytes = 0 +vm.dirty_background_ratio = 10 +vm.dirty_bytes = 0 +vm.dirty_expire_centisecs = 3000 +vm.dirty_ratio = 20 +vm.dirty_writeback_centisecs = 500 +vm.dirtytime_expire_seconds = 43200 +vm.extfrag_threshold = 500 +vm.hugetlb_optimize_vmemmap = 0 +vm.hugetlb_shm_group = 0 +vm.laptop_mode = 0 +vm.legacy_va_layout = 0 +vm.lowmem_reserve_ratio = 256 256 32 0 0 +vm.max_map_count = 65530 +vm.memfd_noexec = 0 +vm.memory_failure_early_kill = 0 +vm.memory_failure_recovery = 1 +vm.min_free_kbytes = 32368 +vm.min_slab_ratio = 5 +vm.min_unmapped_ratio = 1 +vm.mmap_min_addr = 65536 +vm.nr_hugepages = 0 +vm.nr_hugepages_mempolicy = 0 +vm.nr_overcommit_hugepages = 0 +vm.numa_stat = 1 +vm.numa_zonelist_order = Node +vm.oom_dump_tasks = 1 +vm.oom_kill_allocating_task = 0 +vm.overcommit_kbytes = 0 +vm.overcommit_memory = 0 +vm.overcommit_ratio = 50 +vm.page-cluster = 3 +vm.page_lock_unfairness = 5 +vm.panic_on_oom = 0 +vm.percpu_pagelist_high_fraction = 0 +vm.stat_interval = 1 +vm.swappiness = 60 +vm.unprivileged_userfaultfd = 0 +vm.user_reserve_kbytes = 131072 +vm.vfs_cache_pressure = 100 +vm.watermark_boost_factor = 15000 +vm.watermark_scale_factor = 10 +vm.zone_reclaim_mode = 0 diff --git a/t/pt-summary/samples/Linux/008/transparent_hugepage b/t/pt-summary/samples/Linux/008/transparent_hugepage new file mode 100644 index 000000000..f78f78fc3 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/transparent_hugepage @@ -0,0 +1 @@ +always madvise [never] diff --git a/t/pt-summary/samples/Linux/008/uptime b/t/pt-summary/samples/Linux/008/uptime new file mode 100644 index 000000000..165e3f70b --- /dev/null +++ b/t/pt-summary/samples/Linux/008/uptime @@ -0,0 +1 @@ + 12:49:32 up 95 days, 5:41, 1 user, load average: 7,27, 6,88, 6,86 diff --git a/t/pt-summary/samples/Linux/008/vmstat b/t/pt-summary/samples/Linux/008/vmstat new file mode 100644 index 000000000..a8760f762 --- /dev/null +++ b/t/pt-summary/samples/Linux/008/vmstat @@ -0,0 +1,7 @@ +procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- + r b swpd free buff cache si so bi bo in cs us sy id wa st + 8 0 1987024 1728860 1634228 35461060 0 0 31 201 1 1 12 2 86 0 0 + 9 0 1987024 1723704 1634232 35461388 0 0 8 1856 14001 52574 39 3 58 0 0 + 5 1 1987024 1739456 1634232 35467300 0 0 0 508 14126 22083 39 1 60 0 0 + 5 0 1987024 1735904 1634232 35467108 0 0 0 860 16294 21162 34 1 65 0 0 + 5 0 1987024 1746816 1634232 35467920 0 0 0 360 18427 25539 36 2 63 0 0 diff --git a/t/pt-summary/samples/Linux/009/dmesg_file b/t/pt-summary/samples/Linux/009/dmesg_file new file mode 100644 index 000000000..27e3667a2 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/dmesg_file @@ -0,0 +1,1109 @@ +[ 0.000000] kernel: microcode: updated early: 0x41c -> 0x433, date = 2023-12-05 +[ 0.000000] kernel: Linux version 6.5.0-35-generic (buildd@lcy02-amd64-079) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 (Ubuntu 6.5.0-35.35~22.04.1-generic 6.5.13) +[ 0.000000] kernel: Command line: BOOT_IMAGE=/vmlinuz-6.5.0-35-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7 +[ 0.000000] kernel: KERNEL supported cpus: +[ 0.000000] kernel: Intel GenuineIntel +[ 0.000000] kernel: AMD AuthenticAMD +[ 0.000000] kernel: Hygon HygonGenuine +[ 0.000000] kernel: Centaur CentaurHauls +[ 0.000000] kernel: zhaoxin Shanghai +[ 0.000000] kernel: x86/split lock detection: #AC: crashing the kernel on kernel split_locks and warning on user-space split_locks +[ 0.000000] kernel: BIOS-provided physical RAM map: +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000000000000-0x0000000000000fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000000001000-0x000000000009ffff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x00000000000a0000-0x00000000000fffff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000000100000-0x0000000076936fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076937000-0x000000007694afff] ACPI data +[ 0.000000] kernel: BIOS-e820: [mem 0x000000007694b000-0x000000007694cfff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000007694d000-0x000000007694dfff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000007694e000-0x0000000076950fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076951000-0x0000000076952fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076953000-0x0000000076953fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076954000-0x0000000076954fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000076955000-0x00000000803fffff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x00000000ff610000-0x00000000ff64ffff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x0000000100000000-0x000000107ecaffff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecb0000-0x000000107ecb1fff] ACPI data +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecb2000-0x000000107ecc1fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc2000-0x000000107ecc2fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc3000-0x000000107ecc4fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc5000-0x000000107ecc5fff] ACPI data +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107ecc6000-0x000000107f806fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f807000-0x000000107f808fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f809000-0x000000107f81afff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f81b000-0x000000107f822fff] ACPI NVS +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f823000-0x000000107f88ffff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f890000-0x000000107f893fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f894000-0x000000107f8a8fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8a9000-0x000000107f8b2fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b3000-0x000000107f8b3fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b4000-0x000000107f8b6fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b7000-0x000000107f8b7fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8b8000-0x000000107f8bafff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8bb000-0x000000107f8c5fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8c6000-0x000000107f8c9fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8ca000-0x000000107f8d4fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f8d5000-0x000000107f913fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f914000-0x000000107f914fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f915000-0x000000107f918fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f919000-0x000000107f934fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f935000-0x000000107f939fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f93a000-0x000000107f93dfff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f93e000-0x000000107f94efff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f94f000-0x000000107f95dfff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f95e000-0x000000107f95efff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f95f000-0x000000107f962fff] usable +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f963000-0x000000107f963fff] reserved +[ 0.000000] kernel: BIOS-e820: [mem 0x000000107f964000-0x000000107fbfffff] usable +[ 0.000000] kernel: NX (Execute Disable) protection: active +[ 0.000000] kernel: efi: EFI v2.7 by EDK II +[ 0.000000] kernel: efi: SMBIOS=0x76950000 SMBIOS 3.0=0x107f963000 ACPI=0x7694a000 ACPI 2.0=0x7694a014 TPMFinalLog=0x107f81b000 MEMATTR=0x107ecad018 MOKvar=0x107ecc2000 RNG=0x107ecc5b18 TPMEventLog=0x107eca9018 +[ 0.000000] kernel: random: crng init done +[ 0.000000] kernel: efi: Remove mem128: MMIO range=[0xff610000-0xff64ffff] (0MB) from e820 map +[ 0.000000] kernel: e820: remove [mem 0xff610000-0xff64ffff] reserved +[ 0.000000] kernel: secureboot: Secure boot disabled +[ 0.000000] kernel: SMBIOS 3.3.0 present. +[ 0.000000] kernel: DMI: System76 Galago Pro/Galago Pro, BIOS 2022-11-21_b337ac6 11/14/2022 +[ 0.000000] kernel: tsc: Detected 2500.000 MHz processor +[ 0.000000] kernel: tsc: Detected 2496.000 MHz TSC +[ 0.000005] kernel: e820: update [mem 0x00000000-0x00000fff] usable ==> reserved +[ 0.000008] kernel: e820: remove [mem 0x000a0000-0x000fffff] usable +[ 0.000031] kernel: last_pfn = 0x107fc00 max_arch_pfn = 0x400000000 +[ 0.000037] kernel: MTRR map: 8 entries (3 fixed + 5 variable; max 23), built from 10 variable MTRRs +[ 0.000040] kernel: x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT +[ 0.000906] kernel: last_pfn = 0x76955 max_arch_pfn = 0x400000000 +[ 0.009848] kernel: Using GB pages for direct mapping +[ 0.009849] kernel: Incomplete global flushes, disabling PCID +[ 0.010864] kernel: secureboot: Secure boot disabled +[ 0.010865] kernel: RAMDISK: [mem 0x107691c000-0x107e54afff] +[ 0.010874] kernel: ACPI: Early table checksum verification disabled +[ 0.010878] kernel: ACPI: RSDP 0x000000007694A014 000024 (v02 COREv4) +[ 0.010885] kernel: ACPI: XSDT 0x000000107ECC5F18 00006C (v01 COREv4 COREBOOT 00000000 01000013) +[ 0.010893] kernel: ACPI: FACP 0x0000000076948000 000114 (v06 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010900] kernel: ACPI: DSDT 0x0000000076942000 0054CE (v02 COREv4 COREBOOT 20110725 INTL 20220331) +[ 0.010905] kernel: ACPI: FACS 0x0000000076972240 000040 +[ 0.010909] kernel: ACPI: SSDT 0x000000007693D000 004D8A (v02 COREv4 COREBOOT 0000002A CORE 20220331) +[ 0.010913] kernel: ACPI: MCFG 0x000000007693C000 00003C (v01 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010917] kernel: ACPI: TPM2 0x000000007693B000 00004C (v04 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010921] kernel: ACPI: LPIT 0x000000007693A000 000094 (v00 COREv4 COREBOOT 0000002A CORE 20220331) +[ 0.010925] kernel: ACPI: APIC 0x0000000076939000 0000D2 (v03 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010929] kernel: ACPI: DMAR 0x0000000076938000 000088 (v01 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010933] kernel: ACPI: HPET 0x0000000076937000 000038 (v01 COREv4 COREBOOT 00000000 CORE 20220331) +[ 0.010936] kernel: ACPI: BGRT 0x000000107ECC5018 000038 (v00 INTEL EDK2 00001720 PTL 00000002) +[ 0.010940] kernel: ACPI: Reserving FACP table memory at [mem 0x76948000-0x76948113] +[ 0.010942] kernel: ACPI: Reserving DSDT table memory at [mem 0x76942000-0x769474cd] +[ 0.010943] kernel: ACPI: Reserving FACS table memory at [mem 0x76972240-0x7697227f] +[ 0.010945] kernel: ACPI: Reserving SSDT table memory at [mem 0x7693d000-0x76941d89] +[ 0.010946] kernel: ACPI: Reserving MCFG table memory at [mem 0x7693c000-0x7693c03b] +[ 0.010947] kernel: ACPI: Reserving TPM2 table memory at [mem 0x7693b000-0x7693b04b] +[ 0.010948] kernel: ACPI: Reserving LPIT table memory at [mem 0x7693a000-0x7693a093] +[ 0.010949] kernel: ACPI: Reserving APIC table memory at [mem 0x76939000-0x769390d1] +[ 0.010950] kernel: ACPI: Reserving DMAR table memory at [mem 0x76938000-0x76938087] +[ 0.010951] kernel: ACPI: Reserving HPET table memory at [mem 0x76937000-0x76937037] +[ 0.010952] kernel: ACPI: Reserving BGRT table memory at [mem 0x107ecc5018-0x107ecc504f] +[ 0.011202] kernel: No NUMA configuration found +[ 0.011203] kernel: Faking a node at [mem 0x0000000000000000-0x000000107fbfffff] +[ 0.011213] kernel: NODE_DATA(0) allocated [mem 0x107ebd7000-0x107ec01fff] +[ 0.011459] kernel: Zone ranges: +[ 0.011460] kernel: DMA [mem 0x0000000000001000-0x0000000000ffffff] +[ 0.011462] kernel: DMA32 [mem 0x0000000001000000-0x00000000ffffffff] +[ 0.011464] kernel: Normal [mem 0x0000000100000000-0x000000107fbfffff] +[ 0.011465] kernel: Device empty +[ 0.011467] kernel: Movable zone start for each node +[ 0.011468] kernel: Early memory node ranges +[ 0.011469] kernel: node 0: [mem 0x0000000000001000-0x000000000009ffff] +[ 0.011471] kernel: node 0: [mem 0x0000000000100000-0x0000000076936fff] +[ 0.011472] kernel: node 0: [mem 0x000000007694d000-0x000000007694dfff] +[ 0.011473] kernel: node 0: [mem 0x0000000076951000-0x0000000076952fff] +[ 0.011474] kernel: node 0: [mem 0x0000000076954000-0x0000000076954fff] +[ 0.011475] kernel: node 0: [mem 0x0000000100000000-0x000000107ecaffff] +[ 0.011480] kernel: node 0: [mem 0x000000107ecb2000-0x000000107ecc1fff] +[ 0.011481] kernel: node 0: [mem 0x000000107ecc3000-0x000000107ecc4fff] +[ 0.011481] kernel: node 0: [mem 0x000000107ecc6000-0x000000107f806fff] +[ 0.011482] kernel: node 0: [mem 0x000000107f809000-0x000000107f81afff] +[ 0.011483] kernel: node 0: [mem 0x000000107f823000-0x000000107f88ffff] +[ 0.011484] kernel: node 0: [mem 0x000000107f894000-0x000000107f8a8fff] +[ 0.011485] kernel: node 0: [mem 0x000000107f8b3000-0x000000107f8b3fff] +[ 0.011486] kernel: node 0: [mem 0x000000107f8b7000-0x000000107f8b7fff] +[ 0.011486] kernel: node 0: [mem 0x000000107f8bb000-0x000000107f8c5fff] +[ 0.011487] kernel: node 0: [mem 0x000000107f8ca000-0x000000107f8d4fff] +[ 0.011488] kernel: node 0: [mem 0x000000107f914000-0x000000107f914fff] +[ 0.011489] kernel: node 0: [mem 0x000000107f919000-0x000000107f934fff] +[ 0.011490] kernel: node 0: [mem 0x000000107f93a000-0x000000107f93dfff] +[ 0.011491] kernel: node 0: [mem 0x000000107f94f000-0x000000107f95dfff] +[ 0.011491] kernel: node 0: [mem 0x000000107f95f000-0x000000107f962fff] +[ 0.011492] kernel: node 0: [mem 0x000000107f964000-0x000000107fbfffff] +[ 0.011494] kernel: Initmem setup node 0 [mem 0x0000000000001000-0x000000107fbfffff] +[ 0.011498] kernel: On node 0, zone DMA: 1 pages in unavailable ranges +[ 0.011518] kernel: On node 0, zone DMA: 96 pages in unavailable ranges +[ 0.013910] kernel: On node 0, zone DMA32: 22 pages in unavailable ranges +[ 0.013912] kernel: On node 0, zone DMA32: 3 pages in unavailable ranges +[ 0.013913] kernel: On node 0, zone DMA32: 1 pages in unavailable ranges +[ 0.098297] kernel: On node 0, zone Normal: 5803 pages in unavailable ranges +[ 0.098299] kernel: On node 0, zone Normal: 2 pages in unavailable ranges +[ 0.098300] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098314] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098314] kernel: On node 0, zone Normal: 2 pages in unavailable ranges +[ 0.098316] kernel: On node 0, zone Normal: 8 pages in unavailable ranges +[ 0.098316] kernel: On node 0, zone Normal: 4 pages in unavailable ranges +[ 0.098317] kernel: On node 0, zone Normal: 10 pages in unavailable ranges +[ 0.098318] kernel: On node 0, zone Normal: 3 pages in unavailable ranges +[ 0.098319] kernel: On node 0, zone Normal: 3 pages in unavailable ranges +[ 0.098320] kernel: On node 0, zone Normal: 4 pages in unavailable ranges +[ 0.098321] kernel: On node 0, zone Normal: 63 pages in unavailable ranges +[ 0.098322] kernel: On node 0, zone Normal: 4 pages in unavailable ranges +[ 0.098323] kernel: On node 0, zone Normal: 5 pages in unavailable ranges +[ 0.098324] kernel: On node 0, zone Normal: 17 pages in unavailable ranges +[ 0.098325] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098329] kernel: On node 0, zone Normal: 1 pages in unavailable ranges +[ 0.098335] kernel: On node 0, zone Normal: 1024 pages in unavailable ranges +[ 0.098360] kernel: Reserving Intel graphics memory at [mem 0x7c800000-0x803fffff] +[ 0.099522] kernel: ACPI: PM-Timer IO Port: 0x1808 +[ 0.099531] kernel: ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1]) +[ 0.099571] kernel: IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119 +[ 0.099574] kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) +[ 0.099576] kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) +[ 0.099582] kernel: ACPI: Using ACPI (MADT) for SMP configuration information +[ 0.099583] kernel: ACPI: HPET id: 0x8086a701 base: 0xfed00000 +[ 0.099592] kernel: e820: update [mem 0x107ec02000-0x107ec50fff] usable ==> reserved +[ 0.099618] kernel: TSC deadline timer available +[ 0.099619] kernel: smpboot: Allowing 16 CPUs, 0 hotplug CPUs +[ 0.099669] kernel: PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff] +[ 0.099672] kernel: PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000fffff] +[ 0.099675] kernel: PM: hibernation: Registered nosave memory: [mem 0x76937000-0x7694afff] +[ 0.099676] kernel: PM: hibernation: Registered nosave memory: [mem 0x7694b000-0x7694cfff] +[ 0.099678] kernel: PM: hibernation: Registered nosave memory: [mem 0x7694e000-0x76950fff] +[ 0.099680] kernel: PM: hibernation: Registered nosave memory: [mem 0x76953000-0x76953fff] +[ 0.099682] kernel: PM: hibernation: Registered nosave memory: [mem 0x76955000-0x803fffff] +[ 0.099683] kernel: PM: hibernation: Registered nosave memory: [mem 0x80400000-0xffffffff] +[ 0.099686] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ec02000-0x107ec50fff] +[ 0.099688] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ecb0000-0x107ecb1fff] +[ 0.099690] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ecc2000-0x107ecc2fff] +[ 0.099693] kernel: PM: hibernation: Registered nosave memory: [mem 0x107ecc5000-0x107ecc5fff] +[ 0.099695] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f807000-0x107f808fff] +[ 0.099697] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f81b000-0x107f822fff] +[ 0.099699] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f890000-0x107f893fff] +[ 0.099702] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8a9000-0x107f8b2fff] +[ 0.099704] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8b4000-0x107f8b6fff] +[ 0.099706] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8b8000-0x107f8bafff] +[ 0.099709] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8c6000-0x107f8c9fff] +[ 0.099711] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f8d5000-0x107f913fff] +[ 0.099714] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f915000-0x107f918fff] +[ 0.099716] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f935000-0x107f939fff] +[ 0.099718] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f93e000-0x107f94efff] +[ 0.099721] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f95e000-0x107f95efff] +[ 0.099723] kernel: PM: hibernation: Registered nosave memory: [mem 0x107f963000-0x107f963fff] +[ 0.099725] kernel: [mem 0x80400000-0xffffffff] available for PCI devices +[ 0.099727] kernel: Booting paravirtualized kernel on bare hardware +[ 0.099729] kernel: clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns +[ 0.099738] kernel: setup_percpu: NR_CPUS:8192 nr_cpumask_bits:16 nr_cpu_ids:16 nr_node_ids:1 +[ 0.100327] kernel: percpu: Embedded 63 pages/cpu s221184 r8192 d28672 u262144 +[ 0.100336] kernel: pcpu-alloc: s221184 r8192 d28672 u262144 alloc=1*2097152 +[ 0.100338] kernel: pcpu-alloc: [0] 00 01 02 03 04 05 06 07 [0] 08 09 10 11 12 13 14 15 +[ 0.100376] kernel: Kernel command line: BOOT_IMAGE=/vmlinuz-6.5.0-35-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7 +[ 0.100453] kernel: Unknown kernel command line parameters "splash BOOT_IMAGE=/vmlinuz-6.5.0-35-generic", will be passed to user space. +[ 0.105784] kernel: Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes, linear) +[ 0.108450] kernel: Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes, linear) +[ 0.108703] kernel: Fallback order for Node 0: 0 +[ 0.108707] kernel: Built 1 zonelists, mobility grouping on. Total pages: 16473637 +[ 0.108709] kernel: Policy zone: Normal +[ 0.108715] kernel: mem auto-init: stack:all(zero), heap alloc:on, heap free:off +[ 0.108724] kernel: software IO TLB: area num 16. +[ 0.230610] kernel: Memory: 65515516K/66949476K available (20480K kernel code, 4266K rwdata, 13192K rodata, 4816K init, 17372K bss, 1433700K reserved, 0K cma-reserved) +[ 0.230909] kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=16, Nodes=1 +[ 0.230940] kernel: ftrace: allocating 55276 entries in 216 pages +[ 0.239880] kernel: ftrace: allocated 216 pages with 4 groups +[ 0.240689] kernel: Dynamic Preempt: voluntary +[ 0.240742] kernel: rcu: Preemptible hierarchical RCU implementation. +[ 0.240747] kernel: rcu: RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=16. +[ 0.240751] kernel: Trampoline variant of Tasks RCU enabled. +[ 0.240754] kernel: Rude variant of Tasks RCU enabled. +[ 0.240754] kernel: Tracing variant of Tasks RCU enabled. +[ 0.240756] kernel: rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.240757] kernel: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=16 +[ 0.243656] kernel: NR_IRQS: 524544, nr_irqs: 2184, preallocated irqs: 16 +[ 0.243972] kernel: rcu: srcu_init: Setting srcu_struct sizes based on contention. +[ 0.244200] kernel: spurious 8259A interrupt: IRQ7. +[ 0.244241] kernel: Console: colour dummy device 80x25 +[ 0.244244] kernel: printk: console [tty0] enabled +[ 0.244296] kernel: ACPI: Core revision 20230331 +[ 0.244372] kernel: hpet: HPET dysfunctional in PC10. Force disabled. +[ 0.244373] kernel: APIC: Switch to symmetric I/O mode setup +[ 0.244376] kernel: DMAR: Host address width 39 +[ 0.244377] kernel: DMAR: DRHD base: 0x000000fed90000 flags: 0x0 +[ 0.244383] kernel: DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e +[ 0.244386] kernel: DMAR: DRHD base: 0x000000fed91000 flags: 0x1 +[ 0.244391] kernel: DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da +[ 0.244394] kernel: DMAR: RMRR base: 0x0000007c000000 end: 0x000000803fffff +[ 0.244396] kernel: DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1 +[ 0.244398] kernel: DMAR-IR: HPET id 0 under DRHD base 0xfed91000 +[ 0.244399] kernel: DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. +[ 0.246277] kernel: DMAR-IR: Enabled IRQ remapping in x2apic mode +[ 0.246280] kernel: x2apic enabled +[ 0.246293] kernel: Switched APIC routing to cluster x2apic. +[ 0.251290] kernel: clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x23fa772cf26, max_idle_ns: 440795269835 ns +[ 0.251299] kernel: Calibrating delay loop (skipped), value calculated using timer frequency.. 4992.00 BogoMIPS (lpj=9984000) +[ 0.251369] kernel: CPU0: Thermal monitoring enabled (TM1) +[ 0.251371] kernel: x86/cpu: User Mode Instruction Prevention (UMIP) activated +[ 0.251505] kernel: process: using mwait in idle threads +[ 0.251508] kernel: Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0 +[ 0.251510] kernel: Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0 +[ 0.251514] kernel: Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization +[ 0.251517] kernel: Spectre V2 : Mitigation: Enhanced / Automatic IBRS +[ 0.251518] kernel: Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch +[ 0.251519] kernel: Spectre V2 : Spectre v2 / PBRSB-eIBRS: Retire a single CALL on VMEXIT +[ 0.251521] kernel: Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier +[ 0.251523] kernel: Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl +[ 0.251535] kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' +[ 0.251536] kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' +[ 0.251537] kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' +[ 0.251538] kernel: x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers' +[ 0.251540] kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 +[ 0.251541] kernel: x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8 +[ 0.251542] kernel: x86/fpu: Enabled xstate features 0x207, context size is 840 bytes, using 'compacted' format. +[ 0.255295] kernel: Freeing SMP alternatives memory: 44K +[ 0.255295] kernel: pid_max: default: 32768 minimum: 301 +[ 0.255295] kernel: LSM: initializing lsm=lockdown,capability,landlock,yama,apparmor,integrity +[ 0.255295] kernel: landlock: Up and running. +[ 0.255295] kernel: Yama: becoming mindful. +[ 0.255295] kernel: AppArmor: AppArmor initialized +[ 0.255295] kernel: Mount-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.255295] kernel: Mountpoint-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.255295] kernel: smpboot: CPU0: 12th Gen Intel(R) Core(TM) i7-1260P (family: 0x6, model: 0x9a, stepping: 0x3) +[ 0.255295] kernel: RCU Tasks: Setting shift to 4 and lim to 1 rcu_task_cb_adjust=1. +[ 0.255295] kernel: RCU Tasks Rude: Setting shift to 4 and lim to 1 rcu_task_cb_adjust=1. +[ 0.255295] kernel: RCU Tasks Trace: Setting shift to 4 and lim to 1 rcu_task_cb_adjust=1. +[ 0.255295] kernel: Performance Events: XSAVE Architectural LBR, PEBS fmt4+-baseline, AnyThread deprecated, Alderlake Hybrid events, 32-deep LBR, full-width counters, Intel PMU driver. +[ 0.255295] kernel: core: cpu_core PMU driver: +[ 0.255295] kernel: ... version: 5 +[ 0.255295] kernel: ... bit width: 48 +[ 0.255295] kernel: ... generic registers: 8 +[ 0.255295] kernel: ... value mask: 0000ffffffffffff +[ 0.255295] kernel: ... max period: 00007fffffffffff +[ 0.255295] kernel: ... fixed-purpose events: 4 +[ 0.255295] kernel: ... event mask: 0001000f000000ff +[ 0.255295] kernel: signal: max sigframe size: 3632 +[ 0.255295] kernel: Estimated ratio of average max frequency by base frequency (times 1024): 1556 +[ 0.255295] kernel: rcu: Hierarchical SRCU implementation. +[ 0.255295] kernel: rcu: Max phase no-delay instances is 1000. +[ 0.255295] kernel: NMI watchdog: Enabled. Permanently consumes one hw-PMU counter. +[ 0.255295] kernel: smp: Bringing up secondary CPUs ... +[ 0.255295] kernel: smpboot: x86: Booting SMP configuration: +[ 0.255295] kernel: .... node #0, CPUs: #2 #4 #6 #8 #9 #10 #11 #12 #13 #14 #15 +[ 0.011164] kernel: core: cpu_atom PMU driver: PEBS-via-PT +[ 0.011164] kernel: ... version: 5 +[ 0.011164] kernel: ... bit width: 48 +[ 0.011164] kernel: ... generic registers: 6 +[ 0.011164] kernel: ... value mask: 0000ffffffffffff +[ 0.011164] kernel: ... max period: 00007fffffffffff +[ 0.011164] kernel: ... fixed-purpose events: 3 +[ 0.011164] kernel: ... event mask: 000000070000003f +[ 0.268619] kernel: #1 #3 #5 #7 +[ 0.273112] kernel: smp: Brought up 1 node, 16 CPUs +[ 0.273112] kernel: smpboot: Max logical packages: 1 +[ 0.273112] kernel: smpboot: Total of 16 processors activated (79872.00 BogoMIPS) +[ 0.277023] kernel: devtmpfs: initialized +[ 0.277023] kernel: x86/mm: Memory block size: 2048MB +[ 0.277023] kernel: ACPI: PM: Registering ACPI NVS region [mem 0x107f81b000-0x107f822fff] (32768 bytes) +[ 0.277023] kernel: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.277023] kernel: futex hash table entries: 4096 (order: 6, 262144 bytes, linear) +[ 0.277023] kernel: pinctrl core: initialized pinctrl subsystem +[ 0.277023] kernel: PM: RTC time: 04:06:19, date: 2024-06-03 +[ 0.277023] kernel: NET: Registered PF_NETLINK/PF_ROUTE protocol family +[ 0.277023] kernel: DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic allocations +[ 0.279451] kernel: DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations +[ 0.279838] kernel: DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations +[ 0.279847] kernel: audit: initializing netlink subsys (disabled) +[ 0.279854] kernel: audit: type=2000 audit(1717387579.028:1): state=initialized audit_enabled=0 res=1 +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'fair_share' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'bang_bang' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'step_wise' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'user_space' +[ 0.279854] kernel: thermal_sys: Registered thermal governor 'power_allocator' +[ 0.279854] kernel: EISA bus registered +[ 0.279854] kernel: cpuidle: using governor ladder +[ 0.279854] kernel: cpuidle: using governor menu +[ 0.279854] kernel: acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 +[ 0.279854] kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xc0000000-0xcfffffff] (base 0xc0000000) +[ 0.279854] kernel: PCI: not using MMCONFIG +[ 0.279854] kernel: PCI: Using configuration type 1 for base access +[ 0.279854] kernel: kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible. +[ 0.279898] kernel: HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages +[ 0.279901] kernel: HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page +[ 0.279903] kernel: HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.279904] kernel: HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page +[ 0.280413] kernel: ACPI: Added _OSI(Module Device) +[ 0.280414] kernel: ACPI: Added _OSI(Processor Device) +[ 0.280416] kernel: ACPI: Added _OSI(3.0 _SCP Extensions) +[ 0.280417] kernel: ACPI: Added _OSI(Processor Aggregator Device) +[ 0.289202] kernel: ACPI: 2 ACPI AML tables successfully acquired and loaded +[ 0.323600] kernel: ACPI: USB4 _OSC: OS supports USB3+ DisplayPort+ PCIe+ XDomain+ +[ 0.323602] kernel: ACPI: USB4 _OSC: OS controls USB3+ DisplayPort+ PCIe+ XDomain+ +[ 0.323817] kernel: ACPI: EC: EC started +[ 0.323818] kernel: ACPI: EC: interrupt blocked +[ 0.416064] kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 +[ 0.416068] kernel: ACPI: \_SB_.PCI0.LPCB.EC0_: Boot DSDT EC used to handle transactions +[ 0.416071] kernel: ACPI: Interpreter enabled +[ 0.416096] kernel: ACPI: PM: (supports S0 S1 S4 S5) +[ 0.416098] kernel: ACPI: Using IOAPIC for interrupt routing +[ 0.416388] kernel: PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xc0000000-0xcfffffff] (base 0xc0000000) +[ 0.416599] kernel: PCI: MMCONFIG at [mem 0xc0000000-0xcfffffff] reserved as ACPI motherboard resource +[ 0.416611] kernel: PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug +[ 0.416612] kernel: PCI: Using E820 reservations for host bridge windows +[ 0.416769] kernel: ACPI: Enabled 2 GPEs in block 00 to 7F +[ 0.418073] kernel: ACPI: \_SB_.PCI0.RP10.RTD3: New power resource +[ 0.428625] kernel: ACPI: \_SB_.PCI0.TBT0: New power resource +[ 0.428653] kernel: ACPI: \_SB_.PCI0.TBT1: New power resource +[ 0.428676] kernel: ACPI: \_SB_.PCI0.D3C_: New power resource +[ 0.457362] kernel: ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) +[ 0.457369] kernel: acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3] +[ 0.457397] kernel: acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR DPC] +[ 0.458352] kernel: PCI host bridge to bus 0000:00 +[ 0.458354] kernel: pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] +[ 0.458356] kernel: pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] +[ 0.458359] kernel: pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000fffff window] +[ 0.458361] kernel: pci_bus 0000:00: root bus resource [mem 0x80400000-0xdfffffff window] +[ 0.458362] kernel: pci_bus 0000:00: root bus resource [mem 0x107fc00000-0x7fffffffff window] +[ 0.458364] kernel: pci_bus 0000:00: root bus resource [mem 0xfc800000-0xfe7fffff window] +[ 0.458365] kernel: pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed47fff window] +[ 0.458366] kernel: pci_bus 0000:00: root bus resource [bus 00-ff] +[ 0.458401] kernel: pci 0000:00:00.0: [8086:4621] type 00 class 0x060000 +[ 0.458561] kernel: pci 0000:00:02.0: [8086:46a6] type 00 class 0x030000 +[ 0.458572] kernel: pci 0000:00:02.0: reg 0x10: [mem 0x81000000-0x81ffffff 64bit] +[ 0.458580] kernel: pci 0000:00:02.0: reg 0x18: [mem 0x90000000-0x9fffffff 64bit pref] +[ 0.458586] kernel: pci 0000:00:02.0: reg 0x20: [io 0x1000-0x103f] +[ 0.458605] kernel: pci 0000:00:02.0: BAR 2: assigned to efifb +[ 0.458607] kernel: pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics +[ 0.458611] kernel: pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] +[ 0.458644] kernel: pci 0000:00:02.0: reg 0x344: [mem 0x00000000-0x00ffffff 64bit] +[ 0.458646] kernel: pci 0000:00:02.0: VF(n) BAR0 space: [mem 0x00000000-0x06ffffff 64bit] (contains BAR0 for 7 VFs) +[ 0.458652] kernel: pci 0000:00:02.0: reg 0x34c: [mem 0x00000000-0x1fffffff 64bit pref] +[ 0.458653] kernel: pci 0000:00:02.0: VF(n) BAR2 space: [mem 0x00000000-0xdfffffff 64bit pref] (contains BAR2 for 7 VFs) +[ 0.458785] kernel: pci 0000:00:06.0: [8086:464d] type 01 class 0x060400 +[ 0.458907] kernel: pci 0000:00:06.0: PME# supported from D0 D3hot D3cold +[ 0.458947] kernel: pci 0000:00:06.0: PTM enabled (root), 4ns granularity +[ 0.459094] kernel: pci 0000:00:07.0: [8086:466e] type 01 class 0x060400 +[ 0.459148] kernel: pci 0000:00:07.0: Overriding RP PIO Log Size to 4 +[ 0.459194] kernel: pci 0000:00:07.0: PME# supported from D0 D3hot D3cold +[ 0.459383] kernel: pci 0000:00:0a.0: [8086:467d] type 00 class 0x118000 +[ 0.459393] kernel: pci 0000:00:0a.0: reg 0x10: [mem 0x80860000-0x80867fff 64bit] +[ 0.459419] kernel: pci 0000:00:0a.0: enabling Extended Tags +[ 0.459521] kernel: pci 0000:00:0d.0: [8086:461e] type 00 class 0x0c0330 +[ 0.459533] kernel: pci 0000:00:0d.0: reg 0x10: [mem 0x80840000-0x8084ffff 64bit] +[ 0.459587] kernel: pci 0000:00:0d.0: PME# supported from D3hot D3cold +[ 0.459697] kernel: pci 0000:00:0d.2: [8086:463e] type 00 class 0x0c0340 +[ 0.459710] kernel: pci 0000:00:0d.2: reg 0x10: [mem 0x80800000-0x8083ffff 64bit] +[ 0.459719] kernel: pci 0000:00:0d.2: reg 0x18: [mem 0x80874000-0x80874fff 64bit] +[ 0.459759] kernel: pci 0000:00:0d.2: supports D1 D2 +[ 0.459760] kernel: pci 0000:00:0d.2: PME# supported from D0 D1 D2 D3hot D3cold +[ 0.459878] kernel: pci 0000:00:14.0: [8086:51ed] type 00 class 0x0c0330 +[ 0.459902] kernel: pci 0000:00:14.0: reg 0x10: [mem 0x80850000-0x8085ffff 64bit] +[ 0.460003] kernel: pci 0000:00:14.0: PME# supported from D3hot D3cold +[ 0.460102] kernel: pci 0000:00:14.2: [8086:51ef] type 00 class 0x050000 +[ 0.460128] kernel: pci 0000:00:14.2: reg 0x10: [mem 0xfe010000-0xfe013fff 64bit] +[ 0.460146] kernel: pci 0000:00:14.2: reg 0x18: [mem 0x80875000-0x80875fff 64bit] +[ 0.460367] kernel: pci 0000:00:14.3: [8086:51f0] type 00 class 0x028000 +[ 0.460434] kernel: pci 0000:00:14.3: reg 0x10: [mem 0x8086c000-0x8086ffff 64bit] +[ 0.460646] kernel: pci 0000:00:14.3: PME# supported from D0 D3hot D3cold +[ 0.460900] kernel: pci 0000:00:15.0: [8086:51e8] type 00 class 0x0c8000 +[ 0.460951] kernel: pci 0000:00:15.0: reg 0x10: [mem 0x80876000-0x80876fff 64bit] +[ 0.461191] kernel: pci 0000:00:15.1: [8086:51e9] type 00 class 0x0c8000 +[ 0.461242] kernel: pci 0000:00:15.1: reg 0x10: [mem 0x80877000-0x80877fff 64bit] +[ 0.461489] kernel: pci 0000:00:16.0: [8086:51e0] type 00 class 0x078000 +[ 0.461518] kernel: pci 0000:00:16.0: reg 0x10: [mem 0x80878000-0x80878fff 64bit] +[ 0.461632] kernel: pci 0000:00:16.0: PME# supported from D3hot +[ 0.461746] kernel: pci 0000:00:1d.0: [8086:51b0] type 01 class 0x060400 +[ 0.461864] kernel: pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold +[ 0.461901] kernel: pci 0000:00:1d.0: PTM enabled (root), 4ns granularity +[ 0.462017] kernel: pci 0000:00:1d.1: [8086:51b1] type 01 class 0x060400 +[ 0.462133] kernel: pci 0000:00:1d.1: PME# supported from D0 D3hot D3cold +[ 0.462169] kernel: pci 0000:00:1d.1: PTM enabled (root), 4ns granularity +[ 0.462308] kernel: pci 0000:00:1f.0: [8086:5182] type 00 class 0x060100 +[ 0.462516] kernel: pci 0000:00:1f.3: [8086:51c8] type 00 class 0x040300 +[ 0.462565] kernel: pci 0000:00:1f.3: reg 0x10: [mem 0x80870000-0x80873fff 64bit] +[ 0.462638] kernel: pci 0000:00:1f.3: reg 0x20: [mem 0x80700000-0x807fffff 64bit] +[ 0.462751] kernel: pci 0000:00:1f.3: PME# supported from D3hot D3cold +[ 0.462897] kernel: pci 0000:00:1f.4: [8086:51a3] type 00 class 0x0c0500 +[ 0.462925] kernel: pci 0000:00:1f.4: reg 0x10: [mem 0x8087a000-0x8087a0ff 64bit] +[ 0.462961] kernel: pci 0000:00:1f.4: reg 0x20: [io 0xefa0-0xefbf] +[ 0.463055] kernel: pci 0000:00:1f.5: [8086:51a4] type 00 class 0x0c8000 +[ 0.463077] kernel: pci 0000:00:1f.5: reg 0x10: [mem 0x80879000-0x80879fff] +[ 0.463309] kernel: pci 0000:01:00.0: [15b7:5030] type 00 class 0x010802 +[ 0.463325] kernel: pci 0000:01:00.0: reg 0x10: [mem 0x80400000-0x80403fff 64bit] +[ 0.463532] kernel: pci 0000:00:06.0: PCI bridge to [bus 01] +[ 0.463536] kernel: pci 0000:00:06.0: bridge window [mem 0x80400000-0x804fffff] +[ 0.463579] kernel: pci 0000:00:07.0: PCI bridge to [bus 02-2c] +[ 0.463582] kernel: pci 0000:00:07.0: bridge window [io 0x2000-0x3fff] +[ 0.463585] kernel: pci 0000:00:07.0: bridge window [mem 0x82000000-0x8e1fffff] +[ 0.463590] kernel: pci 0000:00:07.0: bridge window [mem 0x107fc00000-0x109bbfffff 64bit pref] +[ 0.463736] kernel: pci 0000:2d:00.0: [1217:8621] type 00 class 0x080501 +[ 0.463763] kernel: pci 0000:2d:00.0: reg 0x10: [mem 0x80500000-0x80500fff] +[ 0.463777] kernel: pci 0000:2d:00.0: reg 0x14: [mem 0x80501000-0x805017ff] +[ 0.463950] kernel: pci 0000:2d:00.0: PME# supported from D3hot D3cold +[ 0.475440] kernel: pci 0000:00:1d.0: PCI bridge to [bus 2d] +[ 0.475446] kernel: pci 0000:00:1d.0: bridge window [mem 0x80500000-0x805fffff] +[ 0.475526] kernel: pci 0000:2e:00.0: [10ec:8168] type 00 class 0x020000 +[ 0.475553] kernel: pci 0000:2e:00.0: reg 0x10: [io 0x4000-0x40ff] +[ 0.475590] kernel: pci 0000:2e:00.0: reg 0x18: [mem 0x80604000-0x80604fff 64bit] +[ 0.475613] kernel: pci 0000:2e:00.0: reg 0x20: [mem 0x80600000-0x80603fff 64bit] +[ 0.475752] kernel: pci 0000:2e:00.0: supports D1 D2 +[ 0.475753] kernel: pci 0000:2e:00.0: PME# supported from D0 D1 D2 D3hot D3cold +[ 0.476010] kernel: pci 0000:00:1d.1: PCI bridge to [bus 2e] +[ 0.476013] kernel: pci 0000:00:1d.1: bridge window [io 0x4000-0x4fff] +[ 0.476017] kernel: pci 0000:00:1d.1: bridge window [mem 0x80600000-0x806fffff] +[ 0.476893] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.SRAM (20230331/dspkginit-438) +[ 0.476901] kernel: fbcon: Taking over console +[ 0.476936] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.HEC1 (20230331/dspkginit-438) +[ 0.476983] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.FSPI (20230331/dspkginit-438) +[ 0.477087] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.PEG0.MCHC (20230331/dspkginit-438) +[ 0.477098] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.RP09.MCHC (20230331/dspkginit-438) +[ 0.477109] kernel: ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - \_SB_.PCI0.RP10.MCHC (20230331/dspkginit-438) +[ 0.477221] kernel: Low-power S0 idle used by default for system suspend +[ 0.479845] kernel: ACPI: EC: interrupt unblocked +[ 0.479846] kernel: ACPI: EC: event unblocked +[ 0.479861] kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 +[ 0.479862] kernel: ACPI: EC: GPE=0x6e +[ 0.479863] kernel: ACPI: \_SB_.PCI0.LPCB.EC0_: Boot DSDT EC initialization complete +[ 0.479865] kernel: ACPI: \_SB_.PCI0.LPCB.EC0_: EC: Used to handle transactions and events +[ 0.479941] kernel: iommu: Default domain type: Translated +[ 0.479941] kernel: iommu: DMA domain TLB invalidation policy: lazy mode +[ 0.479941] kernel: SCSI subsystem initialized +[ 0.479941] kernel: libata version 3.00 loaded. +[ 0.479941] kernel: ACPI: bus type USB registered +[ 0.479941] kernel: usbcore: registered new interface driver usbfs +[ 0.479941] kernel: usbcore: registered new interface driver hub +[ 0.479941] kernel: usbcore: registered new device driver usb +[ 0.479941] kernel: pps_core: LinuxPPS API ver. 1 registered +[ 0.479941] kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti +[ 0.479941] kernel: PTP clock support registered +[ 0.479941] kernel: EDAC MC: Ver: 3.0.0 +[ 0.480356] kernel: efivars: Registered efivars operations +[ 0.480356] kernel: NetLabel: Initializing +[ 0.480356] kernel: NetLabel: domain hash size = 128 +[ 0.480356] kernel: NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.480356] kernel: NetLabel: unlabeled traffic allowed by default +[ 0.480356] kernel: mctp: management component transport protocol core +[ 0.480356] kernel: NET: Registered PF_MCTP protocol family +[ 0.480356] kernel: PCI: Using ACPI for IRQ routing +[ 0.502677] kernel: PCI: pci_cache_line_size set to 64 bytes +[ 0.503536] kernel: e820: reserve RAM buffer [mem 0x76937000-0x77ffffff] +[ 0.503540] kernel: e820: reserve RAM buffer [mem 0x7694e000-0x77ffffff] +[ 0.503542] kernel: e820: reserve RAM buffer [mem 0x76953000-0x77ffffff] +[ 0.503543] kernel: e820: reserve RAM buffer [mem 0x76955000-0x77ffffff] +[ 0.503544] kernel: e820: reserve RAM buffer [mem 0x107ec02000-0x107fffffff] +[ 0.503550] kernel: e820: reserve RAM buffer [mem 0x107ecb0000-0x107fffffff] +[ 0.503556] kernel: e820: reserve RAM buffer [mem 0x107ecc2000-0x107fffffff] +[ 0.503561] kernel: e820: reserve RAM buffer [mem 0x107ecc5000-0x107fffffff] +[ 0.503566] kernel: e820: reserve RAM buffer [mem 0x107f807000-0x107fffffff] +[ 0.503571] kernel: e820: reserve RAM buffer [mem 0x107f81b000-0x107fffffff] +[ 0.503576] kernel: e820: reserve RAM buffer [mem 0x107f890000-0x107fffffff] +[ 0.503580] kernel: e820: reserve RAM buffer [mem 0x107f8a9000-0x107fffffff] +[ 0.503584] kernel: e820: reserve RAM buffer [mem 0x107f8b4000-0x107fffffff] +[ 0.503588] kernel: e820: reserve RAM buffer [mem 0x107f8b8000-0x107fffffff] +[ 0.503592] kernel: e820: reserve RAM buffer [mem 0x107f8c6000-0x107fffffff] +[ 0.503595] kernel: e820: reserve RAM buffer [mem 0x107f8d5000-0x107fffffff] +[ 0.503598] kernel: e820: reserve RAM buffer [mem 0x107f915000-0x107fffffff] +[ 0.503601] kernel: e820: reserve RAM buffer [mem 0x107f935000-0x107fffffff] +[ 0.503604] kernel: e820: reserve RAM buffer [mem 0x107f93e000-0x107fffffff] +[ 0.503606] kernel: e820: reserve RAM buffer [mem 0x107f95e000-0x107fffffff] +[ 0.503608] kernel: e820: reserve RAM buffer [mem 0x107f963000-0x107fffffff] +[ 0.503609] kernel: e820: reserve RAM buffer [mem 0x107fc00000-0x107fffffff] +[ 0.503688] kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA device +[ 0.503688] kernel: pci 0000:00:02.0: vgaarb: bridge control possible +[ 0.503688] kernel: pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none +[ 0.503688] kernel: vgaarb: loaded +[ 0.504426] kernel: clocksource: Switched to clocksource tsc-early +[ 0.512989] kernel: VFS: Disk quotas dquot_6.6.0 +[ 0.513006] kernel: VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.513132] kernel: AppArmor: AppArmor Filesystem Enabled +[ 0.513148] kernel: pnp: PnP ACPI init +[ 0.513310] kernel: pnp 00:00: disabling [mem 0xc0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 0x00000000-0xdfffffff 64bit pref] +[ 0.513345] kernel: system 00:00: [mem 0xfedc0000-0xfeddffff] has been reserved +[ 0.513347] kernel: system 00:00: [mem 0xfeda0000-0xfeda0fff] has been reserved +[ 0.513349] kernel: system 00:00: [mem 0xfeda1000-0xfeda1fff] has been reserved +[ 0.513350] kernel: system 00:00: [mem 0xfed90000-0xfed93fff] could not be reserved +[ 0.513352] kernel: system 00:00: [mem 0xfe000000-0xffffffff] could not be reserved +[ 0.513354] kernel: system 00:00: [mem 0xf8000000-0xf9ffffff] has been reserved +[ 0.513355] kernel: system 00:00: [mem 0xfee00000-0xfeefffff] has been reserved +[ 0.513357] kernel: system 00:00: [mem 0xfed00000-0xfed003ff] has been reserved +[ 0.513407] kernel: system 00:01: [mem 0xfed00000-0xfed003ff] has been reserved +[ 0.513442] kernel: system 00:02: [io 0x1800-0x18fe] has been reserved +[ 0.515056] kernel: pnp: PnP ACPI: found 6 devices +[ 0.520709] kernel: clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns +[ 0.520779] kernel: NET: Registered PF_INET protocol family +[ 0.520986] kernel: IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear) +[ 0.524507] kernel: tcp_listen_portaddr_hash hash table entries: 32768 (order: 7, 524288 bytes, linear) +[ 0.524564] kernel: Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) +[ 0.524962] kernel: TCP established hash table entries: 524288 (order: 10, 4194304 bytes, linear) +[ 0.525543] kernel: TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear) +[ 0.525717] kernel: TCP: Hash tables configured (established 524288 bind 65536) +[ 0.525961] kernel: MPTCP token hash table entries: 65536 (order: 8, 1572864 bytes, linear) +[ 0.526154] kernel: UDP hash table entries: 32768 (order: 8, 1048576 bytes, linear) +[ 0.526316] kernel: UDP-Lite hash table entries: 32768 (order: 8, 1048576 bytes, linear) +[ 0.526429] kernel: NET: Registered PF_UNIX/PF_LOCAL protocol family +[ 0.526436] kernel: NET: Registered PF_XDP protocol family +[ 0.526443] kernel: pci_bus 0000:00: max bus depth: 1 pci_try_num: 2 +[ 0.526454] kernel: pci 0000:00:02.0: BAR 9: assigned [mem 0x10a0000000-0x117fffffff 64bit pref] +[ 0.526459] kernel: pci 0000:00:02.0: BAR 7: assigned [mem 0x1180000000-0x1186ffffff 64bit] +[ 0.526462] kernel: pci 0000:00:1d.0: BAR 15: assigned [mem 0x109bc00000-0x109bdfffff 64bit pref] +[ 0.526465] kernel: pci 0000:00:1d.0: BAR 13: assigned [io 0x5000-0x5fff] +[ 0.526468] kernel: pci 0000:00:06.0: PCI bridge to [bus 01] +[ 0.526485] kernel: pci 0000:00:06.0: bridge window [mem 0x80400000-0x804fffff] +[ 0.526506] kernel: pci 0000:00:07.0: PCI bridge to [bus 02-2c] +[ 0.526508] kernel: pci 0000:00:07.0: bridge window [io 0x2000-0x3fff] +[ 0.526513] kernel: pci 0000:00:07.0: bridge window [mem 0x82000000-0x8e1fffff] +[ 0.526516] kernel: pci 0000:00:07.0: bridge window [mem 0x107fc00000-0x109bbfffff 64bit pref] +[ 0.526521] kernel: pci 0000:00:1d.0: PCI bridge to [bus 2d] +[ 0.526525] kernel: pci 0000:00:1d.0: bridge window [io 0x5000-0x5fff] +[ 0.526530] kernel: pci 0000:00:1d.0: bridge window [mem 0x80500000-0x805fffff] +[ 0.526534] kernel: pci 0000:00:1d.0: bridge window [mem 0x109bc00000-0x109bdfffff 64bit pref] +[ 0.526540] kernel: pci 0000:00:1d.1: PCI bridge to [bus 2e] +[ 0.526542] kernel: pci 0000:00:1d.1: bridge window [io 0x4000-0x4fff] +[ 0.526547] kernel: pci 0000:00:1d.1: bridge window [mem 0x80600000-0x806fffff] +[ 0.526556] kernel: pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window] +[ 0.526558] kernel: pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window] +[ 0.526559] kernel: pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000fffff window] +[ 0.526561] kernel: pci_bus 0000:00: resource 7 [mem 0x80400000-0xdfffffff window] +[ 0.526562] kernel: pci_bus 0000:00: resource 8 [mem 0x107fc00000-0x7fffffffff window] +[ 0.526563] kernel: pci_bus 0000:00: resource 9 [mem 0xfc800000-0xfe7fffff window] +[ 0.526565] kernel: pci_bus 0000:00: resource 10 [mem 0xfed40000-0xfed47fff window] +[ 0.526566] kernel: pci_bus 0000:01: resource 1 [mem 0x80400000-0x804fffff] +[ 0.526568] kernel: pci_bus 0000:02: resource 0 [io 0x2000-0x3fff] +[ 0.526569] kernel: pci_bus 0000:02: resource 1 [mem 0x82000000-0x8e1fffff] +[ 0.526570] kernel: pci_bus 0000:02: resource 2 [mem 0x107fc00000-0x109bbfffff 64bit pref] +[ 0.526572] kernel: pci_bus 0000:2d: resource 0 [io 0x5000-0x5fff] +[ 0.526573] kernel: pci_bus 0000:2d: resource 1 [mem 0x80500000-0x805fffff] +[ 0.526574] kernel: pci_bus 0000:2d: resource 2 [mem 0x109bc00000-0x109bdfffff 64bit pref] +[ 0.526576] kernel: pci_bus 0000:2e: resource 0 [io 0x4000-0x4fff] +[ 0.526577] kernel: pci_bus 0000:2e: resource 1 [mem 0x80600000-0x806fffff] +[ 0.528274] kernel: PCI: CLS 64 bytes, default 64 +[ 0.528282] kernel: DMAR: Intel-IOMMU force enabled due to platform opt in +[ 0.528290] kernel: DMAR: No ATSR found +[ 0.528290] kernel: DMAR: No SATC found +[ 0.528291] kernel: DMAR: IOMMU feature fl1gp_support inconsistent +[ 0.528293] kernel: DMAR: IOMMU feature pgsel_inv inconsistent +[ 0.528294] kernel: DMAR: IOMMU feature nwfs inconsistent +[ 0.528294] kernel: DMAR: IOMMU feature dit inconsistent +[ 0.528295] kernel: DMAR: IOMMU feature sc_support inconsistent +[ 0.528296] kernel: DMAR: IOMMU feature dev_iotlb_support inconsistent +[ 0.528297] kernel: DMAR: dmar0: Using Queued invalidation +[ 0.528301] kernel: DMAR: dmar1: Using Queued invalidation +[ 0.528347] kernel: Trying to unpack rootfs image as initramfs... +[ 0.528484] kernel: pci 0000:00:02.0: Adding to iommu group 0 +[ 0.528515] kernel: pci 0000:00:00.0: Adding to iommu group 1 +[ 0.528526] kernel: pci 0000:00:06.0: Adding to iommu group 2 +[ 0.528537] kernel: pci 0000:00:07.0: Adding to iommu group 3 +[ 0.528545] kernel: pci 0000:00:0a.0: Adding to iommu group 4 +[ 0.528561] kernel: pci 0000:00:0d.0: Adding to iommu group 5 +[ 0.528569] kernel: pci 0000:00:0d.2: Adding to iommu group 5 +[ 0.528584] kernel: pci 0000:00:14.0: Adding to iommu group 6 +[ 0.528593] kernel: pci 0000:00:14.2: Adding to iommu group 6 +[ 0.528602] kernel: pci 0000:00:14.3: Adding to iommu group 7 +[ 0.528617] kernel: pci 0000:00:15.0: Adding to iommu group 8 +[ 0.528626] kernel: pci 0000:00:15.1: Adding to iommu group 8 +[ 0.528637] kernel: pci 0000:00:16.0: Adding to iommu group 9 +[ 0.528651] kernel: pci 0000:00:1d.0: Adding to iommu group 10 +[ 0.528664] kernel: pci 0000:00:1d.1: Adding to iommu group 11 +[ 0.528687] kernel: pci 0000:00:1f.0: Adding to iommu group 12 +[ 0.528697] kernel: pci 0000:00:1f.3: Adding to iommu group 12 +[ 0.528707] kernel: pci 0000:00:1f.4: Adding to iommu group 12 +[ 0.528717] kernel: pci 0000:00:1f.5: Adding to iommu group 12 +[ 0.528727] kernel: pci 0000:01:00.0: Adding to iommu group 13 +[ 0.528738] kernel: pci 0000:2d:00.0: Adding to iommu group 14 +[ 0.528748] kernel: pci 0000:2e:00.0: Adding to iommu group 15 +[ 0.528898] kernel: DMAR: Intel(R) Virtualization Technology for Directed I/O +[ 0.528899] kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB) +[ 0.528900] kernel: software IO TLB: mapped [mem 0x00000000728cb000-0x00000000768cb000] (64MB) +[ 0.529317] kernel: clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x23fa772cf26, max_idle_ns: 440795269835 ns +[ 0.529343] kernel: clocksource: Switched to clocksource tsc +[ 0.530014] kernel: Initialise system trusted keyrings +[ 0.530022] kernel: Key type blacklist registered +[ 0.530078] kernel: workingset: timestamp_bits=36 max_order=24 bucket_order=0 +[ 0.530091] kernel: zbud: loaded +[ 0.530320] kernel: squashfs: version 4.0 (2009/01/31) Phillip Lougher +[ 0.530418] kernel: fuse: init (API version 7.38) +[ 0.530566] kernel: integrity: Platform Keyring initialized +[ 0.530570] kernel: integrity: Machine keyring initialized +[ 0.537738] kernel: Key type asymmetric registered +[ 0.537740] kernel: Asymmetric key parser 'x509' registered +[ 0.537754] kernel: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) +[ 0.537814] kernel: io scheduler mq-deadline registered +[ 0.538540] kernel: pcieport 0000:00:06.0: PME: Signaling with IRQ 122 +[ 0.538923] kernel: pcieport 0000:00:07.0: PME: Signaling with IRQ 123 +[ 0.539001] kernel: pcieport 0000:00:07.0: AER: enabled with IRQ 123 +[ 0.539018] kernel: pcieport 0000:00:07.0: pciehp: Slot #3 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ IbPresDis- LLActRep+ +[ 0.539093] kernel: pcieport 0000:00:07.0: DPC: enabled with IRQ 123 +[ 0.539095] kernel: pcieport 0000:00:07.0: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP- SwTrigger- RP PIO Log 4, DL_ActiveErr- +[ 0.539511] kernel: pcieport 0000:00:1d.0: PME: Signaling with IRQ 124 +[ 0.539582] kernel: pcieport 0000:00:1d.0: AER: enabled with IRQ 124 +[ 0.539602] kernel: pcieport 0000:00:1d.0: pciehp: Slot #8 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ IbPresDis- LLActRep+ +[ 0.540056] kernel: pcieport 0000:00:1d.1: PME: Signaling with IRQ 125 +[ 0.540127] kernel: pcieport 0000:00:1d.1: AER: enabled with IRQ 125 +[ 0.540226] kernel: shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 +[ 0.540277] kernel: efifb: probing for efifb +[ 0.540296] kernel: efifb: showing boot graphics +[ 0.541668] kernel: efifb: framebuffer at 0x90000000, using 8100k, total 8100k +[ 0.541670] kernel: efifb: mode is 1920x1080x32, linelength=7680, pages=1 +[ 0.541671] kernel: efifb: scrolling: redraw +[ 0.541672] kernel: efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 +[ 0.541759] kernel: Console: switching to colour frame buffer device 240x67 +[ 0.543314] kernel: fb0: EFI VGA frame buffer device +[ 0.544299] kernel: ACPI: AC: AC Adapter [AC] (on-line) +[ 0.544356] kernel: input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0 +[ 0.544472] kernel: ACPI: button: Power Button [PWRB] +[ 0.544500] kernel: input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1 +[ 0.544613] kernel: ACPI: button: Sleep Button [SLPB] +[ 0.544642] kernel: input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input2 +[ 0.544678] kernel: ACPI: button: Lid Switch [LID0] +[ 0.544705] kernel: input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3 +[ 0.544890] kernel: ACPI: button: Power Button [PWRF] +[ 0.546398] kernel: Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled +[ 0.548471] kernel: hpet_acpi_add: no address or irqs in _CRS +[ 0.548484] kernel: Linux agpgart interface v0.103 +[ 0.553003] kernel: tpm_tis MSFT0101:00: 2.0 TPM (device-id 0x1B, rev-id 22) +[ 0.616376] kernel: ACPI: battery: Slot [BAT0] (battery present) +[ 1.133733] kernel: loop: module loaded +[ 1.133976] kernel: tun: Universal TUN/TAP device driver, 1.6 +[ 1.134052] kernel: PPP generic driver version 2.4.2 +[ 1.134209] kernel: i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 +[ 1.144708] kernel: serio: i8042 KBD port at 0x60,0x64 irq 1 +[ 1.144712] kernel: serio: i8042 AUX port at 0x60,0x64 irq 12 +[ 1.144934] kernel: mousedev: PS/2 mouse device common for all mice +[ 1.145498] kernel: rtc_cmos 00:03: RTC can wake from S4 +[ 1.146292] kernel: rtc_cmos 00:03: registered as rtc0 +[ 1.146457] kernel: rtc_cmos 00:03: setting system clock to 2024-06-03T04:06:20 UTC (1717387580) +[ 1.146489] kernel: rtc_cmos 00:03: alarms up to one month, 242 bytes nvram +[ 1.146496] kernel: i2c_dev: i2c /dev entries driver +[ 1.147760] kernel: device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log. +[ 1.147780] kernel: device-mapper: uevent: version 1.0.3 +[ 1.147931] kernel: device-mapper: ioctl: 4.48.0-ioctl (2023-03-01) initialised: dm-devel@redhat.com +[ 1.147965] kernel: platform eisa.0: Probing EISA bus 0 +[ 1.147968] kernel: platform eisa.0: EISA: Cannot allocate resource for mainboard +[ 1.147969] kernel: platform eisa.0: Cannot allocate resource for EISA slot 1 +[ 1.147971] kernel: platform eisa.0: Cannot allocate resource for EISA slot 2 +[ 1.147972] kernel: platform eisa.0: Cannot allocate resource for EISA slot 3 +[ 1.147973] kernel: platform eisa.0: Cannot allocate resource for EISA slot 4 +[ 1.147974] kernel: platform eisa.0: Cannot allocate resource for EISA slot 5 +[ 1.147975] kernel: platform eisa.0: Cannot allocate resource for EISA slot 6 +[ 1.147976] kernel: platform eisa.0: Cannot allocate resource for EISA slot 7 +[ 1.147977] kernel: platform eisa.0: Cannot allocate resource for EISA slot 8 +[ 1.147978] kernel: platform eisa.0: EISA: Detected 0 cards +[ 1.147982] kernel: intel_pstate: Intel P-state driver initializing +[ 1.149039] kernel: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4 +[ 1.149658] kernel: intel_pstate: HWP enabled +[ 1.150348] kernel: ledtrig-cpu: registered to indicate activity on CPUs +[ 1.150429] kernel: intel_pmc_core INT33A1:00: initialized +[ 1.150494] kernel: drop_monitor: Initializing network drop monitor service +[ 1.159603] kernel: NET: Registered PF_INET6 protocol family +[ 1.191447] kernel: Freeing initrd memory: 127164K +[ 1.195137] kernel: Segment Routing with IPv6 +[ 1.195145] kernel: In-situ OAM (IOAM) with IPv6 +[ 1.195164] kernel: NET: Registered PF_PACKET protocol family +[ 1.195248] kernel: Key type dns_resolver registered +[ 1.197404] kernel: microcode: Microcode Update Driver: v2.2. +[ 1.197410] kernel: IPI shorthand broadcast: enabled +[ 1.198066] kernel: sched_clock: Marking stable (1190238609, 7164497)->(1242720162, -45317056) +[ 1.198541] kernel: registered taskstats version 1 +[ 1.199737] kernel: Loading compiled-in X.509 certificates +[ 1.200208] kernel: Loaded X.509 cert 'Build time autogenerated kernel key: 73705a51282eea04e7eb4bef93768faf542bd3c0' +[ 1.200431] kernel: Loaded X.509 cert 'Canonical Ltd. Live Patch Signing: 14df34d1a87cf37625abec039ef2bf521249b969' +[ 1.200651] kernel: Loaded X.509 cert 'Canonical Ltd. Kernel Module Signing: 88f752e560a1e0737e31163a466ad7b70a850c19' +[ 1.200652] kernel: blacklist: Loading compiled-in revocation X.509 certificates +[ 1.200660] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing: 61482aa2830d0ab2ad5af10b7250da9033ddcef0' +[ 1.200668] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2017): 242ade75ac4a15e50d50c84b0d45ff3eae707a03' +[ 1.200674] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (ESM 2018): 365188c1d374d6b07c3c8f240f8ef722433d6a8b' +[ 1.200680] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2019): c0746fd6c5da3ae827864651ad66ae47fe24b3e8' +[ 1.200687] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v1): a8d54bbb3825cfb94fa13c9f8a594a195c107b8d' +[ 1.200693] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v2): 4cf046892d6fd3c9a5b03f98d845f90851dc6a8c' +[ 1.200700] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v3): 100437bb6de6e469b581e61cd66bce3ef4ed53af' +[ 1.200710] kernel: Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (Ubuntu Core 2019): c1d57b8f6b743f23ee41f4f7ee292f06eecadfb9' +[ 1.201574] kernel: Key type .fscrypt registered +[ 1.201575] kernel: Key type fscrypt-provisioning registered +[ 1.201601] kernel: Key type trusted registered +[ 1.204428] kernel: Key type encrypted registered +[ 1.204431] kernel: AppArmor: AppArmor sha1 policy hashing enabled +[ 1.204455] kernel: Loading compiled-in module X.509 certificates +[ 1.204738] kernel: Loaded X.509 cert 'Build time autogenerated kernel key: 73705a51282eea04e7eb4bef93768faf542bd3c0' +[ 1.204739] kernel: ima: Allocated hash algorithm: sha1 +[ 1.249894] kernel: ima: No architecture policies found +[ 1.249918] kernel: evm: Initialising EVM extended attributes: +[ 1.249920] kernel: evm: security.selinux +[ 1.249922] kernel: evm: security.SMACK64 +[ 1.249924] kernel: evm: security.SMACK64EXEC +[ 1.249925] kernel: evm: security.SMACK64TRANSMUTE +[ 1.249926] kernel: evm: security.SMACK64MMAP +[ 1.249927] kernel: evm: security.apparmor +[ 1.249929] kernel: evm: security.ima +[ 1.249930] kernel: evm: security.capability +[ 1.249931] kernel: evm: HMAC attrs: 0x1 +[ 1.250566] kernel: PM: Magic number: 12:709:109 +[ 1.255853] kernel: RAS: Correctable Errors collector initialized. +[ 1.255939] kernel: clk: Disabling unused clocks +[ 1.263480] kernel: Freeing unused decrypted memory: 2036K +[ 1.264110] kernel: Freeing unused kernel image (initmem) memory: 4816K +[ 1.283317] kernel: Write protecting the kernel read-only data: 34816k +[ 1.284111] kernel: Freeing unused kernel image (rodata/data gap) memory: 1144K +[ 1.293223] kernel: x86/mm: Checked W+X mappings: passed, no W+X pages found. +[ 1.293226] kernel: Run /init as init process +[ 1.293227] kernel: with arguments: +[ 1.293227] kernel: /init +[ 1.293228] kernel: splash +[ 1.293228] kernel: with environment: +[ 1.293229] kernel: HOME=/ +[ 1.293229] kernel: TERM=linux +[ 1.293229] kernel: BOOT_IMAGE=/vmlinuz-6.5.0-35-generic +[ 1.333617] kernel: hid: raw HID events driver (C) Jiri Kosina +[ 1.335872] kernel: xhci_hcd 0000:00:0d.0: xHCI Host Controller +[ 1.335880] kernel: xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 1 +[ 1.336931] kernel: xhci_hcd 0000:00:0d.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000000200009810 +[ 1.337127] kernel: xhci_hcd 0000:00:0d.0: xHCI Host Controller +[ 1.337129] kernel: xhci_hcd 0000:00:0d.0: new USB bus registered, assigned bus number 2 +[ 1.337131] kernel: xhci_hcd 0000:00:0d.0: Host supports USB 3.2 Enhanced SuperSpeed +[ 1.337159] kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.05 +[ 1.337161] kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.337161] kernel: usb usb1: Product: xHCI Host Controller +[ 1.337162] kernel: usb usb1: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.337163] kernel: usb usb1: SerialNumber: 0000:00:0d.0 +[ 1.337253] kernel: hub 1-0:1.0: USB hub found +[ 1.337261] kernel: hub 1-0:1.0: 1 port detected +[ 1.337477] kernel: sdhci: Secure Digital Host Controller Interface driver +[ 1.337479] kernel: sdhci: Copyright(c) Pierre Ossman +[ 1.337699] kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.05 +[ 1.337703] kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.337705] kernel: usb usb2: Product: xHCI Host Controller +[ 1.337707] kernel: usb usb2: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.337708] kernel: usb usb2: SerialNumber: 0000:00:0d.0 +[ 1.338041] kernel: hub 2-0:1.0: USB hub found +[ 1.338052] kernel: hub 2-0:1.0: 1 port detected +[ 1.338094] kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is set +[ 1.338138] kernel: i801_smbus 0000:00:1f.4: SMBus using PCI interrupt +[ 1.338589] kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller +[ 1.338598] kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 3 +[ 1.338632] kernel: i2c i2c-0: 2/2 memory slots populated (from DMI) +[ 1.339064] kernel: i2c i2c-0: Successfully instantiated SPD at 0x50 +[ 1.339421] kernel: idma64 idma64.0: Found Intel integrated DMA 64-bit +[ 1.339700] kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000100200009810 +[ 1.339984] kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller +[ 1.339988] kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4 +[ 1.339990] kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed +[ 1.340029] kernel: usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.05 +[ 1.340032] kernel: usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.340033] kernel: usb usb3: Product: xHCI Host Controller +[ 1.340034] kernel: usb usb3: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.340035] kernel: usb usb3: SerialNumber: 0000:00:14.0 +[ 1.340177] kernel: hub 3-0:1.0: USB hub found +[ 1.340198] kernel: hub 3-0:1.0: 12 ports detected +[ 1.340572] kernel: usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.05 +[ 1.340574] kernel: usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 +[ 1.340576] kernel: usb usb4: Product: xHCI Host Controller +[ 1.340577] kernel: usb usb4: Manufacturer: Linux 6.5.0-35-generic xhci-hcd +[ 1.340578] kernel: usb usb4: SerialNumber: 0000:00:14.0 +[ 1.340660] kernel: hub 4-0:1.0: USB hub found +[ 1.340678] kernel: hub 4-0:1.0: 4 ports detected +[ 1.340755] kernel: usb: port power management may be unreliable +[ 1.341605] kernel: idma64 idma64.1: Found Intel integrated DMA 64-bit +[ 1.349109] kernel: ACPI: bus type thunderbolt registered +[ 1.356688] kernel: r8169 0000:2e:00.0 eth0: RTL8168h/8111h, d4:93:90:24:37:9a, XID 541, IRQ 145 +[ 1.356691] kernel: r8169 0000:2e:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko] +[ 1.359799] kernel: cryptd: max_cpu_qlen set to 1000 +[ 1.360071] kernel: nvme nvme0: pci function 0000:01:00.0 +[ 1.360075] kernel: ACPI: bus type drm_connector registered +[ 1.361102] kernel: pcieport 0000:00:06.0: can't derive routing for PCI INT A +[ 1.361105] kernel: nvme 0000:01:00.0: PCI INT A: no GSI - using ISA IRQ 11 +[ 1.402667] kernel: nvme nvme0: 16/0/0 default/read/poll queues +[ 1.408078] kernel: nvme0n1: p1 p2 p3 +[ 1.426883] kernel: sdhci-pci 0000:2d:00.0: SDHCI controller found [1217:8621] (rev 1) +[ 1.428020] kernel: mmc0: SDHCI controller on PCI [0000:2d:00.0] using ADMA +[ 1.428797] kernel: input: ELAN0412:00 04F3:3240 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input6 +[ 1.428940] kernel: input: ELAN0412:00 04F3:3240 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input8 +[ 1.429051] kernel: hid-generic 0018:04F3:3240.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0412:00 04F3:3240] on i2c-ELAN0412:00 +[ 1.433169] kernel: AVX2 version of gcm_enc/dec engaged. +[ 1.433209] kernel: AES CTR mode by8 optimization enabled +[ 1.463382] kernel: r8169 0000:2e:00.0 enp46s0: renamed from eth0 +[ 1.607322] kernel: usb 3-1: new full-speed USB device number 2 using xhci_hcd +[ 1.678787] kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access +[ 1.678848] kernel: Console: switching to colour dummy device 80x25 +[ 1.678876] kernel: i915 0000:00:02.0: vgaarb: deactivate vga console +[ 1.678910] kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages +[ 1.731949] kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem +[ 1.735747] kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20) +[ 1.747661] kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 70.5.1 +[ 1.747665] kernel: i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3 +[ 1.762698] kernel: i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads +[ 1.763074] kernel: usb 3-1: New USB device found, idVendor=046d, idProduct=c52f, bcdDevice=30.00 +[ 1.763093] kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 +[ 1.763096] kernel: usb 3-1: Product: USB Receiver +[ 1.763098] kernel: usb 3-1: Manufacturer: Logitech +[ 1.763539] kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled +[ 1.763544] kernel: i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled +[ 1.764142] kernel: i915 0000:00:02.0: [drm] GT0: GUC: RC enabled +[ 1.765164] kernel: i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized +[ 1.891330] kernel: usb 3-7: new high-speed USB device number 3 using xhci_hcd +[ 2.055982] kernel: usb 3-7: New USB device found, idVendor=5986, idProduct=9102, bcdDevice= 6.01 +[ 2.055993] kernel: usb 3-7: New USB device strings: Mfr=2, Product=1, SerialNumber=0 +[ 2.055996] kernel: usb 3-7: Product: BisonCam,NB Pro +[ 2.055999] kernel: usb 3-7: Manufacturer: Sonix Technology Co., Ltd. +[ 2.183338] kernel: usb 3-10: new full-speed USB device number 4 using xhci_hcd +[ 2.333968] kernel: usb 3-10: New USB device found, idVendor=8087, idProduct=0026, bcdDevice= 0.02 +[ 2.333978] kernel: usb 3-10: New USB device strings: Mfr=0, Product=0, SerialNumber=0 +[ 2.342146] kernel: input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:046D:C52F.0002/input/input10 +[ 2.342290] kernel: hid-generic 0003:046D:C52F.0002: input,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-1/input0 +[ 2.343481] kernel: input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/input/input11 +[ 2.404036] kernel: hid-generic 0003:046D:C52F.0003: input,hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input1 +[ 2.404122] kernel: usbcore: registered new interface driver usbhid +[ 2.404125] kernel: usbhid: USB HID core driver +[ 2.452140] kernel: logitech-djreceiver 0003:046D:C52F.0002: hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-1/input0 +[ 2.548714] kernel: logitech-djreceiver 0003:046D:C52F.0003: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input1 +[ 2.609154] kernel: logitech-djreceiver 0003:046D:C52F.0003: device of type eQUAD step 4 DJ (0x04) connected on slot 1 +[ 2.609879] kernel: input: Logitech Wireless Mouse PID:4080 Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/0003:046D:4080.0004/input/input14 +[ 2.610365] kernel: input: Logitech Wireless Mouse PID:4080 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/0003:046D:4080.0004/input/input15 +[ 2.610483] kernel: hid-generic 0003:046D:4080.0004: input,hidraw3: USB HID v1.11 Mouse [Logitech Wireless Mouse PID:4080] on usb-0000:00:14.0-1/input1:1 +[ 2.713588] kernel: input: Logitech M350 as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1/0003:046D:C52F.0003/0003:046D:4080.0004/input/input19 +[ 2.714035] kernel: logitech-hidpp-device 0003:046D:4080.0004: input,hidraw3: USB HID v1.11 Mouse [Logitech M350] on usb-0000:00:14.0-1/input1:1 +[ 3.453282] kernel: i915 0000:00:02.0: [drm] Skipping intel_backlight registration +[ 3.454464] kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0 +[ 3.454768] kernel: ACPI: video: Video Device [GFX0] (multi-head: yes rom: no post: no) +[ 3.454884] kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input20 +[ 3.484075] kernel: acpi device:03: registered as cooling_device16 +[ 3.486087] kernel: fbcon: i915drmfb (fb0) is primary device +[ 3.500845] kernel: Console: switching to colour frame buffer device 240x67 +[ 3.520078] kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device +[ 11.808288] kernel: EXT4-fs (dm-1): mounted filesystem 577da86c-d59d-4e17-97d8-bf7e6b1a5cf1 ro with ordered data mode. Quota mode: none. +[ 11.905769] systemd[1]: Inserted module 'autofs4' +[ 11.915985] systemd[1]: systemd 249.11-0ubuntu3.12 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified) +[ 11.916040] systemd[1]: Detected architecture x86-64. +[ 11.916630] systemd[1]: Hostname set to . +[ 11.959394] kernel: systemd[1]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set +[ 12.139594] systemd[1]: Queued start job for default target Graphical Interface. +[ 12.185937] systemd[1]: Created slice Slice /system/modprobe. +[ 12.186668] systemd[1]: Created slice Slice /system/postgresql. +[ 12.187137] systemd[1]: Created slice Cryptsetup Units Slice. +[ 12.187595] systemd[1]: Created slice Slice /system/systemd-fsck. +[ 12.187905] systemd[1]: Created slice User and Session Slice. +[ 12.188004] systemd[1]: Started Forward Password Requests to Wall Directory Watch. +[ 12.188228] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. +[ 12.188328] systemd[1]: Reached target User and Group Name Lookups. +[ 12.188345] systemd[1]: Reached target Remote File Systems. +[ 12.188358] systemd[1]: Reached target Slice Units. +[ 12.188382] systemd[1]: Reached target Mounting snaps. +[ 12.188414] systemd[1]: Reached target Local Verity Protected Volumes. +[ 12.188494] systemd[1]: Listening on Device-mapper event daemon FIFOs. +[ 12.188617] systemd[1]: Listening on LVM2 poll daemon socket. +[ 12.189157] systemd[1]: Listening on Syslog Socket. +[ 12.189236] systemd[1]: Listening on fsck to fsckd communication Socket. +[ 12.189278] systemd[1]: Listening on initctl Compatibility Named Pipe. +[ 12.189442] systemd[1]: Listening on Journal Audit Socket. +[ 12.189507] systemd[1]: Listening on Journal Socket (/dev/log). +[ 12.189590] systemd[1]: Listening on Journal Socket. +[ 12.189695] systemd[1]: Listening on udev Control Socket. +[ 12.189770] systemd[1]: Listening on udev Kernel Socket. +[ 12.190596] systemd[1]: Mounting Huge Pages File System... +[ 12.191363] systemd[1]: Mounting POSIX Message Queue File System... +[ 12.192128] systemd[1]: Mounting Kernel Debug File System... +[ 12.192918] systemd[1]: Mounting Kernel Trace File System... +[ 12.194439] systemd[1]: Starting Journal Service... +[ 12.194531] systemd[1]: Finished Availability of block devices. +[ 12.195116] systemd[1]: Starting Set the console keyboard layout... +[ 12.195688] systemd[1]: Starting Create List of Static Device Nodes... +[ 12.196253] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling... +[ 12.196811] systemd[1]: Starting Load Kernel Module configfs... +[ 12.197671] systemd[1]: Starting Load Kernel Module drm... +[ 12.198342] systemd[1]: Starting Load Kernel Module efi_pstore... +[ 12.198935] systemd[1]: Starting Load Kernel Module fuse... +[ 12.199829] systemd[1]: Started Nameserver information manager. +[ 12.200016] systemd[1]: Condition check resulted in File System Check on Root Device being skipped. +[ 12.200987] systemd[1]: Starting Load Kernel Modules... +[ 12.201512] kernel: pstore: Using crash dump compression: deflate +[ 12.201670] systemd[1]: Starting Remount Root and Kernel File Systems... +[ 12.201792] kernel: pstore: Registered efi_pstore as persistent store backend +[ 12.202542] systemd[1]: Starting Coldplug All udev Devices... +[ 12.203777] systemd[1]: Mounted Huge Pages File System. +[ 12.203889] systemd[1]: Mounted POSIX Message Queue File System. +[ 12.203980] systemd[1]: Mounted Kernel Debug File System. +[ 12.204066] systemd[1]: Mounted Kernel Trace File System. +[ 12.204384] systemd[1]: Finished Create List of Static Device Nodes. +[ 12.204616] systemd[1]: modprobe@configfs.service: Deactivated successfully. +[ 12.204820] systemd[1]: Finished Load Kernel Module configfs. +[ 12.204971] systemd[1]: modprobe@drm.service: Deactivated successfully. +[ 12.205089] systemd[1]: Finished Load Kernel Module drm. +[ 12.205189] systemd[1]: modprobe@efi_pstore.service: Deactivated successfully. +[ 12.205297] systemd[1]: Finished Load Kernel Module efi_pstore. +[ 12.205399] systemd[1]: modprobe@fuse.service: Deactivated successfully. +[ 12.205513] systemd[1]: Finished Load Kernel Module fuse. +[ 12.206258] systemd[1]: Mounting FUSE Control File System... +[ 12.206773] systemd[1]: Mounting Kernel Configuration File System... +[ 12.207629] systemd[1]: Mounted FUSE Control File System. +[ 12.208102] systemd[1]: Mounted Kernel Configuration File System. +[ 12.209356] kernel: lp: driver loaded but no devices found +[ 12.211629] kernel: ppdev: user-space parallel port driver +[ 12.220884] systemd[1]: Finished Load Kernel Modules. +[ 12.221007] systemd[1]: Started Journal Service. +[ 12.273299] kernel: EXT4-fs (dm-1): re-mounted 577da86c-d59d-4e17-97d8-bf7e6b1a5cf1 r/w. Quota mode: none. +[ 12.294867] kernel: loop0: detected capacity change from 0 to 8 +[ 12.295133] kernel: loop1: detected capacity change from 0 to 20128 +[ 12.295740] kernel: loop2: detected capacity change from 0 to 20656 +[ 12.296642] kernel: loop3: detected capacity change from 0 to 215872 +[ 12.297160] kernel: loop4: detected capacity change from 0 to 212976 +[ 12.298118] kernel: loop5: detected capacity change from 0 to 113992 +[ 12.298768] kernel: loop6: detected capacity change from 0 to 113992 +[ 12.299452] kernel: loop7: detected capacity change from 0 to 130960 +[ 12.300146] kernel: loop8: detected capacity change from 0 to 130960 +[ 12.300839] kernel: loop9: detected capacity change from 0 to 151992 +[ 12.301509] kernel: loop10: detected capacity change from 0 to 152040 +[ 12.302242] kernel: loop11: detected capacity change from 0 to 135488 +[ 12.302812] kernel: loop12: detected capacity change from 0 to 135520 +[ 12.303866] kernel: loop13: detected capacity change from 0 to 87144 +[ 12.304366] kernel: loop14: detected capacity change from 0 to 87144 +[ 12.305233] kernel: loop15: detected capacity change from 0 to 716168 +[ 12.306059] kernel: loop16: detected capacity change from 0 to 716176 +[ 12.307181] kernel: loop17: detected capacity change from 0 to 1017816 +[ 12.308209] kernel: loop18: detected capacity change from 0 to 1034424 +[ 12.309116] kernel: loop19: detected capacity change from 0 to 187776 +[ 12.310118] kernel: loop20: detected capacity change from 0 to 36288 +[ 12.310935] kernel: loop21: detected capacity change from 0 to 36288 +[ 12.311668] kernel: loop22: detected capacity change from 0 to 26472 +[ 12.312773] kernel: loop23: detected capacity change from 0 to 25240 +[ 12.313268] kernel: loop24: detected capacity change from 0 to 79328 +[ 12.313850] kernel: loop25: detected capacity change from 0 to 79520 +[ 12.314889] kernel: loop26: detected capacity change from 0 to 952 +[ 12.315818] kernel: loop27: detected capacity change from 0 to 904 +[ 12.317039] kernel: loop28: detected capacity change from 0 to 52280 +[ 12.317616] kernel: loop29: detected capacity change from 0 to 52280 +[ 12.359827] kernel: input: Intel HID events as /devices/platform/INT33D5:00/input/input21 +[ 12.360013] kernel: intel-hid INT33D5:00: failed to enable HID power button +[ 12.367264] kernel: EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (INTERRUPT) +[ 12.367355] kernel: EDAC MC1: Giving out device to module igen6_edac controller Intel_client_SoC MC#1: DEV 0000:00:00.0 (INTERRUPT) +[ 12.367376] kernel: EDAC igen6 MC1: HANDLING IBECC MEMORY ERROR +[ 12.367377] kernel: EDAC igen6 MC1: ADDR 0x7fffffffe0 +[ 12.367378] kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR +[ 12.367379] kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0 +[ 12.367428] kernel: EDAC igen6: v2.5.1 +[ 12.368112] kernel: input: System76 ACPI Hotkeys as /devices/LNXSYSTM:00/LNXSYBUS:00/17761776:00/input/input22 +[ 12.368276] kernel: ACPI: battery: new extension: System76 Battery Extension +[ 12.376267] kernel: ee1004 0-0050: 512 byte EE1004-compliant SPD EEPROM, read-only +[ 12.383289] kernel: mc: Linux media interface: v0.10 +[ 12.384402] kernel: spi-nor spi0.0: gd25q256 (32768 Kbytes) +[ 12.462717] kernel: Adding 1998844k swap on /dev/mapper/vgubuntu-swap_1. Priority:-2 extents:1 across:1998844k SSFS +[ 12.480400] kernel: Bluetooth: Core ver 2.22 +[ 12.480424] kernel: NET: Registered PF_BLUETOOTH protocol family +[ 12.480425] kernel: Bluetooth: HCI device and connection manager initialized +[ 12.480430] kernel: Bluetooth: HCI socket layer initialized +[ 12.480431] kernel: Bluetooth: L2CAP socket layer initialized +[ 12.480434] kernel: Bluetooth: SCO socket layer initialized +[ 12.481064] kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database +[ 12.481713] kernel: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' +[ 12.482096] kernel: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' +[ 12.482787] kernel: Creating 1 MTD partitions on "0000:00:1f.5": +[ 12.482794] kernel: 0x000000000000-0x000002000000 : "BIOS" +[ 12.489609] kernel: mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915]) +[ 12.490609] kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915]) +[ 12.491613] kernel: RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer +[ 12.491618] kernel: RAPL PMU: hw unit of domain pp0-core 2^-14 Joules +[ 12.491620] kernel: RAPL PMU: hw unit of domain package 2^-14 Joules +[ 12.491622] kernel: RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules +[ 12.491623] kernel: RAPL PMU: hw unit of domain psys 2^-14 Joules +[ 12.500260] kernel: videodev: Linux video capture interface: v2.00 +[ 12.501301] kernel: Intel(R) Wireless WiFi driver for Linux +[ 12.503851] kernel: iwlwifi 0000:00:14.3: Detected crf-id 0x1300504, cnv-id 0x80400 wfpm id 0x80000030 +[ 12.503895] kernel: iwlwifi 0000:00:14.3: PCI dev 51f0/0074, rev=0x370, rfid=0x10a100 +[ 12.507158] kernel: iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver +[ 12.507181] kernel: iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.41 +[ 12.507537] kernel: iwlwifi 0000:00:14.3: loaded firmware version 83.e8f84e98.0 so-a0-hr-b0-83.ucode op_mode iwlmvm +[ 12.509304] kernel: usb 3-7: Found UVC 1.00 device BisonCam,NB Pro (5986:9102) +[ 12.516280] kernel: usbcore: registered new interface driver uvcvideo +[ 12.523245] kernel: EXT4-fs (nvme0n1p2): mounted filesystem 6fa3e9cc-de78-44d1-854a-74f1e13463cd r/w with ordered data mode. Quota mode: none. +[ 12.590821] kernel: iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x370 +[ 12.590881] kernel: thermal thermal_zone0: failed to read out thermal zone (-61) +[ 12.593133] kernel: audit: type=1400 audit(1717387591.943:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-xpdfimport" pid=1033 comm="apparmor_parser" +[ 12.593163] kernel: audit: type=1400 audit(1717387591.943:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-senddoc" pid=1031 comm="apparmor_parser" +[ 12.593446] kernel: audit: type=1400 audit(1717387591.943:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-oosplash" pid=1030 comm="apparmor_parser" +[ 12.593560] kernel: audit: type=1400 audit(1717387591.943:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lsb_release" pid=1021 comm="apparmor_parser" +[ 12.593671] kernel: audit: type=1400 audit(1717387591.943:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1022 comm="apparmor_parser" +[ 12.593674] kernel: audit: type=1400 audit(1717387591.943:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1022 comm="apparmor_parser" +[ 12.593873] kernel: audit: type=1400 audit(1717387591.943:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=1028 comm="apparmor_parser" +[ 12.593874] kernel: audit: type=1400 audit(1717387591.943:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=1028 comm="apparmor_parser" +[ 12.593879] kernel: audit: type=1400 audit(1717387591.943:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=1028 comm="apparmor_parser" +[ 12.594167] kernel: audit: type=1400 audit(1717387591.943:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/cups-browsed" pid=1035 comm="apparmor_parser" +[ 12.600421] kernel: iwlwifi 0000:00:14.3: WRT: Invalid buffer destination +[ 12.603534] kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) +[ 12.610241] kernel: input: ELAN0412:00 04F3:3240 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input23 +[ 12.610366] kernel: input: ELAN0412:00 04F3:3240 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN0412:00/0018:04F3:3240.0001/input/input25 +[ 12.610484] kernel: hid-multitouch 0018:04F3:3240.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0412:00 04F3:3240] on i2c-ELAN0412:00 +[ 12.611518] kernel: usbcore: registered new interface driver btusb +[ 12.613072] kernel: Bluetooth: hci0: Device revision is 2 +[ 12.613076] kernel: Bluetooth: hci0: Secure boot is enabled +[ 12.613077] kernel: Bluetooth: hci0: OTP lock is enabled +[ 12.613077] kernel: Bluetooth: hci0: API lock is enabled +[ 12.613078] kernel: Bluetooth: hci0: Debug lock is disabled +[ 12.613079] kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014 +[ 12.613080] kernel: Bluetooth: hci0: Bootloader timestamp 2019.40 buildtype 1 build 38 +[ 12.613690] kernel: intel_tcc_cooling: Programmable TCC Offset detected +[ 12.615235] kernel: Bluetooth: hci0: Found device firmware: intel/ibt-0040-4150.sfi +[ 12.615250] kernel: Bluetooth: hci0: Boot Address: 0x100800 +[ 12.615252] kernel: Bluetooth: hci0: Firmware Version: 107-51.22 +[ 12.624717] kernel: intel_rapl_msr: PL4 support detected. +[ 12.624748] kernel: intel_rapl_common: Found RAPL domain package +[ 12.624751] kernel: intel_rapl_common: Found RAPL domain core +[ 12.624753] kernel: intel_rapl_common: Found RAPL domain uncore +[ 12.624755] kernel: intel_rapl_common: Found RAPL domain psys +[ 12.643023] kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker +[ 12.643030] kernel: snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) +[ 12.643033] kernel: snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0) +[ 12.643035] kernel: snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 +[ 12.643036] kernel: snd_hda_codec_realtek hdaudioC0D0: inputs: +[ 12.643038] kernel: snd_hda_codec_realtek hdaudioC0D0: Headset Mic=0x19 +[ 12.643040] kernel: snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12 +[ 12.704858] kernel: iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20 +[ 12.704905] kernel: iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f +[ 12.704913] kernel: iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90 +[ 12.704922] kernel: iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10 +[ 12.704976] kernel: iwlwifi 0000:00:14.3: Detected RF HR B5, rfid=0x10a100 +[ 12.706326] kernel: iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4 +[ 12.708984] kernel: input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26 +[ 12.709018] kernel: input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27 +[ 12.709047] kernel: input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28 +[ 12.709068] kernel: input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29 +[ 12.709088] kernel: input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input30 +[ 12.772298] kernel: iwlwifi 0000:00:14.3: base HW address: 74:04:f1:a1:0a:4a +[ 12.831366] kernel: iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0 +[ 12.861124] kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3 +[ 12.861129] kernel: Bluetooth: BNEP filters: protocol multicast +[ 12.861134] kernel: Bluetooth: BNEP socket layer initialized +[ 13.011197] kernel: Generic FE-GE Realtek PHY r8169-0-2e00:00: attached PHY driver (mii_bus:phy_addr=r8169-0-2e00:00, irq=MAC) +[ 13.215418] kernel: r8169 0000:2e:00.0 enp46s0: Link is Down +[ 13.226533] kernel: iwlwifi 0000:00:14.3: WRT: Invalid buffer destination +[ 13.326153] kernel: iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20 +[ 13.326200] kernel: iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f +[ 13.326209] kernel: iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90 +[ 13.326219] kernel: iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10 +[ 13.327607] kernel: iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4 +[ 13.337602] kernel: iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4 +[ 13.396950] kernel: iwlwifi 0000:00:14.3: Registered PHC clock: iwlwifi-PTP, with index: 0 +[ 14.034442] kernel: Bluetooth: hci0: Waiting for firmware download to complete +[ 14.035040] kernel: Bluetooth: hci0: Firmware loaded in 1386523 usecs +[ 14.035109] kernel: Bluetooth: hci0: Waiting for device to boot +[ 14.051043] kernel: Bluetooth: hci0: Device booted in 15582 usecs +[ 14.051051] kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02 +[ 14.051432] kernel: Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0040-4150.ddc +[ 14.053050] kernel: Bluetooth: hci0: Applying Intel DDC parameters completed +[ 14.056074] kernel: Bluetooth: hci0: Firmware timestamp 2022.51 buildtype 1 build 56683 +[ 14.125123] kernel: Bluetooth: MGMT ver 1.22 +[ 14.128387] kernel: NET: Registered PF_ALG protocol family +[ 14.172143] kernel: Bluetooth: hci0: Bad flag given (0x1) vs supported (0x0) +[ 14.306291] kernel: loop30: detected capacity change from 0 to 8 +[ 14.458996] kernel: rfkill: input handler disabled +[ 17.290646] kernel: wlp0s20f3: authenticate with 10:0c:6b:ac:e2:02 +[ 17.296108] kernel: wlp0s20f3: send auth to 10:0c:6b:ac:e2:02 (try 1/3) +[ 17.322727] kernel: wlp0s20f3: authenticated +[ 17.323185] kernel: wlp0s20f3: associate with 10:0c:6b:ac:e2:02 (try 1/3) +[ 17.326012] kernel: wlp0s20f3: RX AssocResp from 10:0c:6b:ac:e2:02 (capab=0x1411 status=0 aid=3) +[ 17.333358] kernel: wlp0s20f3: associated +[ 17.333395] kernel: wlp0s20f3: Limiting TX power to 30 (30 - 0) dBm as advertised by 10:0c:6b:ac:e2:02 +[ 17.343690] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.343991] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344257] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344471] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344744] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.344977] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.345276] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 +[ 17.345481] kernel: iwlwifi 0000:00:14.3: Unhandled alg: 0x707 diff --git a/t/pt-summary/samples/Linux/009/dmidecode b/t/pt-summary/samples/Linux/009/dmidecode new file mode 100644 index 000000000..3136ea5be --- /dev/null +++ b/t/pt-summary/samples/Linux/009/dmidecode @@ -0,0 +1,2 @@ +# dmidecode 3.3 +Scanning /dev/mem for entry point. diff --git a/t/pt-summary/samples/Linux/009/ip b/t/pt-summary/samples/Linux/009/ip new file mode 100644 index 000000000..42303c7a5 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/ip @@ -0,0 +1,60 @@ +1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + RX: bytes packets errors dropped missed mcast + 116015626073 172946768 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 116015626073 172946768 0 0 0 0 +2: enp46s0: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 + link/ether d4:93:90:24:37:9a brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 0 0 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 0 0 0 0 0 0 +3: wlp0s20f3: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 + link/ether 74:04:f1:a1:0a:4a brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 139034106833 148742623 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 28592926142 77005550 0 0 0 0 +4: docker0: mtu 1500 qdisc noqueue state UP mode DEFAULT group default + link/ether 02:42:b8:3a:02:a2 brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 11881867716 11928012 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 31887104008 14000997 0 0 0 0 +5: br-a7c7f1777df1: mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default + link/ether 02:42:50:6b:d9:e7 brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 0 0 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 0 0 0 0 0 0 +605: veth0655c9f@if604: mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default + link/ether fe:18:1e:af:9f:6b brd ff:ff:ff:ff:ff:ff link-netnsid 0 + RX: bytes packets errors dropped missed mcast + 1170127765 1046851 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 2539354604 1277512 0 0 0 0 +607: vethd189986@if606: mtu 1500 qdisc noqueue master br-79118f7d5a92 state UP mode DEFAULT group default + link/ether 5e:65:38:50:f8:1a brd ff:ff:ff:ff:ff:ff link-netnsid 2 + RX: bytes packets errors dropped missed mcast + 52568948 265022 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 636234838 308474 0 0 0 0 +609: veth2655c84@if608: mtu 1500 qdisc noqueue master br-79118f7d5a92 state UP mode DEFAULT group default + link/ether be:d1:21:fd:d2:fb brd ff:ff:ff:ff:ff:ff link-netnsid 1 + RX: bytes packets errors dropped missed mcast + 547370949 260278 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 51931644 244548 0 0 0 0 +613: wg0: mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 + link/none + RX: bytes packets errors dropped missed mcast + 17516184 36901 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 6867412 35663 0 0 0 0 +358: br-79118f7d5a92: mtu 1500 qdisc noqueue state UP mode DEFAULT group default + link/ether 02:42:3c:6b:97:eb brd ff:ff:ff:ff:ff:ff + RX: bytes packets errors dropped missed mcast + 16088026 236947 0 0 0 0 + TX: bytes packets errors dropped carrier collsns + 792746302 362214 0 0 0 0 diff --git a/t/pt-summary/samples/Linux/009/lspci_file b/t/pt-summary/samples/Linux/009/lspci_file new file mode 100644 index 000000000..9e9a8a65e --- /dev/null +++ b/t/pt-summary/samples/Linux/009/lspci_file @@ -0,0 +1,22 @@ +00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02) +00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) +00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02) +00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02) +00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01) +00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02) +00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02) +00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01) +00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01) +00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01) +00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01) +00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01) +00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01) +00:1d.0 PCI bridge: Intel Corporation Device 51b0 (rev 01) +00:1d.1 PCI bridge: Intel Corporation Device 51b1 (rev 01) +00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01) +00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01) +00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01) +00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01) +01:00.0 Non-Volatile memory controller: Sandisk Corp Device 5030 (rev 01) +2d:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01) +2e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15) diff --git a/t/pt-summary/samples/Linux/009/lvs.stderr b/t/pt-summary/samples/Linux/009/lvs.stderr new file mode 100644 index 000000000..9fc81f7e2 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/lvs.stderr @@ -0,0 +1,2 @@ + WARNING: Running as a non-root user. Functionality may be unavailable. + /run/lock/lvm/P_global:aux: open failed: Permission denied diff --git a/t/pt-summary/samples/Linux/009/memory b/t/pt-summary/samples/Linux/009/memory new file mode 100644 index 000000000..71a7dc68d --- /dev/null +++ b/t/pt-summary/samples/Linux/009/memory @@ -0,0 +1,58 @@ + total used free shared buff/cache available +Mem: 67255779328 27916754944 1452535808 2943787008 37886488576 36032970752 +Swap: 2046816256 2034708480 12107776 +MemTotal: 65679472 kB +MemFree: 1418492 kB +MemAvailable: 35188448 kB +Buffers: 1633964 kB +Cached: 31454736 kB +SwapCached: 32820 kB +Active: 22152924 kB +Inactive: 34496636 kB +Active(anon): 18511036 kB +Inactive(anon): 7548424 kB +Active(file): 3641888 kB +Inactive(file): 26948212 kB +Unevictable: 1541420 kB +Mlocked: 28280 kB +SwapTotal: 1998844 kB +SwapFree: 11824 kB +Zswap: 0 kB +Zswapped: 0 kB +Dirty: 16096 kB +Writeback: 244 kB +AnonPages: 24943904 kB +Mapped: 2825552 kB +Shmem: 2874792 kB +KReclaimable: 3909824 kB +Slab: 4681048 kB +SReclaimable: 3909824 kB +SUnreclaim: 771224 kB +KernelStack: 88672 kB +PageTables: 453388 kB +SecPageTables: 0 kB +NFS_Unstable: 0 kB +Bounce: 0 kB +WritebackTmp: 0 kB +CommitLimit: 34838580 kB +Committed_AS: 77099812 kB +VmallocTotal: 34359738367 kB +VmallocUsed: 465984 kB +VmallocChunk: 0 kB +Percpu: 27776 kB +HardwareCorrupted: 0 kB +AnonHugePages: 217088 kB +ShmemHugePages: 1181696 kB +ShmemPmdMapped: 0 kB +FileHugePages: 0 kB +FilePmdMapped: 0 kB +Unaccepted: 0 kB +HugePages_Total: 0 +HugePages_Free: 0 +HugePages_Rsvd: 0 +HugePages_Surp: 0 +Hugepagesize: 2048 kB +Hugetlb: 0 kB +DirectMap4k: 821992 kB +DirectMap2M: 32573440 kB +DirectMap1G: 33554432 kB diff --git a/t/pt-summary/samples/Linux/009/mounted_fs b/t/pt-summary/samples/Linux/009/mounted_fs new file mode 100644 index 000000000..0123cc449 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/mounted_fs @@ -0,0 +1,25 @@ +/dev/fuse 250G 0 250G 0% /run/user/1000/keybase/kbfs on /run/user/1000/keybase/kbfs type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000) +/dev/mapper/vgubuntu-root 3,6T 1,5T 2,0T 43% / on / type ext4 (rw,relatime,errors=remount-ro) +/dev/nvme0n1p1 511M 291M 221M 57% /boot/efi on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) +/dev/nvme0n1p2 1,7G 305M 1,3G 20% /boot on /boot type ext4 (rw,relatime) +efivarfs 64K 27K 33K 45% /sys/firmware/efi/efivars on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) +tmpfs 32G 703M 31G 3% /dev/shm on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 32G 703M 31G 3% /dev/shm on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 32G 703M 31G 3% /dev/shm on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 32G 703M 31G 3% /dev/shm on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 32G 703M 31G 3% /dev/shm on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 5,0M 4,0K 5,0M 1% /run/lock on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 11M 6,3G 1% /run/user/1000 on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64) +tmpfs 6,3G 2,7M 6,3G 1% /run on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64) diff --git a/t/pt-summary/samples/Linux/009/netstat b/t/pt-summary/samples/Linux/009/netstat new file mode 100644 index 000000000..1f221d586 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/netstat @@ -0,0 +1,230 @@ +Active Internet connections (servers and established) +Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name +tcp 0 0 127.0.0.1:12519 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42841 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42002 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42003 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42000 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:42001 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:40098 0.0.0.0:* LISTEN 3135169/kbfsfuse +tcp 0 0 127.0.0.1:37117 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 2837239/dropbox +tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:9123 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:8281 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:8383 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:9900 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6032 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN - +tcp 0 0 127.0.0.1:17603 0.0.0.0:* LISTEN 2837239/dropbox +tcp 0 0 127.0.0.1:17600 0.0.0.0:* LISTEN 2837239/dropbox +tcp 0 0 127.0.0.1:17553 0.0.0.0:* LISTEN 3135130/keybase +tcp 0 0 192.168.55.2:33644 89.253.240.17:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:43180 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 127.0.0.1:33328 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:59258 188.114.99.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:50852 89.253.240.17:143 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:35408 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:44464 127.0.0.1:12345 ESTABLISHED 3060170/mysqld +tcp 0 0 127.0.0.1:57436 127.0.0.1:12347 ESTABLISHED 3036479/mysqld +tcp 0 0 192.168.55.2:51512 142.250.150.154:443 TIME_WAIT - +tcp 0 0 192.168.55.2:50428 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:38864 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:47024 34.120.208.123:443 TIME_WAIT - +tcp 0 0 192.168.55.2:54002 18.205.222.128:443 ESTABLISHED - +tcp 0 0 127.0.0.1:33532 127.0.0.1:42002 ESTABLISHED - +tcp 0 0 192.168.55.2:59960 188.114.99.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:50432 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:44788 52.57.79.4:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 10.0.0.5:37084 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:60592 108.157.214.47:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 192.168.55.2:38858 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:55814 3.68.61.181:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:59296 173.194.73.94:443 TIME_WAIT - +tcp 25 0 192.168.55.2:36048 170.114.52.66:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 192.168.55.2:35426 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 10.0.0.5:54900 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:42500 108.177.14.94:443 TIME_WAIT - +tcp 0 0 192.168.55.2:50742 34.110.207.168:443 TIME_WAIT - +tcp 0 0 127.0.0.1:60112 127.0.0.1:42003 ESTABLISHED - +tcp 0 0 192.168.55.2:36068 185.166.143.36:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:50738 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:35410 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 172.17.0.1:51720 172.17.0.2:443 ESTABLISHED - +tcp 0 0 192.168.55.2:55146 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 10.0.0.5:37220 10.0.0.5:4647 ESTABLISHED - +tcp 0 1 192.168.55.2:45210 52.35.150.14:443 SYN_SENT 2224410/firefox +tcp 0 0 192.168.55.2:35784 54.86.147.85:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 192.168.55.2:34582 149.154.167.51:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:43756 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:46308 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 192.168.55.2:60592 216.58.213.113:443 TIME_WAIT - +tcp 0 0 192.168.55.2:53128 188.114.98.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:38856 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:54838 127.0.0.1:42003 ESTABLISHED - +tcp 0 0 192.168.55.2:43214 23.20.17.147:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 192.168.55.2:45224 108.157.214.111:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 127.0.0.1:37676 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:35392 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:33302 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:34472 142.251.1.138:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 127.0.0.1:46418 127.0.0.1:42000 ESTABLISHED - +tcp 0 0 127.0.0.1:32870 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:37972 3.164.240.62:443 TIME_WAIT - +tcp 0 0 192.168.55.2:49282 173.194.222.94:443 TIME_WAIT - +tcp 0 0 127.0.0.1:54650 127.0.0.1:12345 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:36956 34.202.253.140:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:55670 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:50728 127.0.0.1:3306 TIME_WAIT - +tcp 0 1 192.168.55.2:50806 157.240.205.174:443 SYN_SENT 2147311/chrome --ty +tcp 0 0 127.0.0.1:42000 127.0.0.1:46418 ESTABLISHED - +tcp 0 0 127.0.0.1:54598 127.0.0.1:42002 ESTABLISHED - +tcp 0 0 10.0.0.5:58674 213.180.204.148:443 ESTABLISHED 8568/yandex-disk +tcp 0 0 127.0.0.1:42003 127.0.0.1:54838 ESTABLISHED - +tcp 0 0 192.168.55.2:48518 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 127.0.0.1:46284 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:53242 35.74.138.212:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 10.0.0.5:33806 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:40532 170.114.4.224:443 ESTABLISHED 2504953/zoom +tcp 0 0 192.168.55.2:37980 3.164.240.62:443 TIME_WAIT - +tcp 0 0 10.0.0.5:60740 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 192.168.55.2:42486 108.177.14.94:443 TIME_WAIT - +tcp 0 0 127.0.0.1:57438 127.0.0.1:12347 ESTABLISHED 3036479/mysqld +tcp 0 0 127.0.0.1:58618 127.0.0.1:42001 ESTABLISHED - +tcp 0 0 127.0.0.1:50754 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:43240 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:42001 127.0.0.1:58618 ESTABLISHED - +tcp 0 0 192.168.55.2:53250 35.74.138.212:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:43190 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:60080 54.159.113.253:443 ESTABLISHED 3135169/kbfsfuse +tcp 0 0 192.168.55.2:33476 52.193.110.50:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:42001 127.0.0.1:41588 ESTABLISHED - +tcp 25 0 192.168.55.2:57194 52.84.151.38:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 192.168.55.2:50414 173.194.220.108:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:40774 54.159.239.26:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 192.168.55.2:49554 108.157.52.95:443 TIME_WAIT - +tcp 0 0 192.168.55.2:55152 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:54482 52.73.238.236:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:43900 142.251.140.14:443 TIME_WAIT - +tcp 0 0 10.0.0.5:52942 213.180.204.148:443 ESTABLISHED 616951/yandex-disk +tcp 1 0 127.0.0.1:60442 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 0 192.168.55.2:36288 18.190.135.240:443 ESTABLISHED 2147311/chrome --ty +tcp 25 0 192.168.55.2:49858 170.114.52.2:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 192.168.55.2:50244 172.64.152.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 10.0.0.5:38802 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 13 0 10.0.0.5:34986 10.0.0.1:139 CLOSE_WAIT 37531/gvfsd-smb-bro +tcp 0 0 192.168.55.2:35416 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 192.168.55.2:53948 74.125.205.188:5228 ESTABLISHED 2147311/chrome --ty +tcp 0 0 127.0.0.1:37416 127.0.0.1:12347 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:47012 52.73.62.51:443 ESTABLISHED - +tcp 0 0 192.168.55.2:36618 162.125.21.2:443 ESTABLISHED 2837239/dropbox +tcp 0 0 127.0.0.1:33316 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:55440 3.68.61.181:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:41588 127.0.0.1:42001 ESTABLISHED - +tcp 0 0 127.0.0.1:54652 127.0.0.1:12345 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:34910 64.233.162.188:5228 ESTABLISHED 2147311/chrome --ty +tcp 0 0 10.0.0.5:55240 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 0 0 10.0.0.5:36148 162.125.21.3:443 ESTABLISHED 2837239/dropbox +tcp 25 0 192.168.55.2:49844 170.114.52.2:443 CLOSE_WAIT 2504953/zoom +tcp 0 0 127.0.0.1:34666 127.0.0.1:12346 ESTABLISHED 3035305/mysqld +tcp 0 0 127.0.0.1:57612 127.0.0.1:42001 ESTABLISHED - +tcp 0 0 172.17.0.1:58414 172.17.0.2:443 ESTABLISHED - +tcp 0 1 192.168.55.2:50810 157.240.205.174:443 SYN_SENT 2147311/chrome --ty +tcp 0 0 192.168.55.2:49218 38.111.114.11:993 ESTABLISHED 3668124/thunderbird +tcp 0 0 192.168.55.2:53752 188.114.98.233:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:43254 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:35440 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 127.0.0.1:42003 127.0.0.1:60112 ESTABLISHED - +tcp 0 0 127.0.0.1:54826 127.0.0.1:42003 ESTABLISHED - +tcp 0 0 10.0.0.5:37224 10.0.0.5:4647 ESTABLISHED - +tcp 0 0 192.168.55.2:55324 54.158.119.218:443 ESTABLISHED 3135169/kbfsfuse +tcp 0 0 192.168.55.2:50438 206.247.115.239:5091 ESTABLISHED 2504953/zoom +tcp 0 0 127.0.0.1:55674 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:50720 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 192.168.55.2:49180 34.117.188.166:443 ESTABLISHED 2224410/firefox +tcp 0 0 192.168.55.2:55130 35.75.32.93:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 192.168.55.2:51354 54.147.17.17:443 ESTABLISHED 3135130/keybase +tcp 0 0 127.0.0.1:43796 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:49168 34.117.188.166:443 TIME_WAIT - +tcp 0 0 192.168.55.2:46678 34.107.243.93:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:36028 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 127.0.0.1:32854 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:46836 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:37640 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 192.168.55.2:59538 140.82.114.25:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:42002 127.0.0.1:33532 ESTABLISHED - +tcp 1 0 127.0.0.1:59430 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 1 192.168.55.2:45222 52.35.150.14:443 SYN_SENT 2224410/firefox +tcp 0 0 192.168.55.2:37802 64.233.165.104:443 TIME_WAIT - +tcp 0 0 192.168.55.2:42080 157.240.205.60:443 ESTABLISHED 2147311/chrome --ty +tcp 0 0 127.0.0.1:42002 127.0.0.1:54598 ESTABLISHED - +tcp 0 0 127.0.0.1:47960 127.0.0.1:42002 ESTABLISHED - +tcp 0 0 127.0.0.1:37430 127.0.0.1:12347 ESTABLISHED 3060170/mysqld +tcp 0 0 192.168.55.2:38774 77.223.96.250:443 ESTABLISHED 2224410/firefox +tcp 0 0 127.0.0.1:32844 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 192.168.55.2:44030 3.160.57.75:443 TIME_WAIT - +tcp 0 0 127.0.0.1:42003 127.0.0.1:54826 ESTABLISHED - +tcp 0 0 127.0.0.1:42002 127.0.0.1:47960 ESTABLISHED - +tcp 1 0 127.0.0.1:59438 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 0 192.168.55.2:35430 91.105.192.100:443 ESTABLISHED 1712863/Telegram +tcp 0 0 192.168.55.2:55414 3.68.61.181:443 ESTABLISHED 622088/Slack --stan +tcp 0 0 127.0.0.1:46296 127.0.0.1:3306 TIME_WAIT - +tcp 0 0 127.0.0.1:32874 127.0.0.1:3306 ESTABLISHED - +tcp 0 0 172.17.0.1:44894 172.17.0.2:443 ESTABLISHED - +tcp 0 0 192.168.55.2:55950 170.114.15.227:443 ESTABLISHED 2504953/zoom +tcp 1 0 127.0.0.1:57442 127.0.0.1:12347 CLOSE_WAIT 3036479/mysqld +tcp 0 0 192.168.255.22:35056 213.180.204.148:443 ESTABLISHED 1932374/yandex-disk +tcp 0 0 192.168.55.2:43440 194.85.125.1:443 ESTABLISHED 2224410/firefox +tcp 0 0 172.17.0.1:42368 172.17.0.2:443 ESTABLISHED - +tcp 0 0 127.0.0.1:42001 127.0.0.1:57612 ESTABLISHED - +tcp 0 0 127.0.0.1:39666 127.0.0.1:3306 ESTABLISHED - +tcp6 0 0 :::17500 :::* LISTEN 2837239/dropbox +tcp6 0 0 :::9123 :::* LISTEN - +tcp6 0 0 :::8281 :::* LISTEN - +tcp6 0 0 :::8383 :::* LISTEN - +tcp6 0 0 :::9900 :::* LISTEN - +tcp6 0 0 ::1:631 :::* LISTEN - +tcp6 0 0 :::12345 :::* LISTEN 3036479/mysqld +tcp6 0 0 :::12346 :::* LISTEN 3060170/mysqld +tcp6 0 0 :::12347 :::* LISTEN 3035305/mysqld +tcp6 0 0 :::3306 :::* LISTEN - +tcp6 0 0 :::22 :::* LISTEN - +tcp6 0 0 :::33060 :::* LISTEN - +tcp6 0 0 :::443 :::* LISTEN - +tcp6 0 0 :::1716 :::* LISTEN 7748/kdeconnectd +tcp6 0 0 :::8080 :::* LISTEN - +tcp6 0 0 :::4648 :::* LISTEN - +tcp6 0 0 :::4646 :::* LISTEN - +tcp6 0 0 :::4647 :::* LISTEN - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:57436 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:12345 127.0.0.1:44464 ESTABLISHED 3036479/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:36028 ESTABLISHED - +tcp6 0 0 10.0.0.5:4647 10.0.0.5:37224 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:50720 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:32844 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:43254 TIME_WAIT - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:43756 TIME_WAIT - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:37416 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:32874 ESTABLISHED - +tcp6 0 0 10.0.0.5:4647 10.0.0.5:37220 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:32870 TIME_WAIT - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:37430 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:50754 ESTABLISHED - +tcp6 0 0 127.0.0.1:12345 127.0.0.1:54652 ESTABLISHED 3036479/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:50738 TIME_WAIT - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:39666 ESTABLISHED - +tcp6 0 0 127.0.0.1:3306 127.0.0.1:33302 TIME_WAIT - +tcp6 0 0 127.0.0.1:12347 127.0.0.1:57438 ESTABLISHED 3035305/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:46308 ESTABLISHED - +tcp6 0 0 127.0.0.1:12346 127.0.0.1:34666 ESTABLISHED 3060170/mysqld +tcp6 0 0 127.0.0.1:12345 127.0.0.1:54650 ESTABLISHED 3036479/mysqld +tcp6 0 0 127.0.0.1:3306 127.0.0.1:46296 TIME_WAIT - diff --git a/t/pt-summary/samples/Linux/009/notable_procs b/t/pt-summary/samples/Linux/009/notable_procs new file mode 100644 index 000000000..ced71a345 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/notable_procs @@ -0,0 +1,5 @@ + PID OOM COMMAND + ? ? sshd doesn't appear to be running +1499134 -17 multipathd +2849628 -17 nomad +3202899 -17 sshd diff --git a/t/pt-summary/samples/Linux/009/partitioning b/t/pt-summary/samples/Linux/009/partitioning new file mode 100644 index 000000000..f530bb49c --- /dev/null +++ b/t/pt-summary/samples/Linux/009/partitioning @@ -0,0 +1,12 @@ +Disk /dev/nvme0n1: 3,64 TiB, 4000787030016 bytes, 7814037168 sectors +Disk model: WD_BLACK SN850X 4000GB +Units: sectors of 1 * 512 = 512 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes +Disklabel type: gpt +Disk identifier: F57C2A9B-3E4B-49BA-BA83-3D206D23C1F6 + +Device Start End Sectors Size Type +/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System +/dev/nvme0n1p2 1050624 4550655 3500032 1,7G Linux filesystem +/dev/nvme0n1p3 4550656 7814035455 7809484800 3,6T Linux filesystem diff --git a/t/pt-summary/samples/Linux/009/proc_cpuinfo_copy b/t/pt-summary/samples/Linux/009/proc_cpuinfo_copy new file mode 100644 index 000000000..9b7ff23c8 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/proc_cpuinfo_copy @@ -0,0 +1,448 @@ +processor : 0 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2788.142 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 0 +cpu cores : 12 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 1 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2789.364 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 0 +cpu cores : 12 +apicid : 1 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 2 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2778.914 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 4 +cpu cores : 12 +apicid : 8 +initial apicid : 8 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 3 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2788.149 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 4 +cpu cores : 12 +apicid : 9 +initial apicid : 9 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 4 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2788.156 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 8 +cpu cores : 12 +apicid : 16 +initial apicid : 16 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 5 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2783.569 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 8 +cpu cores : 12 +apicid : 17 +initial apicid : 17 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 6 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2788.144 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 12 +cpu cores : 12 +apicid : 24 +initial apicid : 24 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 7 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2788.137 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 12 +cpu cores : 12 +apicid : 25 +initial apicid : 25 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 8 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2361.790 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 16 +cpu cores : 12 +apicid : 32 +initial apicid : 32 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 9 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2381.090 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 17 +cpu cores : 12 +apicid : 34 +initial apicid : 34 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 10 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2372.925 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 18 +cpu cores : 12 +apicid : 36 +initial apicid : 36 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 11 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2361.788 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 19 +cpu cores : 12 +apicid : 38 +initial apicid : 38 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 12 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2387.139 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 20 +cpu cores : 12 +apicid : 40 +initial apicid : 40 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 13 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2392.435 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 21 +cpu cores : 12 +apicid : 42 +initial apicid : 42 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 14 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2388.023 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 22 +cpu cores : 12 +apicid : 44 +initial apicid : 44 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 15 +vendor_id : GenuineIntel +cpu family : 6 +model : 154 +model name : 12th Gen Intel(R) Core(TM) i7-1260P +stepping : 3 +microcode : 0x433 +cpu MHz : 2393.328 +cache size : 18432 KB +physical id : 0 +siblings : 16 +core id : 23 +cpu cores : 12 +apicid : 46 +initial apicid : 46 +fpu : yes +fpu_exception : yes +cpuid level : 32 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities +vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : coma tlb_mmatch spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb bhi +bogomips : 4992.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + diff --git a/t/pt-summary/samples/Linux/009/processes b/t/pt-summary/samples/Linux/009/processes new file mode 100644 index 000000000..55bfea425 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/processes @@ -0,0 +1,10 @@ + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND + 783789 sveta 20 0 2822620 506824 42752 S 100,0 0,8 5795:02 mysqld +2407273 sveta 20 0 64144 46012 13824 R 100,0 0,1 5069:41 perl +2410420 sveta 20 0 64140 46184 13952 R 100,0 0,1 5067:44 perl +2419768 sveta 20 0 64140 46088 13952 R 100,0 0,1 5063:21 perl +2408748 sveta 20 0 64136 46068 14080 R 94,1 0,1 5068:45 perl +3396104 sveta 20 0 16768 5248 3968 R 11,8 0,0 0:00.03 top +2147236 sveta 20 0 32,8g 450796 225184 S 5,9 0,7 52:26.29 chrome +2147423 sveta 20 0 1158,3g 556292 148372 S 5,9 0,8 83:11.29 chrome +2738171 sveta 20 0 499860 52224 13312 S 5,9 0,1 19:40.27 aomhost diff --git a/t/pt-summary/samples/Linux/009/summary b/t/pt-summary/samples/Linux/009/summary new file mode 100644 index 000000000..066d5b543 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/summary @@ -0,0 +1,23 @@ +platform Linux +hostname s76 +kernel 6.5.0-35-generic +release Ubuntu 22.04.4 LTS (jammy) +CPU_ARCH 64-bit +OS_ARCH 64-bit +virt No virtualization detected +vendor +rss 39089426432 +raid_controller No RAID controller detected +threading NPTL 2.35 +getenforce No SELinux detected +swappiness 60 +dirtypolicy 20, 10 +dirtystatus 0, 0 +numa-available +numa-policy +numa-preferred-node +internal::disks dm-0 dm-1 dm-2 nvme0n1 +internal::nvme0n1 [none] 1023 +dentry-state 3355603 3159991 45 0 2250834 0 +file-nr 36032 0 9223372036854775807 +inode-nr 1419887 556339 diff --git a/t/pt-summary/samples/Linux/009/sysctl b/t/pt-summary/samples/Linux/009/sysctl new file mode 100644 index 000000000..34d5510aa --- /dev/null +++ b/t/pt-summary/samples/Linux/009/sysctl @@ -0,0 +1,2010 @@ +abi.vsyscall32 = 1 +debug.exception-trace = 1 +debug.kprobes-optimization = 1 +dev.cdrom.autoclose = 1 +dev.cdrom.autoeject = 0 +dev.cdrom.check_media = 0 +dev.cdrom.debug = 0 +dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17 +dev.cdrom.info = +dev.cdrom.info = drive name: +dev.cdrom.info = drive speed: +dev.cdrom.info = drive # of slots: +dev.cdrom.info = Can close tray: +dev.cdrom.info = Can open tray: +dev.cdrom.info = Can lock tray: +dev.cdrom.info = Can change speed: +dev.cdrom.info = Can select disk: +dev.cdrom.info = Can read multisession: +dev.cdrom.info = Can read MCN: +dev.cdrom.info = Reports media changed: +dev.cdrom.info = Can play audio: +dev.cdrom.info = Can write CD-R: +dev.cdrom.info = Can write CD-RW: +dev.cdrom.info = Can read DVD: +dev.cdrom.info = Can write DVD-R: +dev.cdrom.info = Can write DVD-RAM: +dev.cdrom.info = Can read MRW: +dev.cdrom.info = Can write MRW: +dev.cdrom.info = Can write RAM: +dev.cdrom.info = +dev.cdrom.info = +dev.cdrom.lock = 0 +dev.hpet.max-user-freq = 64 +dev.i915.oa_max_sample_rate = 100000 +dev.i915.perf_stream_paranoid = 1 +dev.mac_hid.mouse_button2_keycode = 97 +dev.mac_hid.mouse_button3_keycode = 100 +dev.mac_hid.mouse_button_emulation = 0 +dev.parport.default.spintime = 500 +dev.parport.default.timeslice = 200 +dev.raid.speed_limit_max = 200000 +dev.raid.speed_limit_min = 1000 +dev.scsi.logging_level = 0 +dev.tty.ldisc_autoload = 1 +dev.tty.legacy_tiocsti = 1 +fs.aio-max-nr = 65536 +fs.aio-nr = 13745 +fs.binfmt_misc.python3/10 = enabled +fs.binfmt_misc.python3/10 = interpreter /usr/bin/python3.10 +fs.binfmt_misc.python3/10 = flags: +fs.binfmt_misc.python3/10 = offset 0 +fs.binfmt_misc.python3/10 = magic 6f0d0d0a +fs.binfmt_misc.status = enabled +fs.dentry-state = 3355589 3159981 45 0 2250833 0 +fs.dir-notify-enable = 1 +fs.epoll.max_user_watches = 14590731 +fs.fanotify.max_queued_events = 16384 +fs.fanotify.max_user_groups = 128 +fs.fanotify.max_user_marks = 530989 +fs.file-max = 9223372036854775807 +fs.file-nr = 36064 0 9223372036854775807 +fs.inode-nr = 1419874 556221 +fs.inode-state = 1419874 556221 0 0 0 0 0 +fs.inotify.max_queued_events = 16384 +fs.inotify.max_user_instances = 128 +fs.inotify.max_user_watches = 65536 +fs.lease-break-time = 45 +fs.leases-enable = 1 +fs.mount-max = 100000 +fs.mqueue.msg_default = 10 +fs.mqueue.msg_max = 10 +fs.mqueue.msgsize_default = 8192 +fs.mqueue.msgsize_max = 8192 +fs.mqueue.queues_max = 256 +fs.nr_open = 1048576 +fs.overflowgid = 65534 +fs.overflowuid = 65534 +fs.pipe-max-size = 1048576 +fs.pipe-user-pages-hard = 0 +fs.pipe-user-pages-soft = 16384 +fs.protected_fifos = 1 +fs.protected_hardlinks = 1 +fs.protected_regular = 2 +fs.protected_symlinks = 1 +fs.quota.allocated_dquots = 0 +fs.quota.cache_hits = 0 +fs.quota.drops = 0 +fs.quota.free_dquots = 0 +fs.quota.lookups = 0 +fs.quota.reads = 0 +fs.quota.syncs = 2592 +fs.quota.writes = 0 +fs.suid_dumpable = 2 +fs.verity.require_signatures = 0 +kernel.acct = 4 2 30 +kernel.acpi_video_flags = 0 +kernel.apparmor_restrict_unprivileged_unconfined = 0 +kernel.apparmor_restrict_unprivileged_userns = 0 +kernel.arch = x86_64 +kernel.auto_msgmni = 0 +kernel.bootloader_type = 6 +kernel.bootloader_version = 38 +kernel.bpf_stats_enabled = 0 +kernel.cap_last_cap = 40 +kernel.core_pattern = |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E +kernel.core_pipe_limit = 10 +kernel.core_uses_pid = 1 +kernel.ctrl-alt-del = 0 +kernel.dmesg_restrict = 1 +kernel.domainname = (none) +kernel.firmware_config.force_sysfs_fallback = 0 +kernel.firmware_config.ignore_sysfs_fallback = 0 +kernel.ftrace_dump_on_oops = 0 +kernel.ftrace_enabled = 1 +kernel.hardlockup_all_cpu_backtrace = 0 +kernel.hardlockup_panic = 0 +kernel.hostname = s76 +kernel.hotplug = +kernel.hung_task_all_cpu_backtrace = 0 +kernel.hung_task_check_count = 4194304 +kernel.hung_task_check_interval_secs = 0 +kernel.hung_task_panic = 0 +kernel.hung_task_timeout_secs = 120 +kernel.hung_task_warnings = 10 +kernel.io_delay_type = 1 +kernel.io_uring_disabled = 0 +kernel.io_uring_group = -1 +kernel.kexec_load_disabled = 0 +kernel.kexec_load_limit_panic = -1 +kernel.kexec_load_limit_reboot = -1 +kernel.keys.gc_delay = 300 +kernel.keys.maxbytes = 20000 +kernel.keys.maxkeys = 200 +kernel.keys.persistent_keyring_expiry = 259200 +kernel.keys.root_maxbytes = 25000000 +kernel.keys.root_maxkeys = 1000000 +kernel.kptr_restrict = 1 +kernel.max_lock_depth = 1024 +kernel.max_rcu_stall_to_panic = 0 +kernel.modprobe = /sbin/modprobe +kernel.modules_disabled = 0 +kernel.msg_next_id = -1 +kernel.msgmax = 8192 +kernel.msgmnb = 16384 +kernel.msgmni = 32000 +kernel.ngroups_max = 65536 +kernel.nmi_watchdog = 1 +kernel.ns_last_pid = 3396025 +kernel.numa_balancing = 0 +kernel.numa_balancing_promote_rate_limit_MBps = 65536 +kernel.oops_all_cpu_backtrace = 0 +kernel.oops_limit = 10000 +kernel.osrelease = 6.5.0-35-generic +kernel.ostype = Linux +kernel.overflowgid = 65534 +kernel.overflowuid = 65534 +kernel.panic = 0 +kernel.panic_on_io_nmi = 0 +kernel.panic_on_oops = 0 +kernel.panic_on_rcu_stall = 0 +kernel.panic_on_unrecovered_nmi = 0 +kernel.panic_on_warn = 0 +kernel.panic_print = 0 +kernel.perf_cpu_time_max_percent = 25 +kernel.perf_event_max_contexts_per_stack = 8 +kernel.perf_event_max_sample_rate = 26250 +kernel.perf_event_max_stack = 127 +kernel.perf_event_mlock_kb = 516 +kernel.perf_event_paranoid = 1 +kernel.pid_max = 4194304 +kernel.poweroff_cmd = /sbin/poweroff +kernel.print-fatal-signals = 0 +kernel.printk = 4 4 1 7 +kernel.printk_delay = 0 +kernel.printk_devkmsg = on +kernel.printk_ratelimit = 5 +kernel.printk_ratelimit_burst = 10 +kernel.pty.max = 4096 +kernel.pty.nr = 6 +kernel.pty.reserve = 1024 +kernel.random.boot_id = 31d4dc04-94fc-4b44-9ad0-60aa785f573d +kernel.random.entropy_avail = 256 +kernel.random.poolsize = 256 +kernel.random.urandom_min_reseed_secs = 60 +kernel.random.uuid = 6e317867-3d89-4005-853c-54618b86cec6 +kernel.random.write_wakeup_threshold = 256 +kernel.randomize_va_space = 2 +kernel.real-root-dev = 0 +kernel.sched_autogroup_enabled = 1 +kernel.sched_cfs_bandwidth_slice_us = 5000 +kernel.sched_child_runs_first = 0 +kernel.sched_deadline_period_max_us = 4194304 +kernel.sched_deadline_period_min_us = 100 +kernel.sched_energy_aware = 1 +kernel.sched_itmt_enabled = 1 +kernel.sched_rr_timeslice_ms = 100 +kernel.sched_rt_period_us = 1000000 +kernel.sched_rt_runtime_us = 950000 +kernel.sched_schedstats = 0 +kernel.sched_util_clamp_max = 1024 +kernel.sched_util_clamp_min = 1024 +kernel.sched_util_clamp_min_rt_default = 1024 +kernel.seccomp.actions_avail = kill_process kill_thread trap errno user_notif trace log allow +kernel.seccomp.actions_logged = kill_process kill_thread trap errno user_notif trace log +kernel.sem = 32000 1024000000 500 32000 +kernel.sem_next_id = -1 +kernel.shm_next_id = -1 +kernel.shm_rmid_forced = 0 +kernel.shmall = 18446744073692774399 +kernel.shmmax = 18446744073692774399 +kernel.shmmni = 4096 +kernel.soft_watchdog = 1 +kernel.softlockup_all_cpu_backtrace = 0 +kernel.softlockup_panic = 0 +kernel.split_lock_mitigate = 1 +kernel.stack_tracer_enabled = 0 +kernel.sysctl_writes_strict = 1 +kernel.sysrq = 176 +kernel.tainted = 512 +kernel.task_delayacct = 0 +kernel.threads-max = 512064 +kernel.timer_migration = 1 +kernel.traceoff_on_warning = 0 +kernel.tracepoint_printk = 0 +kernel.unknown_nmi_panic = 0 +kernel.unprivileged_bpf_disabled = 2 +kernel.unprivileged_userns_clone = 1 +kernel.user_events_max = 32768 +kernel.version = #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 +kernel.warn_limit = 0 +kernel.watchdog = 1 +kernel.watchdog_cpumask = 0-15 +kernel.watchdog_thresh = 10 +kernel.yama.ptrace_scope = 0 +net.bridge.bridge-nf-call-arptables = 1 +net.bridge.bridge-nf-call-ip6tables = 1 +net.bridge.bridge-nf-call-iptables = 1 +net.bridge.bridge-nf-filter-pppoe-tagged = 0 +net.bridge.bridge-nf-filter-vlan-tagged = 0 +net.bridge.bridge-nf-pass-vlan-input-dev = 0 +net.core.bpf_jit_enable = 1 +net.core.busy_poll = 0 +net.core.busy_read = 0 +net.core.default_qdisc = fq_codel +net.core.dev_weight = 64 +net.core.dev_weight_rx_bias = 1 +net.core.dev_weight_tx_bias = 1 +net.core.devconf_inherit_init_net = 0 +net.core.fb_tunnels_only_for_init_net = 0 +net.core.flow_limit_cpu_bitmap = 0000 +net.core.flow_limit_table_len = 4096 +net.core.gro_normal_batch = 8 +net.core.high_order_alloc_disable = 0 +net.core.max_skb_frags = 17 +net.core.message_burst = 10 +net.core.message_cost = 5 +net.core.netdev_budget = 300 +net.core.netdev_budget_usecs = 8000 +net.core.netdev_max_backlog = 1000 +net.core.netdev_rss_key = 68:87:a5:6d:f6:e8:62:a0:01:85:a6:1a:c2:fb:d3:e0:ca:d9:b7:ad:8f:ff:78:4c:ab:57:54:de:2a:9c:92:12:1e:96:c5:34:9a:97:95:aa:d9:b9:9a:86:49:cf:99:a0:54:07:50:97 +net.core.netdev_tstamp_prequeue = 1 +net.core.netdev_unregister_timeout_secs = 10 +net.core.optmem_max = 20480 +net.core.rmem_default = 212992 +net.core.rmem_max = 212992 +net.core.rps_default_mask = 0000 +net.core.rps_sock_flow_entries = 0 +net.core.skb_defer_max = 64 +net.core.somaxconn = 4096 +net.core.tstamp_allow_data = 1 +net.core.txrehash = 1 +net.core.warnings = 0 +net.core.wmem_default = 212992 +net.core.wmem_max = 212992 +net.core.xfrm_acq_expires = 30 +net.core.xfrm_aevent_etime = 10 +net.core.xfrm_aevent_rseqth = 2 +net.core.xfrm_larval_drop = 1 +net.ipv4.cipso_cache_bucket_size = 10 +net.ipv4.cipso_cache_enable = 1 +net.ipv4.cipso_rbm_optfmt = 0 +net.ipv4.cipso_rbm_strictvalid = 1 +net.ipv4.conf.all.accept_local = 0 +net.ipv4.conf.all.accept_redirects = 0 +net.ipv4.conf.all.accept_source_route = 0 +net.ipv4.conf.all.arp_accept = 0 +net.ipv4.conf.all.arp_announce = 0 +net.ipv4.conf.all.arp_evict_nocarrier = 1 +net.ipv4.conf.all.arp_filter = 0 +net.ipv4.conf.all.arp_ignore = 0 +net.ipv4.conf.all.arp_notify = 0 +net.ipv4.conf.all.bc_forwarding = 0 +net.ipv4.conf.all.bootp_relay = 0 +net.ipv4.conf.all.disable_policy = 0 +net.ipv4.conf.all.disable_xfrm = 0 +net.ipv4.conf.all.drop_gratuitous_arp = 0 +net.ipv4.conf.all.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.all.force_igmp_version = 0 +net.ipv4.conf.all.forwarding = 1 +net.ipv4.conf.all.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.all.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.all.ignore_routes_with_linkdown = 0 +net.ipv4.conf.all.log_martians = 0 +net.ipv4.conf.all.mc_forwarding = 0 +net.ipv4.conf.all.medium_id = 0 +net.ipv4.conf.all.promote_secondaries = 0 +net.ipv4.conf.all.proxy_arp = 0 +net.ipv4.conf.all.proxy_arp_pvlan = 0 +net.ipv4.conf.all.route_localnet = 0 +net.ipv4.conf.all.rp_filter = 2 +net.ipv4.conf.all.secure_redirects = 1 +net.ipv4.conf.all.send_redirects = 0 +net.ipv4.conf.all.shared_media = 1 +net.ipv4.conf.all.src_valid_mark = 1 +net.ipv4.conf.all.tag = 0 +net.ipv4.conf.br-79118f7d5a92.accept_local = 0 +net.ipv4.conf.br-79118f7d5a92.accept_redirects = 1 +net.ipv4.conf.br-79118f7d5a92.accept_source_route = 0 +net.ipv4.conf.br-79118f7d5a92.arp_accept = 0 +net.ipv4.conf.br-79118f7d5a92.arp_announce = 0 +net.ipv4.conf.br-79118f7d5a92.arp_evict_nocarrier = 1 +net.ipv4.conf.br-79118f7d5a92.arp_filter = 0 +net.ipv4.conf.br-79118f7d5a92.arp_ignore = 0 +net.ipv4.conf.br-79118f7d5a92.arp_notify = 0 +net.ipv4.conf.br-79118f7d5a92.bc_forwarding = 0 +net.ipv4.conf.br-79118f7d5a92.bootp_relay = 0 +net.ipv4.conf.br-79118f7d5a92.disable_policy = 0 +net.ipv4.conf.br-79118f7d5a92.disable_xfrm = 0 +net.ipv4.conf.br-79118f7d5a92.drop_gratuitous_arp = 0 +net.ipv4.conf.br-79118f7d5a92.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.br-79118f7d5a92.force_igmp_version = 0 +net.ipv4.conf.br-79118f7d5a92.forwarding = 1 +net.ipv4.conf.br-79118f7d5a92.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.br-79118f7d5a92.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.br-79118f7d5a92.ignore_routes_with_linkdown = 0 +net.ipv4.conf.br-79118f7d5a92.log_martians = 0 +net.ipv4.conf.br-79118f7d5a92.mc_forwarding = 0 +net.ipv4.conf.br-79118f7d5a92.medium_id = 0 +net.ipv4.conf.br-79118f7d5a92.promote_secondaries = 1 +net.ipv4.conf.br-79118f7d5a92.proxy_arp = 0 +net.ipv4.conf.br-79118f7d5a92.proxy_arp_pvlan = 0 +net.ipv4.conf.br-79118f7d5a92.route_localnet = 0 +net.ipv4.conf.br-79118f7d5a92.rp_filter = 2 +net.ipv4.conf.br-79118f7d5a92.secure_redirects = 1 +net.ipv4.conf.br-79118f7d5a92.send_redirects = 1 +net.ipv4.conf.br-79118f7d5a92.shared_media = 1 +net.ipv4.conf.br-79118f7d5a92.src_valid_mark = 0 +net.ipv4.conf.br-79118f7d5a92.tag = 0 +net.ipv4.conf.br-a7c7f1777df1.accept_local = 0 +net.ipv4.conf.br-a7c7f1777df1.accept_redirects = 1 +net.ipv4.conf.br-a7c7f1777df1.accept_source_route = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_accept = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_announce = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_evict_nocarrier = 1 +net.ipv4.conf.br-a7c7f1777df1.arp_filter = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_ignore = 0 +net.ipv4.conf.br-a7c7f1777df1.arp_notify = 0 +net.ipv4.conf.br-a7c7f1777df1.bc_forwarding = 0 +net.ipv4.conf.br-a7c7f1777df1.bootp_relay = 0 +net.ipv4.conf.br-a7c7f1777df1.disable_policy = 0 +net.ipv4.conf.br-a7c7f1777df1.disable_xfrm = 0 +net.ipv4.conf.br-a7c7f1777df1.drop_gratuitous_arp = 0 +net.ipv4.conf.br-a7c7f1777df1.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.br-a7c7f1777df1.force_igmp_version = 0 +net.ipv4.conf.br-a7c7f1777df1.forwarding = 1 +net.ipv4.conf.br-a7c7f1777df1.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.br-a7c7f1777df1.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.br-a7c7f1777df1.ignore_routes_with_linkdown = 0 +net.ipv4.conf.br-a7c7f1777df1.log_martians = 0 +net.ipv4.conf.br-a7c7f1777df1.mc_forwarding = 0 +net.ipv4.conf.br-a7c7f1777df1.medium_id = 0 +net.ipv4.conf.br-a7c7f1777df1.promote_secondaries = 1 +net.ipv4.conf.br-a7c7f1777df1.proxy_arp = 0 +net.ipv4.conf.br-a7c7f1777df1.proxy_arp_pvlan = 0 +net.ipv4.conf.br-a7c7f1777df1.route_localnet = 0 +net.ipv4.conf.br-a7c7f1777df1.rp_filter = 2 +net.ipv4.conf.br-a7c7f1777df1.secure_redirects = 1 +net.ipv4.conf.br-a7c7f1777df1.send_redirects = 1 +net.ipv4.conf.br-a7c7f1777df1.shared_media = 1 +net.ipv4.conf.br-a7c7f1777df1.src_valid_mark = 0 +net.ipv4.conf.br-a7c7f1777df1.tag = 0 +net.ipv4.conf.default.accept_local = 0 +net.ipv4.conf.default.accept_redirects = 1 +net.ipv4.conf.default.accept_source_route = 0 +net.ipv4.conf.default.arp_accept = 0 +net.ipv4.conf.default.arp_announce = 0 +net.ipv4.conf.default.arp_evict_nocarrier = 1 +net.ipv4.conf.default.arp_filter = 0 +net.ipv4.conf.default.arp_ignore = 0 +net.ipv4.conf.default.arp_notify = 0 +net.ipv4.conf.default.bc_forwarding = 0 +net.ipv4.conf.default.bootp_relay = 0 +net.ipv4.conf.default.disable_policy = 0 +net.ipv4.conf.default.disable_xfrm = 0 +net.ipv4.conf.default.drop_gratuitous_arp = 0 +net.ipv4.conf.default.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.default.force_igmp_version = 0 +net.ipv4.conf.default.forwarding = 1 +net.ipv4.conf.default.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.default.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.default.ignore_routes_with_linkdown = 0 +net.ipv4.conf.default.log_martians = 0 +net.ipv4.conf.default.mc_forwarding = 0 +net.ipv4.conf.default.medium_id = 0 +net.ipv4.conf.default.promote_secondaries = 1 +net.ipv4.conf.default.proxy_arp = 0 +net.ipv4.conf.default.proxy_arp_pvlan = 0 +net.ipv4.conf.default.route_localnet = 0 +net.ipv4.conf.default.rp_filter = 2 +net.ipv4.conf.default.secure_redirects = 1 +net.ipv4.conf.default.send_redirects = 1 +net.ipv4.conf.default.shared_media = 1 +net.ipv4.conf.default.src_valid_mark = 0 +net.ipv4.conf.default.tag = 0 +net.ipv4.conf.docker0.accept_local = 0 +net.ipv4.conf.docker0.accept_redirects = 1 +net.ipv4.conf.docker0.accept_source_route = 0 +net.ipv4.conf.docker0.arp_accept = 0 +net.ipv4.conf.docker0.arp_announce = 0 +net.ipv4.conf.docker0.arp_evict_nocarrier = 1 +net.ipv4.conf.docker0.arp_filter = 0 +net.ipv4.conf.docker0.arp_ignore = 0 +net.ipv4.conf.docker0.arp_notify = 0 +net.ipv4.conf.docker0.bc_forwarding = 0 +net.ipv4.conf.docker0.bootp_relay = 0 +net.ipv4.conf.docker0.disable_policy = 0 +net.ipv4.conf.docker0.disable_xfrm = 0 +net.ipv4.conf.docker0.drop_gratuitous_arp = 0 +net.ipv4.conf.docker0.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.docker0.force_igmp_version = 0 +net.ipv4.conf.docker0.forwarding = 1 +net.ipv4.conf.docker0.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.docker0.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.docker0.ignore_routes_with_linkdown = 0 +net.ipv4.conf.docker0.log_martians = 0 +net.ipv4.conf.docker0.mc_forwarding = 0 +net.ipv4.conf.docker0.medium_id = 0 +net.ipv4.conf.docker0.promote_secondaries = 1 +net.ipv4.conf.docker0.proxy_arp = 0 +net.ipv4.conf.docker0.proxy_arp_pvlan = 0 +net.ipv4.conf.docker0.route_localnet = 0 +net.ipv4.conf.docker0.rp_filter = 2 +net.ipv4.conf.docker0.secure_redirects = 1 +net.ipv4.conf.docker0.send_redirects = 1 +net.ipv4.conf.docker0.shared_media = 1 +net.ipv4.conf.docker0.src_valid_mark = 0 +net.ipv4.conf.docker0.tag = 0 +net.ipv4.conf.enp46s0.accept_local = 0 +net.ipv4.conf.enp46s0.accept_redirects = 1 +net.ipv4.conf.enp46s0.accept_source_route = 0 +net.ipv4.conf.enp46s0.arp_accept = 0 +net.ipv4.conf.enp46s0.arp_announce = 0 +net.ipv4.conf.enp46s0.arp_evict_nocarrier = 1 +net.ipv4.conf.enp46s0.arp_filter = 0 +net.ipv4.conf.enp46s0.arp_ignore = 0 +net.ipv4.conf.enp46s0.arp_notify = 0 +net.ipv4.conf.enp46s0.bc_forwarding = 0 +net.ipv4.conf.enp46s0.bootp_relay = 0 +net.ipv4.conf.enp46s0.disable_policy = 0 +net.ipv4.conf.enp46s0.disable_xfrm = 0 +net.ipv4.conf.enp46s0.drop_gratuitous_arp = 0 +net.ipv4.conf.enp46s0.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.enp46s0.force_igmp_version = 0 +net.ipv4.conf.enp46s0.forwarding = 1 +net.ipv4.conf.enp46s0.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.enp46s0.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.enp46s0.ignore_routes_with_linkdown = 0 +net.ipv4.conf.enp46s0.log_martians = 0 +net.ipv4.conf.enp46s0.mc_forwarding = 0 +net.ipv4.conf.enp46s0.medium_id = 0 +net.ipv4.conf.enp46s0.promote_secondaries = 1 +net.ipv4.conf.enp46s0.proxy_arp = 0 +net.ipv4.conf.enp46s0.proxy_arp_pvlan = 0 +net.ipv4.conf.enp46s0.route_localnet = 0 +net.ipv4.conf.enp46s0.rp_filter = 2 +net.ipv4.conf.enp46s0.secure_redirects = 1 +net.ipv4.conf.enp46s0.send_redirects = 1 +net.ipv4.conf.enp46s0.shared_media = 1 +net.ipv4.conf.enp46s0.src_valid_mark = 0 +net.ipv4.conf.enp46s0.tag = 0 +net.ipv4.conf.lo.accept_local = 0 +net.ipv4.conf.lo.accept_redirects = 1 +net.ipv4.conf.lo.accept_source_route = 0 +net.ipv4.conf.lo.arp_accept = 0 +net.ipv4.conf.lo.arp_announce = 0 +net.ipv4.conf.lo.arp_evict_nocarrier = 1 +net.ipv4.conf.lo.arp_filter = 0 +net.ipv4.conf.lo.arp_ignore = 0 +net.ipv4.conf.lo.arp_notify = 0 +net.ipv4.conf.lo.bc_forwarding = 0 +net.ipv4.conf.lo.bootp_relay = 0 +net.ipv4.conf.lo.disable_policy = 1 +net.ipv4.conf.lo.disable_xfrm = 1 +net.ipv4.conf.lo.drop_gratuitous_arp = 0 +net.ipv4.conf.lo.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.lo.force_igmp_version = 0 +net.ipv4.conf.lo.forwarding = 1 +net.ipv4.conf.lo.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.lo.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.lo.ignore_routes_with_linkdown = 0 +net.ipv4.conf.lo.log_martians = 0 +net.ipv4.conf.lo.mc_forwarding = 0 +net.ipv4.conf.lo.medium_id = 0 +net.ipv4.conf.lo.promote_secondaries = 1 +net.ipv4.conf.lo.proxy_arp = 0 +net.ipv4.conf.lo.proxy_arp_pvlan = 0 +net.ipv4.conf.lo.route_localnet = 0 +net.ipv4.conf.lo.rp_filter = 2 +net.ipv4.conf.lo.secure_redirects = 1 +net.ipv4.conf.lo.send_redirects = 1 +net.ipv4.conf.lo.shared_media = 1 +net.ipv4.conf.lo.src_valid_mark = 0 +net.ipv4.conf.lo.tag = 0 +net.ipv4.conf.veth0655c9f.accept_local = 0 +net.ipv4.conf.veth0655c9f.accept_redirects = 1 +net.ipv4.conf.veth0655c9f.accept_source_route = 0 +net.ipv4.conf.veth0655c9f.arp_accept = 0 +net.ipv4.conf.veth0655c9f.arp_announce = 0 +net.ipv4.conf.veth0655c9f.arp_evict_nocarrier = 1 +net.ipv4.conf.veth0655c9f.arp_filter = 0 +net.ipv4.conf.veth0655c9f.arp_ignore = 0 +net.ipv4.conf.veth0655c9f.arp_notify = 0 +net.ipv4.conf.veth0655c9f.bc_forwarding = 0 +net.ipv4.conf.veth0655c9f.bootp_relay = 0 +net.ipv4.conf.veth0655c9f.disable_policy = 0 +net.ipv4.conf.veth0655c9f.disable_xfrm = 0 +net.ipv4.conf.veth0655c9f.drop_gratuitous_arp = 0 +net.ipv4.conf.veth0655c9f.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.veth0655c9f.force_igmp_version = 0 +net.ipv4.conf.veth0655c9f.forwarding = 1 +net.ipv4.conf.veth0655c9f.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.veth0655c9f.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.veth0655c9f.ignore_routes_with_linkdown = 0 +net.ipv4.conf.veth0655c9f.log_martians = 0 +net.ipv4.conf.veth0655c9f.mc_forwarding = 0 +net.ipv4.conf.veth0655c9f.medium_id = 0 +net.ipv4.conf.veth0655c9f.promote_secondaries = 1 +net.ipv4.conf.veth0655c9f.proxy_arp = 0 +net.ipv4.conf.veth0655c9f.proxy_arp_pvlan = 0 +net.ipv4.conf.veth0655c9f.route_localnet = 0 +net.ipv4.conf.veth0655c9f.rp_filter = 2 +net.ipv4.conf.veth0655c9f.secure_redirects = 1 +net.ipv4.conf.veth0655c9f.send_redirects = 1 +net.ipv4.conf.veth0655c9f.shared_media = 1 +net.ipv4.conf.veth0655c9f.src_valid_mark = 0 +net.ipv4.conf.veth0655c9f.tag = 0 +net.ipv4.conf.veth2655c84.accept_local = 0 +net.ipv4.conf.veth2655c84.accept_redirects = 1 +net.ipv4.conf.veth2655c84.accept_source_route = 0 +net.ipv4.conf.veth2655c84.arp_accept = 0 +net.ipv4.conf.veth2655c84.arp_announce = 0 +net.ipv4.conf.veth2655c84.arp_evict_nocarrier = 1 +net.ipv4.conf.veth2655c84.arp_filter = 0 +net.ipv4.conf.veth2655c84.arp_ignore = 0 +net.ipv4.conf.veth2655c84.arp_notify = 0 +net.ipv4.conf.veth2655c84.bc_forwarding = 0 +net.ipv4.conf.veth2655c84.bootp_relay = 0 +net.ipv4.conf.veth2655c84.disable_policy = 0 +net.ipv4.conf.veth2655c84.disable_xfrm = 0 +net.ipv4.conf.veth2655c84.drop_gratuitous_arp = 0 +net.ipv4.conf.veth2655c84.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.veth2655c84.force_igmp_version = 0 +net.ipv4.conf.veth2655c84.forwarding = 1 +net.ipv4.conf.veth2655c84.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.veth2655c84.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.veth2655c84.ignore_routes_with_linkdown = 0 +net.ipv4.conf.veth2655c84.log_martians = 0 +net.ipv4.conf.veth2655c84.mc_forwarding = 0 +net.ipv4.conf.veth2655c84.medium_id = 0 +net.ipv4.conf.veth2655c84.promote_secondaries = 1 +net.ipv4.conf.veth2655c84.proxy_arp = 0 +net.ipv4.conf.veth2655c84.proxy_arp_pvlan = 0 +net.ipv4.conf.veth2655c84.route_localnet = 0 +net.ipv4.conf.veth2655c84.rp_filter = 2 +net.ipv4.conf.veth2655c84.secure_redirects = 1 +net.ipv4.conf.veth2655c84.send_redirects = 1 +net.ipv4.conf.veth2655c84.shared_media = 1 +net.ipv4.conf.veth2655c84.src_valid_mark = 0 +net.ipv4.conf.veth2655c84.tag = 0 +net.ipv4.conf.vethd189986.accept_local = 0 +net.ipv4.conf.vethd189986.accept_redirects = 1 +net.ipv4.conf.vethd189986.accept_source_route = 0 +net.ipv4.conf.vethd189986.arp_accept = 0 +net.ipv4.conf.vethd189986.arp_announce = 0 +net.ipv4.conf.vethd189986.arp_evict_nocarrier = 1 +net.ipv4.conf.vethd189986.arp_filter = 0 +net.ipv4.conf.vethd189986.arp_ignore = 0 +net.ipv4.conf.vethd189986.arp_notify = 0 +net.ipv4.conf.vethd189986.bc_forwarding = 0 +net.ipv4.conf.vethd189986.bootp_relay = 0 +net.ipv4.conf.vethd189986.disable_policy = 0 +net.ipv4.conf.vethd189986.disable_xfrm = 0 +net.ipv4.conf.vethd189986.drop_gratuitous_arp = 0 +net.ipv4.conf.vethd189986.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.vethd189986.force_igmp_version = 0 +net.ipv4.conf.vethd189986.forwarding = 1 +net.ipv4.conf.vethd189986.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.vethd189986.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.vethd189986.ignore_routes_with_linkdown = 0 +net.ipv4.conf.vethd189986.log_martians = 0 +net.ipv4.conf.vethd189986.mc_forwarding = 0 +net.ipv4.conf.vethd189986.medium_id = 0 +net.ipv4.conf.vethd189986.promote_secondaries = 1 +net.ipv4.conf.vethd189986.proxy_arp = 0 +net.ipv4.conf.vethd189986.proxy_arp_pvlan = 0 +net.ipv4.conf.vethd189986.route_localnet = 0 +net.ipv4.conf.vethd189986.rp_filter = 2 +net.ipv4.conf.vethd189986.secure_redirects = 1 +net.ipv4.conf.vethd189986.send_redirects = 1 +net.ipv4.conf.vethd189986.shared_media = 1 +net.ipv4.conf.vethd189986.src_valid_mark = 0 +net.ipv4.conf.vethd189986.tag = 0 +net.ipv4.conf.wg0.accept_local = 0 +net.ipv4.conf.wg0.accept_redirects = 1 +net.ipv4.conf.wg0.accept_source_route = 0 +net.ipv4.conf.wg0.arp_accept = 0 +net.ipv4.conf.wg0.arp_announce = 0 +net.ipv4.conf.wg0.arp_evict_nocarrier = 1 +net.ipv4.conf.wg0.arp_filter = 0 +net.ipv4.conf.wg0.arp_ignore = 0 +net.ipv4.conf.wg0.arp_notify = 0 +net.ipv4.conf.wg0.bc_forwarding = 0 +net.ipv4.conf.wg0.bootp_relay = 0 +net.ipv4.conf.wg0.disable_policy = 0 +net.ipv4.conf.wg0.disable_xfrm = 0 +net.ipv4.conf.wg0.drop_gratuitous_arp = 0 +net.ipv4.conf.wg0.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.wg0.force_igmp_version = 0 +net.ipv4.conf.wg0.forwarding = 1 +net.ipv4.conf.wg0.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.wg0.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.wg0.ignore_routes_with_linkdown = 0 +net.ipv4.conf.wg0.log_martians = 0 +net.ipv4.conf.wg0.mc_forwarding = 0 +net.ipv4.conf.wg0.medium_id = 0 +net.ipv4.conf.wg0.promote_secondaries = 1 +net.ipv4.conf.wg0.proxy_arp = 0 +net.ipv4.conf.wg0.proxy_arp_pvlan = 0 +net.ipv4.conf.wg0.route_localnet = 0 +net.ipv4.conf.wg0.rp_filter = 2 +net.ipv4.conf.wg0.secure_redirects = 1 +net.ipv4.conf.wg0.send_redirects = 0 +net.ipv4.conf.wg0.shared_media = 1 +net.ipv4.conf.wg0.src_valid_mark = 0 +net.ipv4.conf.wg0.tag = 0 +net.ipv4.conf.wlp0s20f3.accept_local = 0 +net.ipv4.conf.wlp0s20f3.accept_redirects = 1 +net.ipv4.conf.wlp0s20f3.accept_source_route = 0 +net.ipv4.conf.wlp0s20f3.arp_accept = 0 +net.ipv4.conf.wlp0s20f3.arp_announce = 0 +net.ipv4.conf.wlp0s20f3.arp_evict_nocarrier = 1 +net.ipv4.conf.wlp0s20f3.arp_filter = 0 +net.ipv4.conf.wlp0s20f3.arp_ignore = 0 +net.ipv4.conf.wlp0s20f3.arp_notify = 0 +net.ipv4.conf.wlp0s20f3.bc_forwarding = 0 +net.ipv4.conf.wlp0s20f3.bootp_relay = 0 +net.ipv4.conf.wlp0s20f3.disable_policy = 0 +net.ipv4.conf.wlp0s20f3.disable_xfrm = 0 +net.ipv4.conf.wlp0s20f3.drop_gratuitous_arp = 0 +net.ipv4.conf.wlp0s20f3.drop_unicast_in_l2_multicast = 0 +net.ipv4.conf.wlp0s20f3.force_igmp_version = 0 +net.ipv4.conf.wlp0s20f3.forwarding = 1 +net.ipv4.conf.wlp0s20f3.igmpv2_unsolicited_report_interval = 10000 +net.ipv4.conf.wlp0s20f3.igmpv3_unsolicited_report_interval = 1000 +net.ipv4.conf.wlp0s20f3.ignore_routes_with_linkdown = 0 +net.ipv4.conf.wlp0s20f3.log_martians = 0 +net.ipv4.conf.wlp0s20f3.mc_forwarding = 0 +net.ipv4.conf.wlp0s20f3.medium_id = 0 +net.ipv4.conf.wlp0s20f3.promote_secondaries = 1 +net.ipv4.conf.wlp0s20f3.proxy_arp = 0 +net.ipv4.conf.wlp0s20f3.proxy_arp_pvlan = 0 +net.ipv4.conf.wlp0s20f3.route_localnet = 0 +net.ipv4.conf.wlp0s20f3.rp_filter = 2 +net.ipv4.conf.wlp0s20f3.secure_redirects = 1 +net.ipv4.conf.wlp0s20f3.send_redirects = 1 +net.ipv4.conf.wlp0s20f3.shared_media = 1 +net.ipv4.conf.wlp0s20f3.src_valid_mark = 0 +net.ipv4.conf.wlp0s20f3.tag = 0 +net.ipv4.fib_multipath_hash_fields = 7 +net.ipv4.fib_multipath_hash_policy = 0 +net.ipv4.fib_multipath_use_neigh = 0 +net.ipv4.fib_notify_on_flag_change = 0 +net.ipv4.fib_sync_mem = 524288 +net.ipv4.fwmark_reflect = 0 +net.ipv4.icmp_echo_enable_probe = 0 +net.ipv4.icmp_echo_ignore_all = 0 +net.ipv4.icmp_echo_ignore_broadcasts = 1 +net.ipv4.icmp_errors_use_inbound_ifaddr = 0 +net.ipv4.icmp_ignore_bogus_error_responses = 1 +net.ipv4.icmp_msgs_burst = 50 +net.ipv4.icmp_msgs_per_sec = 1000 +net.ipv4.icmp_ratelimit = 1000 +net.ipv4.icmp_ratemask = 6168 +net.ipv4.igmp_link_local_mcast_reports = 1 +net.ipv4.igmp_max_memberships = 20 +net.ipv4.igmp_max_msf = 10 +net.ipv4.igmp_qrv = 2 +net.ipv4.inet_peer_maxttl = 600 +net.ipv4.inet_peer_minttl = 120 +net.ipv4.inet_peer_threshold = 65664 +net.ipv4.ip_autobind_reuse = 0 +net.ipv4.ip_default_ttl = 64 +net.ipv4.ip_dynaddr = 0 +net.ipv4.ip_early_demux = 1 +net.ipv4.ip_forward = 1 +net.ipv4.ip_forward_update_priority = 1 +net.ipv4.ip_forward_use_pmtu = 0 +net.ipv4.ip_local_port_range = 32768 60999 +net.ipv4.ip_local_reserved_ports = +net.ipv4.ip_no_pmtu_disc = 0 +net.ipv4.ip_nonlocal_bind = 0 +net.ipv4.ip_unprivileged_port_start = 1024 +net.ipv4.ipfrag_high_thresh = 4194304 +net.ipv4.ipfrag_low_thresh = 3145728 +net.ipv4.ipfrag_max_dist = 64 +net.ipv4.ipfrag_secret_interval = 0 +net.ipv4.ipfrag_time = 30 +net.ipv4.neigh.br-79118f7d5a92.anycast_delay = 100 +net.ipv4.neigh.br-79118f7d5a92.app_solicit = 0 +net.ipv4.neigh.br-79118f7d5a92.base_reachable_time_ms = 30000 +net.ipv4.neigh.br-79118f7d5a92.delay_first_probe_time = 5 +net.ipv4.neigh.br-79118f7d5a92.gc_stale_time = 60 +net.ipv4.neigh.br-79118f7d5a92.interval_probe_time_ms = 5000 +net.ipv4.neigh.br-79118f7d5a92.locktime = 100 +net.ipv4.neigh.br-79118f7d5a92.mcast_resolicit = 0 +net.ipv4.neigh.br-79118f7d5a92.mcast_solicit = 3 +net.ipv4.neigh.br-79118f7d5a92.proxy_delay = 80 +net.ipv4.neigh.br-79118f7d5a92.proxy_qlen = 64 +net.ipv4.neigh.br-79118f7d5a92.retrans_time_ms = 1000 +net.ipv4.neigh.br-79118f7d5a92.ucast_solicit = 3 +net.ipv4.neigh.br-79118f7d5a92.unres_qlen = 101 +net.ipv4.neigh.br-79118f7d5a92.unres_qlen_bytes = 212992 +net.ipv4.neigh.br-a7c7f1777df1.anycast_delay = 100 +net.ipv4.neigh.br-a7c7f1777df1.app_solicit = 0 +net.ipv4.neigh.br-a7c7f1777df1.base_reachable_time_ms = 30000 +net.ipv4.neigh.br-a7c7f1777df1.delay_first_probe_time = 5 +net.ipv4.neigh.br-a7c7f1777df1.gc_stale_time = 60 +net.ipv4.neigh.br-a7c7f1777df1.interval_probe_time_ms = 5000 +net.ipv4.neigh.br-a7c7f1777df1.locktime = 100 +net.ipv4.neigh.br-a7c7f1777df1.mcast_resolicit = 0 +net.ipv4.neigh.br-a7c7f1777df1.mcast_solicit = 3 +net.ipv4.neigh.br-a7c7f1777df1.proxy_delay = 80 +net.ipv4.neigh.br-a7c7f1777df1.proxy_qlen = 64 +net.ipv4.neigh.br-a7c7f1777df1.retrans_time_ms = 1000 +net.ipv4.neigh.br-a7c7f1777df1.ucast_solicit = 3 +net.ipv4.neigh.br-a7c7f1777df1.unres_qlen = 101 +net.ipv4.neigh.br-a7c7f1777df1.unres_qlen_bytes = 212992 +net.ipv4.neigh.default.anycast_delay = 100 +net.ipv4.neigh.default.app_solicit = 0 +net.ipv4.neigh.default.base_reachable_time_ms = 30000 +net.ipv4.neigh.default.delay_first_probe_time = 5 +net.ipv4.neigh.default.gc_interval = 30 +net.ipv4.neigh.default.gc_stale_time = 60 +net.ipv4.neigh.default.gc_thresh1 = 128 +net.ipv4.neigh.default.gc_thresh2 = 512 +net.ipv4.neigh.default.gc_thresh3 = 1024 +net.ipv4.neigh.default.interval_probe_time_ms = 5000 +net.ipv4.neigh.default.locktime = 100 +net.ipv4.neigh.default.mcast_resolicit = 0 +net.ipv4.neigh.default.mcast_solicit = 3 +net.ipv4.neigh.default.proxy_delay = 80 +net.ipv4.neigh.default.proxy_qlen = 64 +net.ipv4.neigh.default.retrans_time_ms = 1000 +net.ipv4.neigh.default.ucast_solicit = 3 +net.ipv4.neigh.default.unres_qlen = 101 +net.ipv4.neigh.default.unres_qlen_bytes = 212992 +net.ipv4.neigh.docker0.anycast_delay = 100 +net.ipv4.neigh.docker0.app_solicit = 0 +net.ipv4.neigh.docker0.base_reachable_time_ms = 30000 +net.ipv4.neigh.docker0.delay_first_probe_time = 5 +net.ipv4.neigh.docker0.gc_stale_time = 60 +net.ipv4.neigh.docker0.interval_probe_time_ms = 5000 +net.ipv4.neigh.docker0.locktime = 100 +net.ipv4.neigh.docker0.mcast_resolicit = 0 +net.ipv4.neigh.docker0.mcast_solicit = 3 +net.ipv4.neigh.docker0.proxy_delay = 80 +net.ipv4.neigh.docker0.proxy_qlen = 64 +net.ipv4.neigh.docker0.retrans_time_ms = 1000 +net.ipv4.neigh.docker0.ucast_solicit = 3 +net.ipv4.neigh.docker0.unres_qlen = 101 +net.ipv4.neigh.docker0.unres_qlen_bytes = 212992 +net.ipv4.neigh.enp46s0.anycast_delay = 100 +net.ipv4.neigh.enp46s0.app_solicit = 0 +net.ipv4.neigh.enp46s0.base_reachable_time_ms = 30000 +net.ipv4.neigh.enp46s0.delay_first_probe_time = 5 +net.ipv4.neigh.enp46s0.gc_stale_time = 60 +net.ipv4.neigh.enp46s0.interval_probe_time_ms = 5000 +net.ipv4.neigh.enp46s0.locktime = 100 +net.ipv4.neigh.enp46s0.mcast_resolicit = 0 +net.ipv4.neigh.enp46s0.mcast_solicit = 3 +net.ipv4.neigh.enp46s0.proxy_delay = 80 +net.ipv4.neigh.enp46s0.proxy_qlen = 64 +net.ipv4.neigh.enp46s0.retrans_time_ms = 1000 +net.ipv4.neigh.enp46s0.ucast_solicit = 3 +net.ipv4.neigh.enp46s0.unres_qlen = 101 +net.ipv4.neigh.enp46s0.unres_qlen_bytes = 212992 +net.ipv4.neigh.lo.anycast_delay = 100 +net.ipv4.neigh.lo.app_solicit = 0 +net.ipv4.neigh.lo.base_reachable_time_ms = 30000 +net.ipv4.neigh.lo.delay_first_probe_time = 5 +net.ipv4.neigh.lo.gc_stale_time = 60 +net.ipv4.neigh.lo.interval_probe_time_ms = 5000 +net.ipv4.neigh.lo.locktime = 100 +net.ipv4.neigh.lo.mcast_resolicit = 0 +net.ipv4.neigh.lo.mcast_solicit = 3 +net.ipv4.neigh.lo.proxy_delay = 80 +net.ipv4.neigh.lo.proxy_qlen = 64 +net.ipv4.neigh.lo.retrans_time_ms = 1000 +net.ipv4.neigh.lo.ucast_solicit = 3 +net.ipv4.neigh.lo.unres_qlen = 101 +net.ipv4.neigh.lo.unres_qlen_bytes = 212992 +net.ipv4.neigh.veth0655c9f.anycast_delay = 100 +net.ipv4.neigh.veth0655c9f.app_solicit = 0 +net.ipv4.neigh.veth0655c9f.base_reachable_time_ms = 30000 +net.ipv4.neigh.veth0655c9f.delay_first_probe_time = 5 +net.ipv4.neigh.veth0655c9f.gc_stale_time = 60 +net.ipv4.neigh.veth0655c9f.interval_probe_time_ms = 5000 +net.ipv4.neigh.veth0655c9f.locktime = 100 +net.ipv4.neigh.veth0655c9f.mcast_resolicit = 0 +net.ipv4.neigh.veth0655c9f.mcast_solicit = 3 +net.ipv4.neigh.veth0655c9f.proxy_delay = 80 +net.ipv4.neigh.veth0655c9f.proxy_qlen = 64 +net.ipv4.neigh.veth0655c9f.retrans_time_ms = 1000 +net.ipv4.neigh.veth0655c9f.ucast_solicit = 3 +net.ipv4.neigh.veth0655c9f.unres_qlen = 101 +net.ipv4.neigh.veth0655c9f.unres_qlen_bytes = 212992 +net.ipv4.neigh.veth2655c84.anycast_delay = 100 +net.ipv4.neigh.veth2655c84.app_solicit = 0 +net.ipv4.neigh.veth2655c84.base_reachable_time_ms = 30000 +net.ipv4.neigh.veth2655c84.delay_first_probe_time = 5 +net.ipv4.neigh.veth2655c84.gc_stale_time = 60 +net.ipv4.neigh.veth2655c84.interval_probe_time_ms = 5000 +net.ipv4.neigh.veth2655c84.locktime = 100 +net.ipv4.neigh.veth2655c84.mcast_resolicit = 0 +net.ipv4.neigh.veth2655c84.mcast_solicit = 3 +net.ipv4.neigh.veth2655c84.proxy_delay = 80 +net.ipv4.neigh.veth2655c84.proxy_qlen = 64 +net.ipv4.neigh.veth2655c84.retrans_time_ms = 1000 +net.ipv4.neigh.veth2655c84.ucast_solicit = 3 +net.ipv4.neigh.veth2655c84.unres_qlen = 101 +net.ipv4.neigh.veth2655c84.unres_qlen_bytes = 212992 +net.ipv4.neigh.vethd189986.anycast_delay = 100 +net.ipv4.neigh.vethd189986.app_solicit = 0 +net.ipv4.neigh.vethd189986.base_reachable_time_ms = 30000 +net.ipv4.neigh.vethd189986.delay_first_probe_time = 5 +net.ipv4.neigh.vethd189986.gc_stale_time = 60 +net.ipv4.neigh.vethd189986.interval_probe_time_ms = 5000 +net.ipv4.neigh.vethd189986.locktime = 100 +net.ipv4.neigh.vethd189986.mcast_resolicit = 0 +net.ipv4.neigh.vethd189986.mcast_solicit = 3 +net.ipv4.neigh.vethd189986.proxy_delay = 80 +net.ipv4.neigh.vethd189986.proxy_qlen = 64 +net.ipv4.neigh.vethd189986.retrans_time_ms = 1000 +net.ipv4.neigh.vethd189986.ucast_solicit = 3 +net.ipv4.neigh.vethd189986.unres_qlen = 101 +net.ipv4.neigh.vethd189986.unres_qlen_bytes = 212992 +net.ipv4.neigh.wg0.anycast_delay = 100 +net.ipv4.neigh.wg0.app_solicit = 0 +net.ipv4.neigh.wg0.base_reachable_time_ms = 30000 +net.ipv4.neigh.wg0.delay_first_probe_time = 5 +net.ipv4.neigh.wg0.gc_stale_time = 60 +net.ipv4.neigh.wg0.interval_probe_time_ms = 5000 +net.ipv4.neigh.wg0.locktime = 100 +net.ipv4.neigh.wg0.mcast_resolicit = 0 +net.ipv4.neigh.wg0.mcast_solicit = 3 +net.ipv4.neigh.wg0.proxy_delay = 80 +net.ipv4.neigh.wg0.proxy_qlen = 64 +net.ipv4.neigh.wg0.retrans_time_ms = 1000 +net.ipv4.neigh.wg0.ucast_solicit = 3 +net.ipv4.neigh.wg0.unres_qlen = 101 +net.ipv4.neigh.wg0.unres_qlen_bytes = 212992 +net.ipv4.neigh.wlp0s20f3.anycast_delay = 100 +net.ipv4.neigh.wlp0s20f3.app_solicit = 0 +net.ipv4.neigh.wlp0s20f3.base_reachable_time_ms = 30000 +net.ipv4.neigh.wlp0s20f3.delay_first_probe_time = 5 +net.ipv4.neigh.wlp0s20f3.gc_stale_time = 60 +net.ipv4.neigh.wlp0s20f3.interval_probe_time_ms = 5000 +net.ipv4.neigh.wlp0s20f3.locktime = 100 +net.ipv4.neigh.wlp0s20f3.mcast_resolicit = 0 +net.ipv4.neigh.wlp0s20f3.mcast_solicit = 3 +net.ipv4.neigh.wlp0s20f3.proxy_delay = 80 +net.ipv4.neigh.wlp0s20f3.proxy_qlen = 64 +net.ipv4.neigh.wlp0s20f3.retrans_time_ms = 1000 +net.ipv4.neigh.wlp0s20f3.ucast_solicit = 3 +net.ipv4.neigh.wlp0s20f3.unres_qlen = 101 +net.ipv4.neigh.wlp0s20f3.unres_qlen_bytes = 212992 +net.ipv4.nexthop_compat_mode = 1 +net.ipv4.ping_group_range = 0 2147483647 +net.ipv4.raw_l3mdev_accept = 1 +net.ipv4.route.error_burst = 1250 +net.ipv4.route.error_cost = 250 +net.ipv4.route.gc_elasticity = 8 +net.ipv4.route.gc_interval = 60 +net.ipv4.route.gc_min_interval = 0 +net.ipv4.route.gc_min_interval_ms = 500 +net.ipv4.route.gc_thresh = -1 +net.ipv4.route.gc_timeout = 300 +net.ipv4.route.max_size = 2147483647 +net.ipv4.route.min_adv_mss = 256 +net.ipv4.route.min_pmtu = 552 +net.ipv4.route.mtu_expires = 600 +net.ipv4.route.redirect_load = 5 +net.ipv4.route.redirect_number = 9 +net.ipv4.route.redirect_silence = 5120 +net.ipv4.tcp_abort_on_overflow = 0 +net.ipv4.tcp_adv_win_scale = 1 +net.ipv4.tcp_allowed_congestion_control = reno cubic +net.ipv4.tcp_app_win = 31 +net.ipv4.tcp_autocorking = 1 +net.ipv4.tcp_available_congestion_control = reno cubic +net.ipv4.tcp_available_ulp = espintcp mptcp tls +net.ipv4.tcp_base_mss = 1024 +net.ipv4.tcp_challenge_ack_limit = 2147483647 +net.ipv4.tcp_child_ehash_entries = 0 +net.ipv4.tcp_comp_sack_delay_ns = 1000000 +net.ipv4.tcp_comp_sack_nr = 44 +net.ipv4.tcp_comp_sack_slack_ns = 100000 +net.ipv4.tcp_congestion_control = cubic +net.ipv4.tcp_dsack = 1 +net.ipv4.tcp_early_demux = 1 +net.ipv4.tcp_early_retrans = 3 +net.ipv4.tcp_ecn = 2 +net.ipv4.tcp_ecn_fallback = 1 +net.ipv4.tcp_ehash_entries = 524288 +net.ipv4.tcp_fack = 0 +net.ipv4.tcp_fastopen = 1 +net.ipv4.tcp_fastopen_blackhole_timeout_sec = 0 +net.ipv4.tcp_fin_timeout = 60 +net.ipv4.tcp_frto = 2 +net.ipv4.tcp_fwmark_accept = 0 +net.ipv4.tcp_invalid_ratelimit = 500 +net.ipv4.tcp_keepalive_intvl = 75 +net.ipv4.tcp_keepalive_probes = 9 +net.ipv4.tcp_keepalive_time = 7200 +net.ipv4.tcp_l3mdev_accept = 0 +net.ipv4.tcp_limit_output_bytes = 1048576 +net.ipv4.tcp_low_latency = 0 +net.ipv4.tcp_max_orphans = 262144 +net.ipv4.tcp_max_reordering = 300 +net.ipv4.tcp_max_syn_backlog = 4096 +net.ipv4.tcp_max_tw_buckets = 262144 +net.ipv4.tcp_mem = 765768 1021025 1531536 +net.ipv4.tcp_migrate_req = 0 +net.ipv4.tcp_min_rtt_wlen = 300 +net.ipv4.tcp_min_snd_mss = 48 +net.ipv4.tcp_min_tso_segs = 2 +net.ipv4.tcp_moderate_rcvbuf = 1 +net.ipv4.tcp_mtu_probe_floor = 48 +net.ipv4.tcp_mtu_probing = 0 +net.ipv4.tcp_no_metrics_save = 0 +net.ipv4.tcp_no_ssthresh_metrics_save = 1 +net.ipv4.tcp_notsent_lowat = 4294967295 +net.ipv4.tcp_orphan_retries = 0 +net.ipv4.tcp_pacing_ca_ratio = 120 +net.ipv4.tcp_pacing_ss_ratio = 200 +net.ipv4.tcp_plb_cong_thresh = 128 +net.ipv4.tcp_plb_enabled = 0 +net.ipv4.tcp_plb_idle_rehash_rounds = 3 +net.ipv4.tcp_plb_rehash_rounds = 12 +net.ipv4.tcp_plb_suspend_rto_sec = 60 +net.ipv4.tcp_probe_interval = 600 +net.ipv4.tcp_probe_threshold = 8 +net.ipv4.tcp_recovery = 1 +net.ipv4.tcp_reflect_tos = 0 +net.ipv4.tcp_reordering = 3 +net.ipv4.tcp_retrans_collapse = 1 +net.ipv4.tcp_retries1 = 3 +net.ipv4.tcp_retries2 = 15 +net.ipv4.tcp_rfc1337 = 0 +net.ipv4.tcp_rmem = 4096 131072 6291456 +net.ipv4.tcp_sack = 1 +net.ipv4.tcp_shrink_window = 0 +net.ipv4.tcp_slow_start_after_idle = 1 +net.ipv4.tcp_stdurg = 0 +net.ipv4.tcp_syn_linear_timeouts = 4 +net.ipv4.tcp_syn_retries = 6 +net.ipv4.tcp_synack_retries = 5 +net.ipv4.tcp_syncookies = 1 +net.ipv4.tcp_thin_linear_timeouts = 0 +net.ipv4.tcp_timestamps = 1 +net.ipv4.tcp_tso_rtt_log = 9 +net.ipv4.tcp_tso_win_divisor = 3 +net.ipv4.tcp_tw_reuse = 2 +net.ipv4.tcp_window_scaling = 1 +net.ipv4.tcp_wmem = 4096 16384 4194304 +net.ipv4.tcp_workaround_signed_windows = 0 +net.ipv4.udp_child_hash_entries = 0 +net.ipv4.udp_early_demux = 1 +net.ipv4.udp_hash_entries = 32768 +net.ipv4.udp_l3mdev_accept = 0 +net.ipv4.udp_mem = 1531536 2042051 3063072 +net.ipv4.udp_rmem_min = 4096 +net.ipv4.udp_wmem_min = 4096 +net.ipv4.xfrm4_gc_thresh = 32768 +net.ipv6.anycast_src_echo_reply = 0 +net.ipv6.auto_flowlabels = 1 +net.ipv6.bindv6only = 0 +net.ipv6.calipso_cache_bucket_size = 10 +net.ipv6.calipso_cache_enable = 1 +net.ipv6.conf.all.accept_dad = 0 +net.ipv6.conf.all.accept_ra = 1 +net.ipv6.conf.all.accept_ra_defrtr = 1 +net.ipv6.conf.all.accept_ra_from_local = 0 +net.ipv6.conf.all.accept_ra_min_hop_limit = 1 +net.ipv6.conf.all.accept_ra_min_lft = 0 +net.ipv6.conf.all.accept_ra_mtu = 1 +net.ipv6.conf.all.accept_ra_pinfo = 1 +net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.all.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.all.accept_ra_rtr_pref = 1 +net.ipv6.conf.all.accept_redirects = 1 +net.ipv6.conf.all.accept_source_route = 0 +net.ipv6.conf.all.accept_untracked_na = 0 +net.ipv6.conf.all.addr_gen_mode = 0 +net.ipv6.conf.all.autoconf = 1 +net.ipv6.conf.all.dad_transmits = 1 +net.ipv6.conf.all.disable_ipv6 = 0 +net.ipv6.conf.all.disable_policy = 0 +net.ipv6.conf.all.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.all.drop_unsolicited_na = 0 +net.ipv6.conf.all.enhanced_dad = 1 +net.ipv6.conf.all.force_mld_version = 0 +net.ipv6.conf.all.force_tllao = 0 +net.ipv6.conf.all.forwarding = 0 +net.ipv6.conf.all.hop_limit = 64 +net.ipv6.conf.all.ignore_routes_with_linkdown = 0 +net.ipv6.conf.all.ioam6_enabled = 0 +net.ipv6.conf.all.ioam6_id = 65535 +net.ipv6.conf.all.ioam6_id_wide = 4294967295 +net.ipv6.conf.all.keep_addr_on_down = 0 +net.ipv6.conf.all.max_addresses = 16 +net.ipv6.conf.all.max_desync_factor = 600 +net.ipv6.conf.all.mc_forwarding = 0 +net.ipv6.conf.all.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.all.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.all.mtu = 1280 +net.ipv6.conf.all.ndisc_evict_nocarrier = 1 +net.ipv6.conf.all.ndisc_notify = 0 +net.ipv6.conf.all.ndisc_tclass = 0 +net.ipv6.conf.all.proxy_ndp = 0 +net.ipv6.conf.all.ra_defrtr_metric = 1024 +net.ipv6.conf.all.regen_max_retry = 3 +net.ipv6.conf.all.router_probe_interval = 60 +net.ipv6.conf.all.router_solicitation_delay = 1 +net.ipv6.conf.all.router_solicitation_interval = 4 +net.ipv6.conf.all.router_solicitation_max_interval = 3600 +net.ipv6.conf.all.router_solicitations = -1 +net.ipv6.conf.all.rpl_seg_enabled = 0 +net.ipv6.conf.all.seg6_enabled = 0 +net.ipv6.conf.all.seg6_require_hmac = 0 +net.ipv6.conf.all.suppress_frag_ndisc = 1 +net.ipv6.conf.all.temp_prefered_lft = 86400 +net.ipv6.conf.all.temp_valid_lft = 604800 +net.ipv6.conf.all.use_oif_addrs_only = 0 +net.ipv6.conf.all.use_tempaddr = 2 +net.ipv6.conf.br-79118f7d5a92.accept_dad = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_defrtr = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_from_local = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_min_hop_limit = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_min_lft = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_mtu = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_pinfo = 1 +net.ipv6.conf.br-79118f7d5a92.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.br-79118f7d5a92.accept_ra_rtr_pref = 1 +net.ipv6.conf.br-79118f7d5a92.accept_redirects = 1 +net.ipv6.conf.br-79118f7d5a92.accept_source_route = 0 +net.ipv6.conf.br-79118f7d5a92.accept_untracked_na = 0 +net.ipv6.conf.br-79118f7d5a92.addr_gen_mode = 0 +net.ipv6.conf.br-79118f7d5a92.autoconf = 1 +net.ipv6.conf.br-79118f7d5a92.dad_transmits = 1 +net.ipv6.conf.br-79118f7d5a92.disable_ipv6 = 0 +net.ipv6.conf.br-79118f7d5a92.disable_policy = 0 +net.ipv6.conf.br-79118f7d5a92.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.br-79118f7d5a92.drop_unsolicited_na = 0 +net.ipv6.conf.br-79118f7d5a92.enhanced_dad = 1 +net.ipv6.conf.br-79118f7d5a92.force_mld_version = 0 +net.ipv6.conf.br-79118f7d5a92.force_tllao = 0 +net.ipv6.conf.br-79118f7d5a92.forwarding = 0 +net.ipv6.conf.br-79118f7d5a92.hop_limit = 64 +net.ipv6.conf.br-79118f7d5a92.ignore_routes_with_linkdown = 0 +net.ipv6.conf.br-79118f7d5a92.ioam6_enabled = 0 +net.ipv6.conf.br-79118f7d5a92.ioam6_id = 65535 +net.ipv6.conf.br-79118f7d5a92.ioam6_id_wide = 4294967295 +net.ipv6.conf.br-79118f7d5a92.keep_addr_on_down = 0 +net.ipv6.conf.br-79118f7d5a92.max_addresses = 16 +net.ipv6.conf.br-79118f7d5a92.max_desync_factor = 600 +net.ipv6.conf.br-79118f7d5a92.mc_forwarding = 0 +net.ipv6.conf.br-79118f7d5a92.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.br-79118f7d5a92.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.br-79118f7d5a92.mtu = 1500 +net.ipv6.conf.br-79118f7d5a92.ndisc_evict_nocarrier = 1 +net.ipv6.conf.br-79118f7d5a92.ndisc_notify = 0 +net.ipv6.conf.br-79118f7d5a92.ndisc_tclass = 0 +net.ipv6.conf.br-79118f7d5a92.proxy_ndp = 0 +net.ipv6.conf.br-79118f7d5a92.ra_defrtr_metric = 1024 +net.ipv6.conf.br-79118f7d5a92.regen_max_retry = 3 +net.ipv6.conf.br-79118f7d5a92.router_probe_interval = 60 +net.ipv6.conf.br-79118f7d5a92.router_solicitation_delay = 1 +net.ipv6.conf.br-79118f7d5a92.router_solicitation_interval = 4 +net.ipv6.conf.br-79118f7d5a92.router_solicitation_max_interval = 3600 +net.ipv6.conf.br-79118f7d5a92.router_solicitations = -1 +net.ipv6.conf.br-79118f7d5a92.rpl_seg_enabled = 0 +net.ipv6.conf.br-79118f7d5a92.seg6_enabled = 0 +net.ipv6.conf.br-79118f7d5a92.seg6_require_hmac = 0 +net.ipv6.conf.br-79118f7d5a92.suppress_frag_ndisc = 1 +net.ipv6.conf.br-79118f7d5a92.temp_prefered_lft = 86400 +net.ipv6.conf.br-79118f7d5a92.temp_valid_lft = 604800 +net.ipv6.conf.br-79118f7d5a92.use_oif_addrs_only = 0 +net.ipv6.conf.br-79118f7d5a92.use_tempaddr = 2 +net.ipv6.conf.br-a7c7f1777df1.accept_dad = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_defrtr = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_from_local = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_min_hop_limit = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_min_lft = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_mtu = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_pinfo = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_ra_rtr_pref = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_redirects = 1 +net.ipv6.conf.br-a7c7f1777df1.accept_source_route = 0 +net.ipv6.conf.br-a7c7f1777df1.accept_untracked_na = 0 +net.ipv6.conf.br-a7c7f1777df1.addr_gen_mode = 0 +net.ipv6.conf.br-a7c7f1777df1.autoconf = 1 +net.ipv6.conf.br-a7c7f1777df1.dad_transmits = 1 +net.ipv6.conf.br-a7c7f1777df1.disable_ipv6 = 0 +net.ipv6.conf.br-a7c7f1777df1.disable_policy = 0 +net.ipv6.conf.br-a7c7f1777df1.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.br-a7c7f1777df1.drop_unsolicited_na = 0 +net.ipv6.conf.br-a7c7f1777df1.enhanced_dad = 1 +net.ipv6.conf.br-a7c7f1777df1.force_mld_version = 0 +net.ipv6.conf.br-a7c7f1777df1.force_tllao = 0 +net.ipv6.conf.br-a7c7f1777df1.forwarding = 0 +net.ipv6.conf.br-a7c7f1777df1.hop_limit = 64 +net.ipv6.conf.br-a7c7f1777df1.ignore_routes_with_linkdown = 0 +net.ipv6.conf.br-a7c7f1777df1.ioam6_enabled = 0 +net.ipv6.conf.br-a7c7f1777df1.ioam6_id = 65535 +net.ipv6.conf.br-a7c7f1777df1.ioam6_id_wide = 4294967295 +net.ipv6.conf.br-a7c7f1777df1.keep_addr_on_down = 0 +net.ipv6.conf.br-a7c7f1777df1.max_addresses = 16 +net.ipv6.conf.br-a7c7f1777df1.max_desync_factor = 600 +net.ipv6.conf.br-a7c7f1777df1.mc_forwarding = 0 +net.ipv6.conf.br-a7c7f1777df1.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.br-a7c7f1777df1.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.br-a7c7f1777df1.mtu = 1500 +net.ipv6.conf.br-a7c7f1777df1.ndisc_evict_nocarrier = 1 +net.ipv6.conf.br-a7c7f1777df1.ndisc_notify = 0 +net.ipv6.conf.br-a7c7f1777df1.ndisc_tclass = 0 +net.ipv6.conf.br-a7c7f1777df1.proxy_ndp = 0 +net.ipv6.conf.br-a7c7f1777df1.ra_defrtr_metric = 1024 +net.ipv6.conf.br-a7c7f1777df1.regen_max_retry = 3 +net.ipv6.conf.br-a7c7f1777df1.router_probe_interval = 60 +net.ipv6.conf.br-a7c7f1777df1.router_solicitation_delay = 1 +net.ipv6.conf.br-a7c7f1777df1.router_solicitation_interval = 4 +net.ipv6.conf.br-a7c7f1777df1.router_solicitation_max_interval = 3600 +net.ipv6.conf.br-a7c7f1777df1.router_solicitations = -1 +net.ipv6.conf.br-a7c7f1777df1.rpl_seg_enabled = 0 +net.ipv6.conf.br-a7c7f1777df1.seg6_enabled = 0 +net.ipv6.conf.br-a7c7f1777df1.seg6_require_hmac = 0 +net.ipv6.conf.br-a7c7f1777df1.suppress_frag_ndisc = 1 +net.ipv6.conf.br-a7c7f1777df1.temp_prefered_lft = 86400 +net.ipv6.conf.br-a7c7f1777df1.temp_valid_lft = 604800 +net.ipv6.conf.br-a7c7f1777df1.use_oif_addrs_only = 0 +net.ipv6.conf.br-a7c7f1777df1.use_tempaddr = 2 +net.ipv6.conf.default.accept_dad = 1 +net.ipv6.conf.default.accept_ra = 1 +net.ipv6.conf.default.accept_ra_defrtr = 1 +net.ipv6.conf.default.accept_ra_from_local = 0 +net.ipv6.conf.default.accept_ra_min_hop_limit = 1 +net.ipv6.conf.default.accept_ra_min_lft = 0 +net.ipv6.conf.default.accept_ra_mtu = 1 +net.ipv6.conf.default.accept_ra_pinfo = 1 +net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.default.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.default.accept_ra_rtr_pref = 1 +net.ipv6.conf.default.accept_redirects = 1 +net.ipv6.conf.default.accept_source_route = 0 +net.ipv6.conf.default.accept_untracked_na = 0 +net.ipv6.conf.default.addr_gen_mode = 0 +net.ipv6.conf.default.autoconf = 1 +net.ipv6.conf.default.dad_transmits = 1 +net.ipv6.conf.default.disable_ipv6 = 0 +net.ipv6.conf.default.disable_policy = 0 +net.ipv6.conf.default.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.default.drop_unsolicited_na = 0 +net.ipv6.conf.default.enhanced_dad = 1 +net.ipv6.conf.default.force_mld_version = 0 +net.ipv6.conf.default.force_tllao = 0 +net.ipv6.conf.default.forwarding = 0 +net.ipv6.conf.default.hop_limit = 64 +net.ipv6.conf.default.ignore_routes_with_linkdown = 0 +net.ipv6.conf.default.ioam6_enabled = 0 +net.ipv6.conf.default.ioam6_id = 65535 +net.ipv6.conf.default.ioam6_id_wide = 4294967295 +net.ipv6.conf.default.keep_addr_on_down = 0 +net.ipv6.conf.default.max_addresses = 16 +net.ipv6.conf.default.max_desync_factor = 600 +net.ipv6.conf.default.mc_forwarding = 0 +net.ipv6.conf.default.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.default.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.default.mtu = 1280 +net.ipv6.conf.default.ndisc_evict_nocarrier = 1 +net.ipv6.conf.default.ndisc_notify = 0 +net.ipv6.conf.default.ndisc_tclass = 0 +net.ipv6.conf.default.proxy_ndp = 0 +net.ipv6.conf.default.ra_defrtr_metric = 1024 +net.ipv6.conf.default.regen_max_retry = 3 +net.ipv6.conf.default.router_probe_interval = 60 +net.ipv6.conf.default.router_solicitation_delay = 1 +net.ipv6.conf.default.router_solicitation_interval = 4 +net.ipv6.conf.default.router_solicitation_max_interval = 3600 +net.ipv6.conf.default.router_solicitations = -1 +net.ipv6.conf.default.rpl_seg_enabled = 0 +net.ipv6.conf.default.seg6_enabled = 0 +net.ipv6.conf.default.seg6_require_hmac = 0 +net.ipv6.conf.default.suppress_frag_ndisc = 1 +net.ipv6.conf.default.temp_prefered_lft = 86400 +net.ipv6.conf.default.temp_valid_lft = 604800 +net.ipv6.conf.default.use_oif_addrs_only = 0 +net.ipv6.conf.default.use_tempaddr = 2 +net.ipv6.conf.docker0.accept_dad = 1 +net.ipv6.conf.docker0.accept_ra = 0 +net.ipv6.conf.docker0.accept_ra_defrtr = 1 +net.ipv6.conf.docker0.accept_ra_from_local = 0 +net.ipv6.conf.docker0.accept_ra_min_hop_limit = 1 +net.ipv6.conf.docker0.accept_ra_min_lft = 0 +net.ipv6.conf.docker0.accept_ra_mtu = 1 +net.ipv6.conf.docker0.accept_ra_pinfo = 1 +net.ipv6.conf.docker0.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.docker0.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.docker0.accept_ra_rtr_pref = 1 +net.ipv6.conf.docker0.accept_redirects = 1 +net.ipv6.conf.docker0.accept_source_route = 0 +net.ipv6.conf.docker0.accept_untracked_na = 0 +net.ipv6.conf.docker0.addr_gen_mode = 0 +net.ipv6.conf.docker0.autoconf = 1 +net.ipv6.conf.docker0.dad_transmits = 1 +net.ipv6.conf.docker0.disable_ipv6 = 0 +net.ipv6.conf.docker0.disable_policy = 0 +net.ipv6.conf.docker0.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.docker0.drop_unsolicited_na = 0 +net.ipv6.conf.docker0.enhanced_dad = 1 +net.ipv6.conf.docker0.force_mld_version = 0 +net.ipv6.conf.docker0.force_tllao = 0 +net.ipv6.conf.docker0.forwarding = 0 +net.ipv6.conf.docker0.hop_limit = 64 +net.ipv6.conf.docker0.ignore_routes_with_linkdown = 0 +net.ipv6.conf.docker0.ioam6_enabled = 0 +net.ipv6.conf.docker0.ioam6_id = 65535 +net.ipv6.conf.docker0.ioam6_id_wide = 4294967295 +net.ipv6.conf.docker0.keep_addr_on_down = 0 +net.ipv6.conf.docker0.max_addresses = 16 +net.ipv6.conf.docker0.max_desync_factor = 600 +net.ipv6.conf.docker0.mc_forwarding = 0 +net.ipv6.conf.docker0.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.docker0.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.docker0.mtu = 1500 +net.ipv6.conf.docker0.ndisc_evict_nocarrier = 1 +net.ipv6.conf.docker0.ndisc_notify = 0 +net.ipv6.conf.docker0.ndisc_tclass = 0 +net.ipv6.conf.docker0.proxy_ndp = 0 +net.ipv6.conf.docker0.ra_defrtr_metric = 1024 +net.ipv6.conf.docker0.regen_max_retry = 3 +net.ipv6.conf.docker0.router_probe_interval = 60 +net.ipv6.conf.docker0.router_solicitation_delay = 1 +net.ipv6.conf.docker0.router_solicitation_interval = 4 +net.ipv6.conf.docker0.router_solicitation_max_interval = 3600 +net.ipv6.conf.docker0.router_solicitations = -1 +net.ipv6.conf.docker0.rpl_seg_enabled = 0 +net.ipv6.conf.docker0.seg6_enabled = 0 +net.ipv6.conf.docker0.seg6_require_hmac = 0 +net.ipv6.conf.docker0.suppress_frag_ndisc = 1 +net.ipv6.conf.docker0.temp_prefered_lft = 86400 +net.ipv6.conf.docker0.temp_valid_lft = 604800 +net.ipv6.conf.docker0.use_oif_addrs_only = 0 +net.ipv6.conf.docker0.use_tempaddr = 2 +net.ipv6.conf.enp46s0.accept_dad = 1 +net.ipv6.conf.enp46s0.accept_ra = 0 +net.ipv6.conf.enp46s0.accept_ra_defrtr = 1 +net.ipv6.conf.enp46s0.accept_ra_from_local = 0 +net.ipv6.conf.enp46s0.accept_ra_min_hop_limit = 1 +net.ipv6.conf.enp46s0.accept_ra_min_lft = 0 +net.ipv6.conf.enp46s0.accept_ra_mtu = 1 +net.ipv6.conf.enp46s0.accept_ra_pinfo = 1 +net.ipv6.conf.enp46s0.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.enp46s0.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.enp46s0.accept_ra_rtr_pref = 1 +net.ipv6.conf.enp46s0.accept_redirects = 1 +net.ipv6.conf.enp46s0.accept_source_route = 0 +net.ipv6.conf.enp46s0.accept_untracked_na = 0 +net.ipv6.conf.enp46s0.addr_gen_mode = 1 +net.ipv6.conf.enp46s0.autoconf = 1 +net.ipv6.conf.enp46s0.dad_transmits = 1 +net.ipv6.conf.enp46s0.disable_ipv6 = 0 +net.ipv6.conf.enp46s0.disable_policy = 0 +net.ipv6.conf.enp46s0.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.enp46s0.drop_unsolicited_na = 0 +net.ipv6.conf.enp46s0.enhanced_dad = 1 +net.ipv6.conf.enp46s0.force_mld_version = 0 +net.ipv6.conf.enp46s0.force_tllao = 0 +net.ipv6.conf.enp46s0.forwarding = 0 +net.ipv6.conf.enp46s0.hop_limit = 64 +net.ipv6.conf.enp46s0.ignore_routes_with_linkdown = 0 +net.ipv6.conf.enp46s0.ioam6_enabled = 0 +net.ipv6.conf.enp46s0.ioam6_id = 65535 +net.ipv6.conf.enp46s0.ioam6_id_wide = 4294967295 +net.ipv6.conf.enp46s0.keep_addr_on_down = 0 +net.ipv6.conf.enp46s0.max_addresses = 16 +net.ipv6.conf.enp46s0.max_desync_factor = 600 +net.ipv6.conf.enp46s0.mc_forwarding = 0 +net.ipv6.conf.enp46s0.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.enp46s0.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.enp46s0.mtu = 1500 +net.ipv6.conf.enp46s0.ndisc_evict_nocarrier = 1 +net.ipv6.conf.enp46s0.ndisc_notify = 0 +net.ipv6.conf.enp46s0.ndisc_tclass = 0 +net.ipv6.conf.enp46s0.proxy_ndp = 0 +net.ipv6.conf.enp46s0.ra_defrtr_metric = 1024 +net.ipv6.conf.enp46s0.regen_max_retry = 3 +net.ipv6.conf.enp46s0.router_probe_interval = 60 +net.ipv6.conf.enp46s0.router_solicitation_delay = 1 +net.ipv6.conf.enp46s0.router_solicitation_interval = 4 +net.ipv6.conf.enp46s0.router_solicitation_max_interval = 3600 +net.ipv6.conf.enp46s0.router_solicitations = -1 +net.ipv6.conf.enp46s0.rpl_seg_enabled = 0 +net.ipv6.conf.enp46s0.seg6_enabled = 0 +net.ipv6.conf.enp46s0.seg6_require_hmac = 0 +net.ipv6.conf.enp46s0.suppress_frag_ndisc = 1 +net.ipv6.conf.enp46s0.temp_prefered_lft = 86400 +net.ipv6.conf.enp46s0.temp_valid_lft = 604800 +net.ipv6.conf.enp46s0.use_oif_addrs_only = 0 +net.ipv6.conf.enp46s0.use_tempaddr = 0 +net.ipv6.conf.lo.accept_dad = -1 +net.ipv6.conf.lo.accept_ra = 1 +net.ipv6.conf.lo.accept_ra_defrtr = 1 +net.ipv6.conf.lo.accept_ra_from_local = 0 +net.ipv6.conf.lo.accept_ra_min_hop_limit = 1 +net.ipv6.conf.lo.accept_ra_min_lft = 0 +net.ipv6.conf.lo.accept_ra_mtu = 1 +net.ipv6.conf.lo.accept_ra_pinfo = 1 +net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.lo.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.lo.accept_ra_rtr_pref = 1 +net.ipv6.conf.lo.accept_redirects = 1 +net.ipv6.conf.lo.accept_source_route = 0 +net.ipv6.conf.lo.accept_untracked_na = 0 +net.ipv6.conf.lo.addr_gen_mode = 0 +net.ipv6.conf.lo.autoconf = 1 +net.ipv6.conf.lo.dad_transmits = 1 +net.ipv6.conf.lo.disable_ipv6 = 0 +net.ipv6.conf.lo.disable_policy = 0 +net.ipv6.conf.lo.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.lo.drop_unsolicited_na = 0 +net.ipv6.conf.lo.enhanced_dad = 1 +net.ipv6.conf.lo.force_mld_version = 0 +net.ipv6.conf.lo.force_tllao = 0 +net.ipv6.conf.lo.forwarding = 0 +net.ipv6.conf.lo.hop_limit = 64 +net.ipv6.conf.lo.ignore_routes_with_linkdown = 0 +net.ipv6.conf.lo.ioam6_enabled = 0 +net.ipv6.conf.lo.ioam6_id = 65535 +net.ipv6.conf.lo.ioam6_id_wide = 4294967295 +net.ipv6.conf.lo.keep_addr_on_down = 0 +net.ipv6.conf.lo.max_addresses = 16 +net.ipv6.conf.lo.max_desync_factor = 600 +net.ipv6.conf.lo.mc_forwarding = 0 +net.ipv6.conf.lo.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.lo.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.lo.mtu = 65536 +net.ipv6.conf.lo.ndisc_evict_nocarrier = 1 +net.ipv6.conf.lo.ndisc_notify = 0 +net.ipv6.conf.lo.ndisc_tclass = 0 +net.ipv6.conf.lo.proxy_ndp = 0 +net.ipv6.conf.lo.ra_defrtr_metric = 1024 +net.ipv6.conf.lo.regen_max_retry = 3 +net.ipv6.conf.lo.router_probe_interval = 60 +net.ipv6.conf.lo.router_solicitation_delay = 1 +net.ipv6.conf.lo.router_solicitation_interval = 4 +net.ipv6.conf.lo.router_solicitation_max_interval = 3600 +net.ipv6.conf.lo.router_solicitations = -1 +net.ipv6.conf.lo.rpl_seg_enabled = 0 +net.ipv6.conf.lo.seg6_enabled = 0 +net.ipv6.conf.lo.seg6_require_hmac = 0 +net.ipv6.conf.lo.suppress_frag_ndisc = 1 +net.ipv6.conf.lo.temp_prefered_lft = 86400 +net.ipv6.conf.lo.temp_valid_lft = 604800 +net.ipv6.conf.lo.use_oif_addrs_only = 0 +net.ipv6.conf.lo.use_tempaddr = -1 +net.ipv6.conf.veth0655c9f.accept_dad = 1 +net.ipv6.conf.veth0655c9f.accept_ra = 1 +net.ipv6.conf.veth0655c9f.accept_ra_defrtr = 1 +net.ipv6.conf.veth0655c9f.accept_ra_from_local = 0 +net.ipv6.conf.veth0655c9f.accept_ra_min_hop_limit = 1 +net.ipv6.conf.veth0655c9f.accept_ra_min_lft = 0 +net.ipv6.conf.veth0655c9f.accept_ra_mtu = 1 +net.ipv6.conf.veth0655c9f.accept_ra_pinfo = 1 +net.ipv6.conf.veth0655c9f.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.veth0655c9f.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.veth0655c9f.accept_ra_rtr_pref = 1 +net.ipv6.conf.veth0655c9f.accept_redirects = 1 +net.ipv6.conf.veth0655c9f.accept_source_route = 0 +net.ipv6.conf.veth0655c9f.accept_untracked_na = 0 +net.ipv6.conf.veth0655c9f.addr_gen_mode = 0 +net.ipv6.conf.veth0655c9f.autoconf = 1 +net.ipv6.conf.veth0655c9f.dad_transmits = 1 +net.ipv6.conf.veth0655c9f.disable_ipv6 = 0 +net.ipv6.conf.veth0655c9f.disable_policy = 0 +net.ipv6.conf.veth0655c9f.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.veth0655c9f.drop_unsolicited_na = 0 +net.ipv6.conf.veth0655c9f.enhanced_dad = 1 +net.ipv6.conf.veth0655c9f.force_mld_version = 0 +net.ipv6.conf.veth0655c9f.force_tllao = 0 +net.ipv6.conf.veth0655c9f.forwarding = 0 +net.ipv6.conf.veth0655c9f.hop_limit = 64 +net.ipv6.conf.veth0655c9f.ignore_routes_with_linkdown = 0 +net.ipv6.conf.veth0655c9f.ioam6_enabled = 0 +net.ipv6.conf.veth0655c9f.ioam6_id = 65535 +net.ipv6.conf.veth0655c9f.ioam6_id_wide = 4294967295 +net.ipv6.conf.veth0655c9f.keep_addr_on_down = 0 +net.ipv6.conf.veth0655c9f.max_addresses = 16 +net.ipv6.conf.veth0655c9f.max_desync_factor = 600 +net.ipv6.conf.veth0655c9f.mc_forwarding = 0 +net.ipv6.conf.veth0655c9f.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.veth0655c9f.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.veth0655c9f.mtu = 1500 +net.ipv6.conf.veth0655c9f.ndisc_evict_nocarrier = 1 +net.ipv6.conf.veth0655c9f.ndisc_notify = 0 +net.ipv6.conf.veth0655c9f.ndisc_tclass = 0 +net.ipv6.conf.veth0655c9f.proxy_ndp = 0 +net.ipv6.conf.veth0655c9f.ra_defrtr_metric = 1024 +net.ipv6.conf.veth0655c9f.regen_max_retry = 3 +net.ipv6.conf.veth0655c9f.router_probe_interval = 60 +net.ipv6.conf.veth0655c9f.router_solicitation_delay = 1 +net.ipv6.conf.veth0655c9f.router_solicitation_interval = 4 +net.ipv6.conf.veth0655c9f.router_solicitation_max_interval = 3600 +net.ipv6.conf.veth0655c9f.router_solicitations = -1 +net.ipv6.conf.veth0655c9f.rpl_seg_enabled = 0 +net.ipv6.conf.veth0655c9f.seg6_enabled = 0 +net.ipv6.conf.veth0655c9f.seg6_require_hmac = 0 +net.ipv6.conf.veth0655c9f.suppress_frag_ndisc = 1 +net.ipv6.conf.veth0655c9f.temp_prefered_lft = 86400 +net.ipv6.conf.veth0655c9f.temp_valid_lft = 604800 +net.ipv6.conf.veth0655c9f.use_oif_addrs_only = 0 +net.ipv6.conf.veth0655c9f.use_tempaddr = 2 +net.ipv6.conf.veth2655c84.accept_dad = 1 +net.ipv6.conf.veth2655c84.accept_ra = 1 +net.ipv6.conf.veth2655c84.accept_ra_defrtr = 1 +net.ipv6.conf.veth2655c84.accept_ra_from_local = 0 +net.ipv6.conf.veth2655c84.accept_ra_min_hop_limit = 1 +net.ipv6.conf.veth2655c84.accept_ra_min_lft = 0 +net.ipv6.conf.veth2655c84.accept_ra_mtu = 1 +net.ipv6.conf.veth2655c84.accept_ra_pinfo = 1 +net.ipv6.conf.veth2655c84.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.veth2655c84.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.veth2655c84.accept_ra_rtr_pref = 1 +net.ipv6.conf.veth2655c84.accept_redirects = 1 +net.ipv6.conf.veth2655c84.accept_source_route = 0 +net.ipv6.conf.veth2655c84.accept_untracked_na = 0 +net.ipv6.conf.veth2655c84.addr_gen_mode = 0 +net.ipv6.conf.veth2655c84.autoconf = 1 +net.ipv6.conf.veth2655c84.dad_transmits = 1 +net.ipv6.conf.veth2655c84.disable_ipv6 = 0 +net.ipv6.conf.veth2655c84.disable_policy = 0 +net.ipv6.conf.veth2655c84.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.veth2655c84.drop_unsolicited_na = 0 +net.ipv6.conf.veth2655c84.enhanced_dad = 1 +net.ipv6.conf.veth2655c84.force_mld_version = 0 +net.ipv6.conf.veth2655c84.force_tllao = 0 +net.ipv6.conf.veth2655c84.forwarding = 0 +net.ipv6.conf.veth2655c84.hop_limit = 64 +net.ipv6.conf.veth2655c84.ignore_routes_with_linkdown = 0 +net.ipv6.conf.veth2655c84.ioam6_enabled = 0 +net.ipv6.conf.veth2655c84.ioam6_id = 65535 +net.ipv6.conf.veth2655c84.ioam6_id_wide = 4294967295 +net.ipv6.conf.veth2655c84.keep_addr_on_down = 0 +net.ipv6.conf.veth2655c84.max_addresses = 16 +net.ipv6.conf.veth2655c84.max_desync_factor = 600 +net.ipv6.conf.veth2655c84.mc_forwarding = 0 +net.ipv6.conf.veth2655c84.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.veth2655c84.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.veth2655c84.mtu = 1500 +net.ipv6.conf.veth2655c84.ndisc_evict_nocarrier = 1 +net.ipv6.conf.veth2655c84.ndisc_notify = 0 +net.ipv6.conf.veth2655c84.ndisc_tclass = 0 +net.ipv6.conf.veth2655c84.proxy_ndp = 0 +net.ipv6.conf.veth2655c84.ra_defrtr_metric = 1024 +net.ipv6.conf.veth2655c84.regen_max_retry = 3 +net.ipv6.conf.veth2655c84.router_probe_interval = 60 +net.ipv6.conf.veth2655c84.router_solicitation_delay = 1 +net.ipv6.conf.veth2655c84.router_solicitation_interval = 4 +net.ipv6.conf.veth2655c84.router_solicitation_max_interval = 3600 +net.ipv6.conf.veth2655c84.router_solicitations = -1 +net.ipv6.conf.veth2655c84.rpl_seg_enabled = 0 +net.ipv6.conf.veth2655c84.seg6_enabled = 0 +net.ipv6.conf.veth2655c84.seg6_require_hmac = 0 +net.ipv6.conf.veth2655c84.suppress_frag_ndisc = 1 +net.ipv6.conf.veth2655c84.temp_prefered_lft = 86400 +net.ipv6.conf.veth2655c84.temp_valid_lft = 604800 +net.ipv6.conf.veth2655c84.use_oif_addrs_only = 0 +net.ipv6.conf.veth2655c84.use_tempaddr = 2 +net.ipv6.conf.vethd189986.accept_dad = 1 +net.ipv6.conf.vethd189986.accept_ra = 1 +net.ipv6.conf.vethd189986.accept_ra_defrtr = 1 +net.ipv6.conf.vethd189986.accept_ra_from_local = 0 +net.ipv6.conf.vethd189986.accept_ra_min_hop_limit = 1 +net.ipv6.conf.vethd189986.accept_ra_min_lft = 0 +net.ipv6.conf.vethd189986.accept_ra_mtu = 1 +net.ipv6.conf.vethd189986.accept_ra_pinfo = 1 +net.ipv6.conf.vethd189986.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.vethd189986.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.vethd189986.accept_ra_rtr_pref = 1 +net.ipv6.conf.vethd189986.accept_redirects = 1 +net.ipv6.conf.vethd189986.accept_source_route = 0 +net.ipv6.conf.vethd189986.accept_untracked_na = 0 +net.ipv6.conf.vethd189986.addr_gen_mode = 0 +net.ipv6.conf.vethd189986.autoconf = 1 +net.ipv6.conf.vethd189986.dad_transmits = 1 +net.ipv6.conf.vethd189986.disable_ipv6 = 0 +net.ipv6.conf.vethd189986.disable_policy = 0 +net.ipv6.conf.vethd189986.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.vethd189986.drop_unsolicited_na = 0 +net.ipv6.conf.vethd189986.enhanced_dad = 1 +net.ipv6.conf.vethd189986.force_mld_version = 0 +net.ipv6.conf.vethd189986.force_tllao = 0 +net.ipv6.conf.vethd189986.forwarding = 0 +net.ipv6.conf.vethd189986.hop_limit = 64 +net.ipv6.conf.vethd189986.ignore_routes_with_linkdown = 0 +net.ipv6.conf.vethd189986.ioam6_enabled = 0 +net.ipv6.conf.vethd189986.ioam6_id = 65535 +net.ipv6.conf.vethd189986.ioam6_id_wide = 4294967295 +net.ipv6.conf.vethd189986.keep_addr_on_down = 0 +net.ipv6.conf.vethd189986.max_addresses = 16 +net.ipv6.conf.vethd189986.max_desync_factor = 600 +net.ipv6.conf.vethd189986.mc_forwarding = 0 +net.ipv6.conf.vethd189986.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.vethd189986.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.vethd189986.mtu = 1500 +net.ipv6.conf.vethd189986.ndisc_evict_nocarrier = 1 +net.ipv6.conf.vethd189986.ndisc_notify = 0 +net.ipv6.conf.vethd189986.ndisc_tclass = 0 +net.ipv6.conf.vethd189986.proxy_ndp = 0 +net.ipv6.conf.vethd189986.ra_defrtr_metric = 1024 +net.ipv6.conf.vethd189986.regen_max_retry = 3 +net.ipv6.conf.vethd189986.router_probe_interval = 60 +net.ipv6.conf.vethd189986.router_solicitation_delay = 1 +net.ipv6.conf.vethd189986.router_solicitation_interval = 4 +net.ipv6.conf.vethd189986.router_solicitation_max_interval = 3600 +net.ipv6.conf.vethd189986.router_solicitations = -1 +net.ipv6.conf.vethd189986.rpl_seg_enabled = 0 +net.ipv6.conf.vethd189986.seg6_enabled = 0 +net.ipv6.conf.vethd189986.seg6_require_hmac = 0 +net.ipv6.conf.vethd189986.suppress_frag_ndisc = 1 +net.ipv6.conf.vethd189986.temp_prefered_lft = 86400 +net.ipv6.conf.vethd189986.temp_valid_lft = 604800 +net.ipv6.conf.vethd189986.use_oif_addrs_only = 0 +net.ipv6.conf.vethd189986.use_tempaddr = 2 +net.ipv6.conf.wg0.accept_dad = -1 +net.ipv6.conf.wg0.accept_ra = 1 +net.ipv6.conf.wg0.accept_ra_defrtr = 1 +net.ipv6.conf.wg0.accept_ra_from_local = 0 +net.ipv6.conf.wg0.accept_ra_min_hop_limit = 1 +net.ipv6.conf.wg0.accept_ra_min_lft = 0 +net.ipv6.conf.wg0.accept_ra_mtu = 1 +net.ipv6.conf.wg0.accept_ra_pinfo = 1 +net.ipv6.conf.wg0.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.wg0.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.wg0.accept_ra_rtr_pref = 1 +net.ipv6.conf.wg0.accept_redirects = 1 +net.ipv6.conf.wg0.accept_source_route = 0 +net.ipv6.conf.wg0.accept_untracked_na = 0 +net.ipv6.conf.wg0.addr_gen_mode = 1 +net.ipv6.conf.wg0.autoconf = 1 +net.ipv6.conf.wg0.dad_transmits = 1 +net.ipv6.conf.wg0.disable_ipv6 = 0 +net.ipv6.conf.wg0.disable_policy = 0 +net.ipv6.conf.wg0.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.wg0.drop_unsolicited_na = 0 +net.ipv6.conf.wg0.enhanced_dad = 1 +net.ipv6.conf.wg0.force_mld_version = 0 +net.ipv6.conf.wg0.force_tllao = 0 +net.ipv6.conf.wg0.forwarding = 0 +net.ipv6.conf.wg0.hop_limit = 64 +net.ipv6.conf.wg0.ignore_routes_with_linkdown = 0 +net.ipv6.conf.wg0.ioam6_enabled = 0 +net.ipv6.conf.wg0.ioam6_id = 65535 +net.ipv6.conf.wg0.ioam6_id_wide = 4294967295 +net.ipv6.conf.wg0.keep_addr_on_down = 0 +net.ipv6.conf.wg0.max_addresses = 16 +net.ipv6.conf.wg0.max_desync_factor = 600 +net.ipv6.conf.wg0.mc_forwarding = 0 +net.ipv6.conf.wg0.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.wg0.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.wg0.mtu = 1420 +net.ipv6.conf.wg0.ndisc_evict_nocarrier = 1 +net.ipv6.conf.wg0.ndisc_notify = 0 +net.ipv6.conf.wg0.ndisc_tclass = 0 +net.ipv6.conf.wg0.proxy_ndp = 0 +net.ipv6.conf.wg0.ra_defrtr_metric = 1024 +net.ipv6.conf.wg0.regen_max_retry = 3 +net.ipv6.conf.wg0.router_probe_interval = 60 +net.ipv6.conf.wg0.router_solicitation_delay = 1 +net.ipv6.conf.wg0.router_solicitation_interval = 4 +net.ipv6.conf.wg0.router_solicitation_max_interval = 3600 +net.ipv6.conf.wg0.router_solicitations = -1 +net.ipv6.conf.wg0.rpl_seg_enabled = 0 +net.ipv6.conf.wg0.seg6_enabled = 0 +net.ipv6.conf.wg0.seg6_require_hmac = 0 +net.ipv6.conf.wg0.suppress_frag_ndisc = 1 +net.ipv6.conf.wg0.temp_prefered_lft = 86400 +net.ipv6.conf.wg0.temp_valid_lft = 604800 +net.ipv6.conf.wg0.use_oif_addrs_only = 0 +net.ipv6.conf.wg0.use_tempaddr = -1 +net.ipv6.conf.wlp0s20f3.accept_dad = 1 +net.ipv6.conf.wlp0s20f3.accept_ra = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_defrtr = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_from_local = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_min_hop_limit = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_min_lft = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_mtu = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_pinfo = 1 +net.ipv6.conf.wlp0s20f3.accept_ra_rt_info_max_plen = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_rt_info_min_plen = 0 +net.ipv6.conf.wlp0s20f3.accept_ra_rtr_pref = 1 +net.ipv6.conf.wlp0s20f3.accept_redirects = 1 +net.ipv6.conf.wlp0s20f3.accept_source_route = 0 +net.ipv6.conf.wlp0s20f3.accept_untracked_na = 0 +net.ipv6.conf.wlp0s20f3.addr_gen_mode = 1 +net.ipv6.conf.wlp0s20f3.autoconf = 1 +net.ipv6.conf.wlp0s20f3.dad_transmits = 1 +net.ipv6.conf.wlp0s20f3.disable_ipv6 = 0 +net.ipv6.conf.wlp0s20f3.disable_policy = 0 +net.ipv6.conf.wlp0s20f3.drop_unicast_in_l2_multicast = 0 +net.ipv6.conf.wlp0s20f3.drop_unsolicited_na = 0 +net.ipv6.conf.wlp0s20f3.enhanced_dad = 1 +net.ipv6.conf.wlp0s20f3.force_mld_version = 0 +net.ipv6.conf.wlp0s20f3.force_tllao = 0 +net.ipv6.conf.wlp0s20f3.forwarding = 0 +net.ipv6.conf.wlp0s20f3.hop_limit = 64 +net.ipv6.conf.wlp0s20f3.ignore_routes_with_linkdown = 0 +net.ipv6.conf.wlp0s20f3.ioam6_enabled = 0 +net.ipv6.conf.wlp0s20f3.ioam6_id = 65535 +net.ipv6.conf.wlp0s20f3.ioam6_id_wide = 4294967295 +net.ipv6.conf.wlp0s20f3.keep_addr_on_down = 0 +net.ipv6.conf.wlp0s20f3.max_addresses = 16 +net.ipv6.conf.wlp0s20f3.max_desync_factor = 600 +net.ipv6.conf.wlp0s20f3.mc_forwarding = 0 +net.ipv6.conf.wlp0s20f3.mldv1_unsolicited_report_interval = 10000 +net.ipv6.conf.wlp0s20f3.mldv2_unsolicited_report_interval = 1000 +net.ipv6.conf.wlp0s20f3.mtu = 1500 +net.ipv6.conf.wlp0s20f3.ndisc_evict_nocarrier = 1 +net.ipv6.conf.wlp0s20f3.ndisc_notify = 0 +net.ipv6.conf.wlp0s20f3.ndisc_tclass = 0 +net.ipv6.conf.wlp0s20f3.proxy_ndp = 0 +net.ipv6.conf.wlp0s20f3.ra_defrtr_metric = 1024 +net.ipv6.conf.wlp0s20f3.regen_max_retry = 3 +net.ipv6.conf.wlp0s20f3.router_probe_interval = 60 +net.ipv6.conf.wlp0s20f3.router_solicitation_delay = 1 +net.ipv6.conf.wlp0s20f3.router_solicitation_interval = 4 +net.ipv6.conf.wlp0s20f3.router_solicitation_max_interval = 3600 +net.ipv6.conf.wlp0s20f3.router_solicitations = -1 +net.ipv6.conf.wlp0s20f3.rpl_seg_enabled = 0 +net.ipv6.conf.wlp0s20f3.seg6_enabled = 0 +net.ipv6.conf.wlp0s20f3.seg6_require_hmac = 0 +net.ipv6.conf.wlp0s20f3.suppress_frag_ndisc = 1 +net.ipv6.conf.wlp0s20f3.temp_prefered_lft = 86400 +net.ipv6.conf.wlp0s20f3.temp_valid_lft = 604800 +net.ipv6.conf.wlp0s20f3.use_oif_addrs_only = 0 +net.ipv6.conf.wlp0s20f3.use_tempaddr = 2 +net.ipv6.fib_multipath_hash_fields = 7 +net.ipv6.fib_multipath_hash_policy = 0 +net.ipv6.fib_notify_on_flag_change = 0 +net.ipv6.flowlabel_consistency = 1 +net.ipv6.flowlabel_reflect = 0 +net.ipv6.flowlabel_state_ranges = 0 +net.ipv6.fwmark_reflect = 0 +net.ipv6.icmp.echo_ignore_all = 0 +net.ipv6.icmp.echo_ignore_anycast = 0 +net.ipv6.icmp.echo_ignore_multicast = 0 +net.ipv6.icmp.error_anycast_as_unicast = 0 +net.ipv6.icmp.ratelimit = 1000 +net.ipv6.icmp.ratemask = 0-1,3-127 +net.ipv6.idgen_delay = 1 +net.ipv6.idgen_retries = 3 +net.ipv6.ioam6_id = 16777215 +net.ipv6.ioam6_id_wide = 72057594037927935 +net.ipv6.ip6frag_high_thresh = 4194304 +net.ipv6.ip6frag_low_thresh = 3145728 +net.ipv6.ip6frag_secret_interval = 0 +net.ipv6.ip6frag_time = 60 +net.ipv6.ip_nonlocal_bind = 0 +net.ipv6.max_dst_opts_length = 2147483647 +net.ipv6.max_dst_opts_number = 8 +net.ipv6.max_hbh_length = 2147483647 +net.ipv6.max_hbh_opts_number = 8 +net.ipv6.mld_max_msf = 64 +net.ipv6.mld_qrv = 2 +net.ipv6.neigh.br-79118f7d5a92.anycast_delay = 100 +net.ipv6.neigh.br-79118f7d5a92.app_solicit = 0 +net.ipv6.neigh.br-79118f7d5a92.base_reachable_time_ms = 30000 +net.ipv6.neigh.br-79118f7d5a92.delay_first_probe_time = 5 +net.ipv6.neigh.br-79118f7d5a92.gc_stale_time = 60 +net.ipv6.neigh.br-79118f7d5a92.interval_probe_time_ms = 5000 +net.ipv6.neigh.br-79118f7d5a92.locktime = 0 +net.ipv6.neigh.br-79118f7d5a92.mcast_resolicit = 0 +net.ipv6.neigh.br-79118f7d5a92.mcast_solicit = 3 +net.ipv6.neigh.br-79118f7d5a92.proxy_delay = 80 +net.ipv6.neigh.br-79118f7d5a92.proxy_qlen = 64 +net.ipv6.neigh.br-79118f7d5a92.retrans_time_ms = 1000 +net.ipv6.neigh.br-79118f7d5a92.ucast_solicit = 3 +net.ipv6.neigh.br-79118f7d5a92.unres_qlen = 101 +net.ipv6.neigh.br-79118f7d5a92.unres_qlen_bytes = 212992 +net.ipv6.neigh.br-a7c7f1777df1.anycast_delay = 100 +net.ipv6.neigh.br-a7c7f1777df1.app_solicit = 0 +net.ipv6.neigh.br-a7c7f1777df1.base_reachable_time_ms = 30000 +net.ipv6.neigh.br-a7c7f1777df1.delay_first_probe_time = 5 +net.ipv6.neigh.br-a7c7f1777df1.gc_stale_time = 60 +net.ipv6.neigh.br-a7c7f1777df1.interval_probe_time_ms = 5000 +net.ipv6.neigh.br-a7c7f1777df1.locktime = 0 +net.ipv6.neigh.br-a7c7f1777df1.mcast_resolicit = 0 +net.ipv6.neigh.br-a7c7f1777df1.mcast_solicit = 3 +net.ipv6.neigh.br-a7c7f1777df1.proxy_delay = 80 +net.ipv6.neigh.br-a7c7f1777df1.proxy_qlen = 64 +net.ipv6.neigh.br-a7c7f1777df1.retrans_time_ms = 1000 +net.ipv6.neigh.br-a7c7f1777df1.ucast_solicit = 3 +net.ipv6.neigh.br-a7c7f1777df1.unres_qlen = 101 +net.ipv6.neigh.br-a7c7f1777df1.unres_qlen_bytes = 212992 +net.ipv6.neigh.default.anycast_delay = 100 +net.ipv6.neigh.default.app_solicit = 0 +net.ipv6.neigh.default.base_reachable_time_ms = 30000 +net.ipv6.neigh.default.delay_first_probe_time = 5 +net.ipv6.neigh.default.gc_interval = 30 +net.ipv6.neigh.default.gc_stale_time = 60 +net.ipv6.neigh.default.gc_thresh1 = 128 +net.ipv6.neigh.default.gc_thresh2 = 512 +net.ipv6.neigh.default.gc_thresh3 = 1024 +net.ipv6.neigh.default.interval_probe_time_ms = 5000 +net.ipv6.neigh.default.locktime = 0 +net.ipv6.neigh.default.mcast_resolicit = 0 +net.ipv6.neigh.default.mcast_solicit = 3 +net.ipv6.neigh.default.proxy_delay = 80 +net.ipv6.neigh.default.proxy_qlen = 64 +net.ipv6.neigh.default.retrans_time_ms = 1000 +net.ipv6.neigh.default.ucast_solicit = 3 +net.ipv6.neigh.default.unres_qlen = 101 +net.ipv6.neigh.default.unres_qlen_bytes = 212992 +net.ipv6.neigh.docker0.anycast_delay = 100 +net.ipv6.neigh.docker0.app_solicit = 0 +net.ipv6.neigh.docker0.base_reachable_time_ms = 30000 +net.ipv6.neigh.docker0.delay_first_probe_time = 5 +net.ipv6.neigh.docker0.gc_stale_time = 60 +net.ipv6.neigh.docker0.interval_probe_time_ms = 5000 +net.ipv6.neigh.docker0.locktime = 0 +net.ipv6.neigh.docker0.mcast_resolicit = 0 +net.ipv6.neigh.docker0.mcast_solicit = 3 +net.ipv6.neigh.docker0.proxy_delay = 80 +net.ipv6.neigh.docker0.proxy_qlen = 64 +net.ipv6.neigh.docker0.retrans_time_ms = 1000 +net.ipv6.neigh.docker0.ucast_solicit = 3 +net.ipv6.neigh.docker0.unres_qlen = 101 +net.ipv6.neigh.docker0.unres_qlen_bytes = 212992 +net.ipv6.neigh.enp46s0.anycast_delay = 100 +net.ipv6.neigh.enp46s0.app_solicit = 0 +net.ipv6.neigh.enp46s0.base_reachable_time_ms = 30000 +net.ipv6.neigh.enp46s0.delay_first_probe_time = 5 +net.ipv6.neigh.enp46s0.gc_stale_time = 60 +net.ipv6.neigh.enp46s0.interval_probe_time_ms = 5000 +net.ipv6.neigh.enp46s0.locktime = 0 +net.ipv6.neigh.enp46s0.mcast_resolicit = 0 +net.ipv6.neigh.enp46s0.mcast_solicit = 3 +net.ipv6.neigh.enp46s0.proxy_delay = 80 +net.ipv6.neigh.enp46s0.proxy_qlen = 64 +net.ipv6.neigh.enp46s0.retrans_time_ms = 1000 +net.ipv6.neigh.enp46s0.ucast_solicit = 3 +net.ipv6.neigh.enp46s0.unres_qlen = 101 +net.ipv6.neigh.enp46s0.unres_qlen_bytes = 212992 +net.ipv6.neigh.lo.anycast_delay = 100 +net.ipv6.neigh.lo.app_solicit = 0 +net.ipv6.neigh.lo.base_reachable_time_ms = 30000 +net.ipv6.neigh.lo.delay_first_probe_time = 5 +net.ipv6.neigh.lo.gc_stale_time = 60 +net.ipv6.neigh.lo.interval_probe_time_ms = 5000 +net.ipv6.neigh.lo.locktime = 0 +net.ipv6.neigh.lo.mcast_resolicit = 0 +net.ipv6.neigh.lo.mcast_solicit = 3 +net.ipv6.neigh.lo.proxy_delay = 80 +net.ipv6.neigh.lo.proxy_qlen = 64 +net.ipv6.neigh.lo.retrans_time_ms = 1000 +net.ipv6.neigh.lo.ucast_solicit = 3 +net.ipv6.neigh.lo.unres_qlen = 101 +net.ipv6.neigh.lo.unres_qlen_bytes = 212992 +net.ipv6.neigh.veth0655c9f.anycast_delay = 100 +net.ipv6.neigh.veth0655c9f.app_solicit = 0 +net.ipv6.neigh.veth0655c9f.base_reachable_time_ms = 30000 +net.ipv6.neigh.veth0655c9f.delay_first_probe_time = 5 +net.ipv6.neigh.veth0655c9f.gc_stale_time = 60 +net.ipv6.neigh.veth0655c9f.interval_probe_time_ms = 5000 +net.ipv6.neigh.veth0655c9f.locktime = 0 +net.ipv6.neigh.veth0655c9f.mcast_resolicit = 0 +net.ipv6.neigh.veth0655c9f.mcast_solicit = 3 +net.ipv6.neigh.veth0655c9f.proxy_delay = 80 +net.ipv6.neigh.veth0655c9f.proxy_qlen = 64 +net.ipv6.neigh.veth0655c9f.retrans_time_ms = 1000 +net.ipv6.neigh.veth0655c9f.ucast_solicit = 3 +net.ipv6.neigh.veth0655c9f.unres_qlen = 101 +net.ipv6.neigh.veth0655c9f.unres_qlen_bytes = 212992 +net.ipv6.neigh.veth2655c84.anycast_delay = 100 +net.ipv6.neigh.veth2655c84.app_solicit = 0 +net.ipv6.neigh.veth2655c84.base_reachable_time_ms = 30000 +net.ipv6.neigh.veth2655c84.delay_first_probe_time = 5 +net.ipv6.neigh.veth2655c84.gc_stale_time = 60 +net.ipv6.neigh.veth2655c84.interval_probe_time_ms = 5000 +net.ipv6.neigh.veth2655c84.locktime = 0 +net.ipv6.neigh.veth2655c84.mcast_resolicit = 0 +net.ipv6.neigh.veth2655c84.mcast_solicit = 3 +net.ipv6.neigh.veth2655c84.proxy_delay = 80 +net.ipv6.neigh.veth2655c84.proxy_qlen = 64 +net.ipv6.neigh.veth2655c84.retrans_time_ms = 1000 +net.ipv6.neigh.veth2655c84.ucast_solicit = 3 +net.ipv6.neigh.veth2655c84.unres_qlen = 101 +net.ipv6.neigh.veth2655c84.unres_qlen_bytes = 212992 +net.ipv6.neigh.vethd189986.anycast_delay = 100 +net.ipv6.neigh.vethd189986.app_solicit = 0 +net.ipv6.neigh.vethd189986.base_reachable_time_ms = 30000 +net.ipv6.neigh.vethd189986.delay_first_probe_time = 5 +net.ipv6.neigh.vethd189986.gc_stale_time = 60 +net.ipv6.neigh.vethd189986.interval_probe_time_ms = 5000 +net.ipv6.neigh.vethd189986.locktime = 0 +net.ipv6.neigh.vethd189986.mcast_resolicit = 0 +net.ipv6.neigh.vethd189986.mcast_solicit = 3 +net.ipv6.neigh.vethd189986.proxy_delay = 80 +net.ipv6.neigh.vethd189986.proxy_qlen = 64 +net.ipv6.neigh.vethd189986.retrans_time_ms = 1000 +net.ipv6.neigh.vethd189986.ucast_solicit = 3 +net.ipv6.neigh.vethd189986.unres_qlen = 101 +net.ipv6.neigh.vethd189986.unres_qlen_bytes = 212992 +net.ipv6.neigh.wg0.anycast_delay = 100 +net.ipv6.neigh.wg0.app_solicit = 0 +net.ipv6.neigh.wg0.base_reachable_time_ms = 30000 +net.ipv6.neigh.wg0.delay_first_probe_time = 5 +net.ipv6.neigh.wg0.gc_stale_time = 60 +net.ipv6.neigh.wg0.interval_probe_time_ms = 5000 +net.ipv6.neigh.wg0.locktime = 0 +net.ipv6.neigh.wg0.mcast_resolicit = 0 +net.ipv6.neigh.wg0.mcast_solicit = 3 +net.ipv6.neigh.wg0.proxy_delay = 80 +net.ipv6.neigh.wg0.proxy_qlen = 64 +net.ipv6.neigh.wg0.retrans_time_ms = 1000 +net.ipv6.neigh.wg0.ucast_solicit = 3 +net.ipv6.neigh.wg0.unres_qlen = 101 +net.ipv6.neigh.wg0.unres_qlen_bytes = 212992 +net.ipv6.neigh.wlp0s20f3.anycast_delay = 100 +net.ipv6.neigh.wlp0s20f3.app_solicit = 0 +net.ipv6.neigh.wlp0s20f3.base_reachable_time_ms = 30000 +net.ipv6.neigh.wlp0s20f3.delay_first_probe_time = 5 +net.ipv6.neigh.wlp0s20f3.gc_stale_time = 60 +net.ipv6.neigh.wlp0s20f3.interval_probe_time_ms = 5000 +net.ipv6.neigh.wlp0s20f3.locktime = 0 +net.ipv6.neigh.wlp0s20f3.mcast_resolicit = 0 +net.ipv6.neigh.wlp0s20f3.mcast_solicit = 3 +net.ipv6.neigh.wlp0s20f3.proxy_delay = 80 +net.ipv6.neigh.wlp0s20f3.proxy_qlen = 64 +net.ipv6.neigh.wlp0s20f3.retrans_time_ms = 1000 +net.ipv6.neigh.wlp0s20f3.ucast_solicit = 3 +net.ipv6.neigh.wlp0s20f3.unres_qlen = 101 +net.ipv6.neigh.wlp0s20f3.unres_qlen_bytes = 212992 +net.ipv6.route.gc_elasticity = 9 +net.ipv6.route.gc_interval = 30 +net.ipv6.route.gc_min_interval = 0 +net.ipv6.route.gc_min_interval_ms = 500 +net.ipv6.route.gc_thresh = 1024 +net.ipv6.route.gc_timeout = 60 +net.ipv6.route.max_size = 2147483647 +net.ipv6.route.min_adv_mss = 1220 +net.ipv6.route.mtu_expires = 600 +net.ipv6.route.skip_notify_on_dev_down = 0 +net.ipv6.seg6_flowlabel = 0 +net.ipv6.xfrm6_gc_thresh = 32768 +net.mptcp.add_addr_timeout = 120 +net.mptcp.allow_join_initial_addr_port = 1 +net.mptcp.checksum_enabled = 0 +net.mptcp.enabled = 1 +net.mptcp.pm_type = 0 +net.mptcp.stale_loss_cnt = 4 +net.netfilter.nf_conntrack_acct = 0 +net.netfilter.nf_conntrack_buckets = 262144 +net.netfilter.nf_conntrack_checksum = 1 +net.netfilter.nf_conntrack_count = 1511 +net.netfilter.nf_conntrack_dccp_loose = 1 +net.netfilter.nf_conntrack_dccp_timeout_closereq = 64 +net.netfilter.nf_conntrack_dccp_timeout_closing = 64 +net.netfilter.nf_conntrack_dccp_timeout_open = 43200 +net.netfilter.nf_conntrack_dccp_timeout_partopen = 480 +net.netfilter.nf_conntrack_dccp_timeout_request = 240 +net.netfilter.nf_conntrack_dccp_timeout_respond = 480 +net.netfilter.nf_conntrack_dccp_timeout_timewait = 240 +net.netfilter.nf_conntrack_events = 2 +net.netfilter.nf_conntrack_expect_max = 4096 +net.netfilter.nf_conntrack_frag6_high_thresh = 4194304 +net.netfilter.nf_conntrack_frag6_low_thresh = 3145728 +net.netfilter.nf_conntrack_frag6_timeout = 60 +net.netfilter.nf_conntrack_generic_timeout = 600 +net.netfilter.nf_conntrack_gre_timeout = 30 +net.netfilter.nf_conntrack_gre_timeout_stream = 180 +net.netfilter.nf_conntrack_icmp_timeout = 30 +net.netfilter.nf_conntrack_icmpv6_timeout = 30 +net.netfilter.nf_conntrack_log_invalid = 0 +net.netfilter.nf_conntrack_max = 262144 +net.netfilter.nf_conntrack_sctp_timeout_closed = 10 +net.netfilter.nf_conntrack_sctp_timeout_cookie_echoed = 3 +net.netfilter.nf_conntrack_sctp_timeout_cookie_wait = 3 +net.netfilter.nf_conntrack_sctp_timeout_established = 210 +net.netfilter.nf_conntrack_sctp_timeout_heartbeat_sent = 30 +net.netfilter.nf_conntrack_sctp_timeout_shutdown_ack_sent = 3 +net.netfilter.nf_conntrack_sctp_timeout_shutdown_recd = 3 +net.netfilter.nf_conntrack_sctp_timeout_shutdown_sent = 3 +net.netfilter.nf_conntrack_tcp_be_liberal = 0 +net.netfilter.nf_conntrack_tcp_ignore_invalid_rst = 0 +net.netfilter.nf_conntrack_tcp_loose = 1 +net.netfilter.nf_conntrack_tcp_max_retrans = 3 +net.netfilter.nf_conntrack_tcp_timeout_close = 10 +net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 +net.netfilter.nf_conntrack_tcp_timeout_established = 432000 +net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120 +net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30 +net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300 +net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60 +net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120 +net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 +net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300 +net.netfilter.nf_conntrack_timestamp = 0 +net.netfilter.nf_conntrack_udp_timeout = 30 +net.netfilter.nf_conntrack_udp_timeout_stream = 120 +net.netfilter.nf_flowtable_tcp_timeout = 30 +net.netfilter.nf_flowtable_udp_timeout = 30 +net.netfilter.nf_hooks_lwtunnel = 0 +net.netfilter.nf_log.0 = NONE +net.netfilter.nf_log.1 = NONE +net.netfilter.nf_log.10 = NONE +net.netfilter.nf_log.2 = NONE +net.netfilter.nf_log.3 = NONE +net.netfilter.nf_log.4 = NONE +net.netfilter.nf_log.5 = NONE +net.netfilter.nf_log.6 = NONE +net.netfilter.nf_log.7 = NONE +net.netfilter.nf_log.8 = NONE +net.netfilter.nf_log.9 = NONE +net.netfilter.nf_log_all_netns = 0 +net.nf_conntrack_max = 262144 +net.unix.max_dgram_qlen = 512 +user.max_cgroup_namespaces = 256032 +user.max_fanotify_groups = 128 +user.max_fanotify_marks = 530989 +user.max_inotify_instances = 128 +user.max_inotify_watches = 65536 +user.max_ipc_namespaces = 256032 +user.max_mnt_namespaces = 256032 +user.max_net_namespaces = 256032 +user.max_pid_namespaces = 256032 +user.max_time_namespaces = 256032 +user.max_user_namespaces = 256032 +user.max_uts_namespaces = 256032 +vm.admin_reserve_kbytes = 8192 +vm.compact_unevictable_allowed = 1 +vm.compaction_proactiveness = 20 +vm.dirty_background_bytes = 0 +vm.dirty_background_ratio = 10 +vm.dirty_bytes = 0 +vm.dirty_expire_centisecs = 3000 +vm.dirty_ratio = 20 +vm.dirty_writeback_centisecs = 500 +vm.dirtytime_expire_seconds = 43200 +vm.extfrag_threshold = 500 +vm.hugetlb_optimize_vmemmap = 0 +vm.hugetlb_shm_group = 0 +vm.laptop_mode = 0 +vm.legacy_va_layout = 0 +vm.lowmem_reserve_ratio = 256 256 32 0 0 +vm.max_map_count = 65530 +vm.memfd_noexec = 0 +vm.memory_failure_early_kill = 0 +vm.memory_failure_recovery = 1 +vm.min_free_kbytes = 67584 +vm.min_slab_ratio = 5 +vm.min_unmapped_ratio = 1 +vm.mmap_min_addr = 65536 +vm.nr_hugepages = 0 +vm.nr_hugepages_mempolicy = 0 +vm.nr_overcommit_hugepages = 0 +vm.numa_stat = 1 +vm.numa_zonelist_order = Node +vm.oom_dump_tasks = 1 +vm.oom_kill_allocating_task = 0 +vm.overcommit_kbytes = 0 +vm.overcommit_memory = 0 +vm.overcommit_ratio = 50 +vm.page-cluster = 3 +vm.page_lock_unfairness = 5 +vm.panic_on_oom = 0 +vm.percpu_pagelist_high_fraction = 0 +vm.stat_interval = 1 +vm.swappiness = 60 +vm.unprivileged_userfaultfd = 0 +vm.user_reserve_kbytes = 131072 +vm.vfs_cache_pressure = 100 +vm.watermark_boost_factor = 15000 +vm.watermark_scale_factor = 10 +vm.zone_reclaim_mode = 0 diff --git a/t/pt-summary/samples/Linux/009/transparent_hugepage b/t/pt-summary/samples/Linux/009/transparent_hugepage new file mode 100644 index 000000000..1a6560fa1 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/transparent_hugepage @@ -0,0 +1 @@ +[always] madvise never diff --git a/t/pt-summary/samples/Linux/009/uptime b/t/pt-summary/samples/Linux/009/uptime new file mode 100644 index 000000000..c0efdf784 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/uptime @@ -0,0 +1 @@ + 12:57:53 up 95 days, 5:49, 1 user, load average: 6,32, 6,92, 6,94 diff --git a/t/pt-summary/samples/Linux/009/vmstat b/t/pt-summary/samples/Linux/009/vmstat new file mode 100644 index 000000000..ffdb4e289 --- /dev/null +++ b/t/pt-summary/samples/Linux/009/vmstat @@ -0,0 +1,7 @@ +procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- + r b swpd free buff cache si so bi bo in cs us sy id wa st + 8 0 1987020 1418168 1633964 35363256 0 0 31 201 1 1 12 2 86 0 0 + 5 0 1987020 1446196 1633964 35344312 0 0 0 112 14942 51159 40 3 57 0 0 + 6 0 1987020 1434224 1633964 35341352 0 0 4 1704 16125 21166 34 1 65 0 0 + 6 0 1987020 1459840 1633964 35338636 0 0 0 8 16382 20180 35 2 63 0 0 + 5 0 1987020 1436008 1633964 35338540 0 0 0 904 16908 26057 35 1 63 0 0 diff --git a/t/pt-summary/samples/Linux/output_002.txt b/t/pt-summary/samples/Linux/output_002.txt index 1c7bda310..4a81fe9d1 100644 --- a/t/pt-summary/samples/Linux/output_002.txt +++ b/t/pt-summary/samples/Linux/output_002.txt @@ -81,5 +81,4 @@ Unable to collect information 1 0 0 0 0 0 1000 35 80 20 0 0 0 1 0 0 0 0 0 900 45 62 38 0 0 0 # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### diff --git a/t/pt-summary/samples/Linux/output_003.txt b/t/pt-summary/samples/Linux/output_003.txt index 90a9ae332..38bde2c11 100644 --- a/t/pt-summary/samples/Linux/output_003.txt +++ b/t/pt-summary/samples/Linux/output_003.txt @@ -78,5 +78,4 @@ Unable to collect information 1 0 0 0 0 0 900 35 78 22 0 0 0 2 0 0 0 0 0 700 20 78 22 0 0 0 # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### diff --git a/t/pt-summary/samples/Linux/output_005.txt b/t/pt-summary/samples/Linux/output_005.txt index 8ba557903..8de81c637 100644 --- a/t/pt-summary/samples/Linux/output_005.txt +++ b/t/pt-summary/samples/Linux/output_005.txt @@ -160,5 +160,4 @@ Unable to collect information 0 0 0 0 0 0 150 100 0 0 100 0 0 0 0 0 0 0 0 125 100 0 0 100 0 0 # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### diff --git a/t/pt-summary/samples/Linux/output_006.txt b/t/pt-summary/samples/Linux/output_006.txt index 66ea1fa01..b74c9fd6b 100644 --- a/t/pt-summary/samples/Linux/output_006.txt +++ b/t/pt-summary/samples/Linux/output_006.txt @@ -207,5 +207,4 @@ dentry-state | 456513 375385 45 0 141719 0 PID OOM COMMAND ? ? sshd doesn't appear to be running # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### diff --git a/t/pt-summary/samples/Linux/output_007.txt b/t/pt-summary/samples/Linux/output_007.txt index dcbabdb8b..0c2c672fe 100644 --- a/t/pt-summary/samples/Linux/output_007.txt +++ b/t/pt-summary/samples/Linux/output_007.txt @@ -568,5 +568,4 @@ dentry-state | 10194137 9907146 45 0 2973650 0 44034 -17 sshd 48761 -17 sshd # Memory management ########################################## -Transparent huge pages are enabled. # The End #################################################### diff --git a/t/pt-summary/samples/Linux/output_008.txt b/t/pt-summary/samples/Linux/output_008.txt new file mode 100644 index 000000000..242f407c8 --- /dev/null +++ b/t/pt-summary/samples/Linux/output_008.txt @@ -0,0 +1,201 @@ + Hostname | s76 + Uptime | 95 days, 5:41, 1 user, load average: 7,27, 6,88, 6,86 + Platform | Linux + Release | Ubuntu 22.04.4 LTS (jammy) + Kernel | 6.5.0-35-generic +Architecture | CPU = 64-bit, OS = 64-bit + Threading | NPTL 2.35 + SELinux | No SELinux detected + Virtualized | No virtualization detected +# Processor ################################################## + Processors | physical = 1, cores = 12, virtual = 16, hyperthreading = yes + Speeds | 1x2299.894, 1x2299.975, 1x2299.997, 1x2299.998, 1x2300.011, 1x2300.012, 1x2300.017, 1x2300.091, 1x2672.558, 1x2780.294, 4x2800.000, 1x2800.007, 1x2900.000 + Models | 16x12th Gen Intel(R) Core(TM) i7-1260P + Caches | 16x18432 KB + Designation Configuration Size Associativity + ========================= ============================== ======== ====================== +# Memory ##################################################### + Total | 62.6G + Free | 1.6G + Used | physical = 25.7G, swap allocated = 1.9G, swap used = 1.9G, virtual = 27.6G + Shared | 2.7G + Buffers | 35.4G + Caches | 33.8G + Dirty | 16372 kB + UsedRSS | 35.9G + Swappiness | 60 + DirtyPolicy | 20, 10 + DirtyStatus | 0, 0 + Locator Size Speed Form Factor Type Type Detail + ========= ======== ================= ============= ============= =========== +# Mounted Filesystems ######################################## + Filesystem Size Used Type Opts Mountpoint + /dev/fuse 250G 0% fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 /run/user/1000/keybase/kbfs + /dev/mapper/vgubuntu-root 3,6T 43% ext4 rw,relatime,errors=remount-ro / + /dev/nvme0n1p1 511M 57% vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro /boot/efi + /dev/nvme0n1p2 1,7G 20% ext4 rw,relatime /boot + efivarfs 64K 45% efivarfs rw,nosuid,nodev,noexec,relatime /sys/firmware/efi/efivars + tmpfs 32G 3% tmpfs rw,nosuid,nodev,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /dev/shm + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /run/lock + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /run +# Disk Schedulers And Queue Size ############################# + dm-0 | UNREADABLE + dm-1 | UNREADABLE + dm-2 | UNREADABLE + nvme0n1 | [none] 1023 +# Disk Partitioning ########################################## +Device Type Start End Size +============ ==== ========== ========== ================== +/dev/nvme0n1 Disk 4000787030016 +/dev/nvme0n1p1 Part 2048 1050623 0 +/dev/nvme0n1p2 Part 1050624 4550655 0 +/dev/nvme0n1p3 Part 4550656 7814035455 0 +# Kernel Inode State ######################################### +dentry-state | 3350735 3155181 45 0 2247869 0 + file-nr | 35904 0 9223372036854775807 + inode-nr | 1417972 554725 +# LVM Volumes ################################################ +Unable to collect information +# LVM Volume Groups ########################################## +Unable to collect information +# RAID Controller ############################################ + Controller | No RAID controller detected +# Network Config ############################################# + Controller | Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15) + FIN Timeout | 60 + Port Range | 60999 +# Interface Statistics ####################################### + interface rx_bytes rx_packets rx_errors tx_bytes tx_packets tx_errors + ========= ========= ========== ========== ========== ========== ========== + lo 125000000000 175000000 0 125000000000 175000000 0 + enp46s0 0 0 0 0 0 0 + wlp0s20f3 150000000000 150000000 0 30000000000 80000000 0 + docker0 12500000000 12500000 0 30000000000 15000000 0 + br-a7c7f1777df1 0 0 0 0 0 0 + veth0655c9f@if604 1250000000 1000000 0 2500000000 1250000 0 + vethd189986@if606 50000000 250000 0 600000000 300000 0 + veth2655c84@if608 500000000 250000 0 50000000 250000 0 + wg0 12500000 25000 0 5000000 25000 0 + br-79118f7d5a92 15000000 225000 0 800000000 350000 0 +# Network Connections ######################################## + Connections from remote IP addresses + 3.68.61.181 3 + 3.124.19.111 1 + 10.0.0.1 1 + 10.0.0.5 4 + 18.190.135.240 1 + 18.205.222.128 1 + 34.107.243.93 1 + 34.202.253.140 1 + 35.75.32.93 6 + 38.111.114.11 1 + 44.208.19.176 1 + 52.35.150.14 3 + 52.57.79.4 1 + 52.73.62.51 1 + 52.84.151.38 1 + 52.193.110.50 1 + 54.147.17.17 1 + 54.158.119.218 1 + 54.159.113.253 1 + 64.233.162.188 1 + 74.125.205.188 1 + 77.223.96.250 1 + 89.253.240.17 2 + 91.105.192.100 7 + 108.157.214.53 1 + 108.157.214.118 1 + 127.0.0.1 80 + 140.82.113.26 1 + 142.250.184.131 1 + 142.251.1.138 1 + 149.154.167.51 1 + 157.240.205.60 1 + 162.125.6.20 1 + 162.125.21.2 1 + 162.125.21.3 8 + 162.125.69.12 1 + 162.125.69.13 1 + 170.114.4.224 1 + 170.114.15.227 1 + 170.114.52.2 2 + 170.114.52.66 1 + 172.17.0.2 5 + 172.64.152.233 1 + 173.194.220.108 5 + 173.194.221.94 1 + 185.166.143.36 1 + 188.114.98.233 2 + 188.114.99.233 2 + 194.85.125.1 1 + 206.247.115.239 1 + 209.85.233.104 1 + 213.180.204.148 3 + Connections to local IP addresses + 10.0.0.5 15 + 127.0.0.1 80 + 172.17.0.1 5 + 192.168.55.2 70 + 192.168.255.22 1 + Connections to top 10 local ports + 12345 3 + 12347 4 + 3306 10 + 42001 3 + 42002 3 + 42003 3 + 4647 2 + 60442 1 + 60536 1 + 60740 1 + States of connections + CLOSE_WAIT 9 + ESTABLISHED 125 + LISTEN 45 + SYN_SENT 3 + TIME_WAIT 25 +# Top Processes ############################################## + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND +2407273 sveta 20 0 64144 46012 13824 R 100,0 0,1 5061:20 perl +2410420 sveta 20 0 64140 46184 13952 R 100,0 0,1 5059:23 perl + 783789 sveta 20 0 2822620 506824 42752 S 94,1 0,8 5786:40 mysqld +2408748 sveta 20 0 64136 46068 14080 R 94,1 0,1 5060:24 perl +2419768 sveta 20 0 64140 46088 13952 R 94,1 0,1 5055:00 perl +2504338 root 20 0 3183396 578628 283160 S 94,1 0,9 47:38.67 s1-agent +2504336 root 20 0 289740 127780 25600 S 52,9 0,2 9:50.52 s1-scan+ + 7288 sveta 20 0 2688236 139560 46968 S 5,9 0,2 1028:47 Xorg + 622143 sveta 20 0 1132,2g 682008 88376 S 5,9 1,0 117:46.23 slack +# Notable Processes ########################################## + PID OOM COMMAND + ? ? sshd doesn't appear to be running +1499134 -17 multipathd +2849628 -17 nomad +3202899 -17 sshd +# Simplified and fuzzy rounded vmstat (wait please) ########## + procs ---swap-- -----io---- ---system---- --------cpu-------- + r b si so bi bo ir cs us sy il wa st + 8 0 0 0 30 200 1 1 12 2 86 0 0 + 9 0 0 0 8 1750 15000 50000 39 3 58 0 0 + 5 1 0 0 0 500 15000 22500 39 1 60 0 0 + 5 0 0 0 0 900 17500 20000 34 1 65 0 0 + 5 0 0 0 0 350 17500 25000 36 2 63 0 0 +# Memory management ########################################## +Transparent huge pages are currently disabled on the system. +# The End #################################################### diff --git a/t/pt-summary/samples/Linux/output_009.txt b/t/pt-summary/samples/Linux/output_009.txt new file mode 100644 index 000000000..748d2cd14 --- /dev/null +++ b/t/pt-summary/samples/Linux/output_009.txt @@ -0,0 +1,212 @@ + Hostname | s76 + Uptime | 95 days, 5:49, 1 user, load average: 6,32, 6,92, 6,94 + Platform | Linux + Release | Ubuntu 22.04.4 LTS (jammy) + Kernel | 6.5.0-35-generic +Architecture | CPU = 64-bit, OS = 64-bit + Threading | NPTL 2.35 + SELinux | No SELinux detected + Virtualized | No virtualization detected +# Processor ################################################## + Processors | physical = 1, cores = 12, virtual = 16, hyperthreading = yes + Speeds | 1x2361.788, 1x2361.790, 1x2372.925, 1x2381.090, 1x2387.139, 1x2388.023, 1x2392.435, 1x2393.328, 1x2778.914, 1x2783.569, 1x2788.137, 1x2788.142, 1x2788.144, 1x2788.149, 1x2788.156, 1x2789.364 + Models | 16x12th Gen Intel(R) Core(TM) i7-1260P + Caches | 16x18432 KB + Designation Configuration Size Associativity + ========================= ============================== ======== ====================== +# Memory ##################################################### + Total | 62.6G + Free | 1.4G + Used | physical = 26.0G, swap allocated = 1.9G, swap used = 1.9G, virtual = 27.9G + Shared | 2.7G + Buffers | 35.3G + Caches | 33.6G + Dirty | 16096 kB + UsedRSS | 36.4G + Swappiness | 60 + DirtyPolicy | 20, 10 + DirtyStatus | 0, 0 + Locator Size Speed Form Factor Type Type Detail + ========= ======== ================= ============= ============= =========== +# Mounted Filesystems ######################################## + Filesystem Size Used Type Opts Mountpoint + /dev/fuse 250G 0% fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 /run/user/1000/keybase/kbfs + /dev/mapper/vgubuntu-root 3,6T 43% ext4 rw,relatime,errors=remount-ro / + /dev/nvme0n1p1 511M 57% vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro /boot/efi + /dev/nvme0n1p2 1,7G 20% ext4 rw,relatime /boot + efivarfs 64K 45% efivarfs rw,nosuid,nodev,noexec,relatime /sys/firmware/efi/efivars + tmpfs 32G 3% tmpfs rw,nosuid,nodev,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /dev/shm + tmpfs 32G 3% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /dev/shm + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/lock + tmpfs 5,0M 1% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /run/lock + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /run/user/1000 + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,noexec,relatime,size=6567948k,mode=755,inode64 /run + tmpfs 6,3G 1% tmpfs rw,nosuid,nodev,relatime,size=6567944k,nr_inodes=1641986,mode=700,uid=1000,gid=1000,inode64 /run +# Disk Schedulers And Queue Size ############################# + dm-0 | UNREADABLE + dm-1 | UNREADABLE + dm-2 | UNREADABLE + nvme0n1 | [none] 1023 +# Disk Partitioning ########################################## +Device Type Start End Size +============ ==== ========== ========== ================== +/dev/nvme0n1 Disk 4000787030016 +/dev/nvme0n1p1 Part 2048 1050623 0 +/dev/nvme0n1p2 Part 1050624 4550655 0 +/dev/nvme0n1p3 Part 4550656 7814035455 0 +# Kernel Inode State ######################################### +dentry-state | 3355603 3159991 45 0 2250834 0 + file-nr | 36032 0 9223372036854775807 + inode-nr | 1419887 556339 +# LVM Volumes ################################################ +Unable to collect information +# LVM Volume Groups ########################################## +Unable to collect information +# RAID Controller ############################################ + Controller | No RAID controller detected +# Network Config ############################################# + Controller | Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15) + FIN Timeout | 60 + Port Range | 60999 +# Interface Statistics ####################################### + interface rx_bytes rx_packets rx_errors tx_bytes tx_packets tx_errors + ========= ========= ========== ========== ========== ========== ========== + lo 125000000000 175000000 0 125000000000 175000000 0 + enp46s0 0 0 0 0 0 0 + wlp0s20f3 150000000000 150000000 0 30000000000 80000000 0 + docker0 12500000000 12500000 0 30000000000 15000000 0 + br-a7c7f1777df1 0 0 0 0 0 0 + veth0655c9f@if604 1250000000 1000000 0 2500000000 1250000 0 + vethd189986@if606 50000000 250000 0 600000000 300000 0 + veth2655c84@if608 500000000 250000 0 50000000 250000 0 + wg0 17500000 35000 0 7000000 35000 0 + br-79118f7d5a92 15000000 225000 0 800000000 350000 0 +# Network Connections ######################################## + Connections from remote IP addresses + 3.68.61.181 3 + 3.160.57.75 1 + 3.164.240.62 2 + 10.0.0.1 1 + 10.0.0.5 4 + 18.190.135.240 1 + 18.205.222.128 1 + 23.20.17.147 1 + 34.107.243.93 1 + 34.110.207.168 1 + 34.117.188.166 2 + 34.120.208.123 1 + 34.202.253.140 1 + 35.74.138.212 2 + 35.75.32.93 6 + 38.111.114.11 1 + 52.35.150.14 2 + 52.57.79.4 1 + 52.73.62.51 1 + 52.73.238.236 1 + 52.84.151.38 1 + 52.193.110.50 1 + 54.86.147.85 1 + 54.147.17.17 1 + 54.158.119.218 1 + 54.159.113.253 1 + 54.159.239.26 1 + 64.233.162.188 1 + 64.233.165.104 1 + 74.125.205.188 1 + 77.223.96.250 1 + 89.253.240.17 2 + 91.105.192.100 7 + 108.157.52.95 1 + 108.157.214.47 1 + 108.157.214.111 1 + 108.177.14.94 2 + 127.0.0.1 80 + 140.82.114.25 1 + 142.250.150.154 1 + 142.251.1.138 1 + 142.251.140.14 1 + 149.154.167.51 1 + 157.240.205.60 1 + 157.240.205.174 2 + 162.125.21.2 1 + 162.125.21.3 8 + 170.114.4.224 1 + 170.114.15.227 1 + 170.114.52.2 2 + 170.114.52.66 1 + 172.17.0.2 4 + 172.64.152.233 1 + 173.194.73.94 1 + 173.194.220.108 5 + 173.194.222.94 1 + 185.166.143.36 1 + 188.114.98.233 2 + 188.114.99.233 2 + 194.85.125.1 1 + 206.247.115.239 1 + 213.180.204.148 3 + 216.58.213.113 1 + Connections to local IP addresses + 10.0.0.5 15 + 127.0.0.1 80 + 172.17.0.1 4 + 192.168.55.2 80 + 192.168.255.22 1 + Connections to top 10 local ports + 12345 3 + 12347 4 + 3306 15 + 42001 3 + 42002 3 + 42003 3 + 4647 2 + 60442 1 + 60592 2 + 60740 1 + States of connections + CLOSE_WAIT 9 + ESTABLISHED 125 + LISTEN 45 + SYN_SENT 4 + TIME_WAIT 40 +# Top Processes ############################################## + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND + 783789 sveta 20 0 2822620 506824 42752 S 100,0 0,8 5795:02 mysqld +2407273 sveta 20 0 64144 46012 13824 R 100,0 0,1 5069:41 perl +2410420 sveta 20 0 64140 46184 13952 R 100,0 0,1 5067:44 perl +2419768 sveta 20 0 64140 46088 13952 R 100,0 0,1 5063:21 perl +2408748 sveta 20 0 64136 46068 14080 R 94,1 0,1 5068:45 perl +3396104 sveta 20 0 16768 5248 3968 R 11,8 0,0 0:00.03 top +2147236 sveta 20 0 32,8g 450796 225184 S 5,9 0,7 52:26.29 chrome +2147423 sveta 20 0 1158,3g 556292 148372 S 5,9 0,8 83:11.29 chrome +2738171 sveta 20 0 499860 52224 13312 S 5,9 0,1 19:40.27 aomhost +# Notable Processes ########################################## + PID OOM COMMAND + ? ? sshd doesn't appear to be running +1499134 -17 multipathd +2849628 -17 nomad +3202899 -17 sshd +# Simplified and fuzzy rounded vmstat (wait please) ########## + procs ---swap-- -----io---- ---system---- --------cpu-------- + r b si so bi bo ir cs us sy il wa st + 8 0 0 0 30 200 1 1 12 2 86 0 0 + 5 0 0 0 0 100 15000 50000 40 3 57 0 0 + 6 0 0 0 4 1750 15000 20000 34 1 65 0 0 + 6 0 0 0 0 8 17500 20000 35 2 63 0 0 + 5 0 0 0 0 900 17500 25000 35 1 63 0 0 +# Memory management ########################################## +Transparent huge pages are enabled. +# The End #################################################### From 045b2fec9fcebcd71ab217748f2594dbc66cedf6 Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 6 Sep 2024 16:10:36 +0300 Subject: [PATCH 22/31] PT-2340 - Support MySQL 8.4 - Adjusted test results, broken due to mysql.component table in PS --- t/lib/SchemaIterator.t | 3 ++- t/lib/samples/SchemaIterator/all-dbs-tbls-8.4.txt | 2 +- t/pt-table-checksum/basics.t | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/t/lib/SchemaIterator.t b/t/lib/SchemaIterator.t index 6f3e5a741..db1fc787d 100644 --- a/t/lib/SchemaIterator.t +++ b/t/lib/SchemaIterator.t @@ -112,7 +112,7 @@ sub test_so { update_sample => 1, ), $args{test_name}, - ); + ) or diag($test_diff); } elsif ( $args{like} ) { like( @@ -169,6 +169,7 @@ SKIP: { # ######################################################################## # Test simple, unfiltered get_db_itr(). # ######################################################################## + # TODO: create flavor-dependent samples test_so( result => $sb->is_cluster_mode ? "$out/all-dbs-tbls-cluster-$sandbox_version.txt" diff --git a/t/lib/samples/SchemaIterator/all-dbs-tbls-8.4.txt b/t/lib/samples/SchemaIterator/all-dbs-tbls-8.4.txt index efc6f1cbd..012249de6 100644 --- a/t/lib/samples/SchemaIterator/all-dbs-tbls-8.4.txt +++ b/t/lib/samples/SchemaIterator/all-dbs-tbls-8.4.txt @@ -16,7 +16,7 @@ CREATE TABLE `component` ( `component_group_id` int unsigned NOT NULL, `component_urn` text NOT NULL, PRIMARY KEY (`component_id`) -) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='Components' +) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='Components' mysql.db CREATE TABLE `db` ( diff --git a/t/pt-table-checksum/basics.t b/t/pt-table-checksum/basics.t index 6cb71a8f7..c1e8ad433 100644 --- a/t/pt-table-checksum/basics.t +++ b/t/pt-table-checksum/basics.t @@ -86,8 +86,8 @@ ok( no_diff( $cmd, "$sample/default-results-$sandbox_version.txt", - sed_out => '\'/mysql.plugin$/d; /percona_test.checksums$/d; /mysql.help_category$/d; /mysql.help_keyword$/d; /mysql.help_relation$/d; /mysql.help_topic$/d; /mysql.columns_priv$/d; /mysql.engine_cost$/d; /mysql.general_log$/d; /mysql.innodb_index_stats$/d; /mysql.innodb_table_stats$/d; /mysql.password_history$/d; /mysql.procs_priv$/d; /mysql.proxies_priv$/d; /mysql.server_cost$/d; /mysql.slow_log$/d; /mysql.tables_priv$/d\'', - post_pipe => 'sed \'/mysql.plugin$/d; /percona_test.checksums$/d; /mysql.help_category$/d; /mysql.help_keyword$/d; /mysql.help_relation$/d; /mysql.help_topic$/d; /mysql.ndb_binlog_index$/d; /mysql.global_grants$/d; /mysql.columns_priv$/d; /mysql.engine_cost$/d; /mysql.general_log$/d; /mysql.innodb_index_stats$/d; /mysql.innodb_table_stats$/d; /mysql.password_history$/d; /mysql.procs_priv$/d; /mysql.proxies_priv$/d; /mysql.server_cost$/d; /mysql.slow_log$/d; /mysql.tables_priv$/d\' | ' . + sed_out => '\'/mysql.plugin$/d; /percona_test.checksums$/d; /mysql.help_category$/d; /mysql.help_keyword$/d; /mysql.help_relation$/d; /mysql.help_topic$/d; /mysql.columns_priv$/d; /mysql.component$/d; /mysql.engine_cost$/d; /mysql.general_log$/d; /mysql.innodb_index_stats$/d; /mysql.innodb_table_stats$/d; /mysql.password_history$/d; /mysql.procs_priv$/d; /mysql.proxies_priv$/d; /mysql.server_cost$/d; /mysql.slow_log$/d; /mysql.tables_priv$/d\'', + post_pipe => 'sed \'/mysql.plugin$/d; /percona_test.checksums$/d; /mysql.help_category$/d; /mysql.help_keyword$/d; /mysql.help_relation$/d; /mysql.help_topic$/d; /mysql.ndb_binlog_index$/d; /mysql.global_grants$/d; /mysql.columns_priv$/d; /mysql.component$/d; /mysql.engine_cost$/d; /mysql.general_log$/d; /mysql.innodb_index_stats$/d; /mysql.innodb_table_stats$/d; /mysql.password_history$/d; /mysql.procs_priv$/d; /mysql.proxies_priv$/d; /mysql.server_cost$/d; /mysql.slow_log$/d; /mysql.tables_priv$/d\' | ' . 'awk \'{print $2 " " $3 " " $4 " " $7 " " $9}\'', keep_ouput => 1, ), From 5d5590443609e17d9e5489ddebfc2da548557b5e Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Thu, 12 Sep 2024 20:33:11 +0300 Subject: [PATCH 23/31] PT-2340 - Support MySQL 8.4 - Tests for the minimal SSL support - Updated util/update-modules, so they don't skip tools with modules, not defined in lib --- bin/pt-duplicate-key-checker | 6 - bin/pt-find | 6 + bin/pt-index-usage | 6 + bin/pt-table-usage | 481 +++++++++++++--------- bin/pt-visual-explain | 572 +++++++++++++++++++------- t/pt-archiver/ssl.t | 90 ++++ t/pt-config-diff/ssl.t | 87 ++++ t/pt-deadlock-logger/ssl.t | 177 ++++++++ t/pt-duplicate-key-checker/ssl.t | 100 +++++ t/pt-find/ssl.t | 75 ++++ t/pt-fk-error-logger/ssl.t | 102 +++++ t/pt-heartbeat/ssl.t | 98 +++++ t/pt-index-usage/ssl.t | 103 +++++ t/pt-kill/ssl.t | 98 +++++ t/pt-mysql-summary/ssl.t | 81 ++++ t/pt-online-schema-change/ssl.t | 108 +++++ t/pt-replica-restart/ssl.t | 102 +++++ t/pt-show-grants/ssl.t | 95 +++++ t/pt-stalk/ssl.t | 121 ++++++ t/pt-table-checksum/ssl.t | 107 +++++ t/pt-table-sync/ssl.t | 89 ++++ t/pt-table-usage/ssl.t | 88 ++++ t/pt-upgrade/ssl.t | 105 +++++ t/pt-variable-advisor/ssl.t | 87 ++++ t/pt-visual-explain/samples/query.sql | 1 + t/pt-visual-explain/ssl.t | 88 ++++ util/update-modules | 6 +- 27 files changed, 2732 insertions(+), 347 deletions(-) create mode 100644 t/pt-archiver/ssl.t create mode 100644 t/pt-config-diff/ssl.t create mode 100644 t/pt-deadlock-logger/ssl.t create mode 100644 t/pt-duplicate-key-checker/ssl.t create mode 100644 t/pt-find/ssl.t create mode 100644 t/pt-fk-error-logger/ssl.t create mode 100644 t/pt-heartbeat/ssl.t create mode 100644 t/pt-index-usage/ssl.t create mode 100644 t/pt-kill/ssl.t create mode 100644 t/pt-mysql-summary/ssl.t create mode 100644 t/pt-online-schema-change/ssl.t create mode 100644 t/pt-replica-restart/ssl.t create mode 100644 t/pt-show-grants/ssl.t create mode 100644 t/pt-stalk/ssl.t create mode 100644 t/pt-table-checksum/ssl.t create mode 100644 t/pt-table-sync/ssl.t create mode 100644 t/pt-table-usage/ssl.t create mode 100644 t/pt-upgrade/ssl.t create mode 100644 t/pt-variable-advisor/ssl.t create mode 100644 t/pt-visual-explain/samples/query.sql create mode 100644 t/pt-visual-explain/ssl.t diff --git a/bin/pt-duplicate-key-checker b/bin/pt-duplicate-key-checker index a1cdef407..4e4a4fc9f 100755 --- a/bin/pt-duplicate-key-checker +++ b/bin/pt-duplicate-key-checker @@ -5736,12 +5736,6 @@ dsn: mysql_ssl; copy: yes Create SSL connection -=item * s - -dsn: mysql_ssl; copy: yes - -Create SSL connection - =back =head1 ENVIRONMENT diff --git a/bin/pt-find b/bin/pt-find index d2d71d762..5a491c6c2 100755 --- a/bin/pt-find +++ b/bin/pt-find @@ -4605,6 +4605,12 @@ short form: -h; type: string Connect to host. +=item --mysql_ssl + +short form: -s; type: int + +Create SSL MySQL connection. + =item --or Combine tests with OR, not AND. diff --git a/bin/pt-index-usage b/bin/pt-index-usage index e852e3d61..7df4b2833 100755 --- a/bin/pt-index-usage +++ b/bin/pt-index-usage @@ -7308,6 +7308,12 @@ type: string Ignore tables whose names match the Perl regex. +=item --mysql_ssl + +short form: -s; type: int + +Create SSL MySQL connection. + =item --password short form: -p; type: string diff --git a/bin/pt-table-usage b/bin/pt-table-usage index 08ae7bccb..a9848da84 100755 --- a/bin/pt-table-usage +++ b/bin/pt-table-usage @@ -42,10 +42,10 @@ BEGIN { # ########################################################################### # DSNParser package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/DSNParser.pm # t/lib/DSNParser.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package DSNParser; @@ -217,7 +217,7 @@ sub get_cxn_params { $dsn = 'DBI:mysql:' . ( $info->{D} || '' ) . ';' . join(';', map { "$opts{$_}->{dsn}=$info->{$_}" } grep { defined $info->{$_} } - qw(F h P S A)) + qw(F h P S A s)) . ';mysql_read_default_group=client' . ($info->{L} ? ';mysql_local_infile=1' : ''); } @@ -297,22 +297,49 @@ sub get_dbh { if ( $cxn_string =~ m/mysql/i ) { my $sql; - if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) { + my ($charset) = $cxn_string =~ m/charset=([\w]+)/; + if ( $charset ) { $sql = qq{/*!40101 SET NAMES "$charset"*/}; PTDEBUG && _d($dbh, $sql); eval { $dbh->do($sql) }; if ( $EVAL_ERROR ) { die "Error setting NAMES to $charset: $EVAL_ERROR"; } - PTDEBUG && _d('Enabling charset for STDOUT'); - if ( $charset eq 'utf8' ) { - binmode(STDOUT, ':utf8') - or die "Can't binmode(STDOUT, ':utf8'): $OS_ERROR"; + } + else { + my ($mysql_version) = eval { $dbh->selectrow_array('SELECT VERSION()') }; + if ( $EVAL_ERROR ) { + die "Cannot get MySQL version: $EVAL_ERROR"; } - else { - binmode(STDOUT) or die "Can't binmode(STDOUT): $OS_ERROR"; + my (undef, $character_set_server) = eval { $dbh->selectrow_array("SHOW VARIABLES LIKE 'character_set_server'") }; + if ( $EVAL_ERROR ) { + die "Cannot get MySQL var character_set_server: $EVAL_ERROR"; + } + + if ( $mysql_version =~ m/^(\d+)\.(\d)\.(\d+).*/ ) { + if ( $1 >= 8 && $character_set_server =~ m/^utf8/ ) { + $dbh->{mysql_enable_utf8} = 1; + $charset = $character_set_server; + my $msg = "MySQL version $mysql_version >= 8 and character_set_server = $character_set_server\n". + "Setting: SET NAMES $character_set_server"; + PTDEBUG && _d($msg); + eval { $dbh->do("SET NAMES '$character_set_server'") }; + if ( $EVAL_ERROR ) { + die "Cannot SET NAMES $character_set_server: $EVAL_ERROR"; + } + } } } + PTDEBUG && _d('Enabling charset for STDOUT'); + if ( $charset && $charset =~ m/^utf8/ ) { + binmode(STDOUT, ':utf8') + or die "Can't binmode(STDOUT, ':utf8'): $OS_ERROR"; + binmode(STDERR, ':utf8') + or die "Can't binmode(STDERR, ':utf8'): $OS_ERROR"; + } + else { + binmode(STDOUT) or die "Can't binmode(STDOUT): $OS_ERROR"; + } if ( my $vars = $self->prop('set-vars') ) { $self->set_vars($dbh, $vars); @@ -337,28 +364,6 @@ sub get_dbh { . ": $EVAL_ERROR"; } } - my ($mysql_version) = eval { $dbh->selectrow_array('SELECT VERSION()') }; - if ($EVAL_ERROR) { - die "Cannot get MySQL version: $EVAL_ERROR"; - } - - my (undef, $character_set_server) = eval { $dbh->selectrow_array("SHOW VARIABLES LIKE 'character_set_server'") }; - if ($EVAL_ERROR) { - die "Cannot get MySQL var character_set_server: $EVAL_ERROR"; - } - - if ($mysql_version =~ m/^(\d+)\.(\d)\.(\d+).*/) { - if ($1 >= 8 && $character_set_server =~ m/^utf8/) { - $dbh->{mysql_enable_utf8} = 1; - my $msg = "MySQL version $mysql_version >= 8 and character_set_server = $character_set_server\n". - "Setting: SET NAMES $character_set_server"; - PTDEBUG && _d($msg); - eval { $dbh->do("SET NAMES 'utf8mb4'") }; - if ($EVAL_ERROR) { - die "Cannot SET NAMES $character_set_server: $EVAL_ERROR"; - } - } - } PTDEBUG && _d('DBH info: ', $dbh, @@ -487,10 +492,10 @@ sub _d { # ########################################################################### # Lmo::Utils package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Lmo/Utils.pm # t/lib/Lmo/Utils.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Lmo::Utils; @@ -547,10 +552,10 @@ sub _unimport_coderefs { # ########################################################################### # Lmo::Meta package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Lmo/Meta.pm # t/lib/Lmo/Meta.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Lmo::Meta; @@ -604,10 +609,10 @@ sub attributes_for_new { # ########################################################################### # Lmo::Object package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Lmo/Object.pm # t/lib/Lmo/Object.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Lmo::Object; @@ -2248,10 +2253,10 @@ if ( PTDEBUG ) { # ########################################################################### # SlowLogParser package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/SlowLogParser.pm # t/lib/SlowLogParser.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package SlowLogParser; @@ -2476,10 +2481,10 @@ sub _d { # ########################################################################### # Transformers package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Transformers.pm # t/lib/Transformers.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Transformers; @@ -2702,7 +2707,7 @@ sub any_unix_timestamp { sub make_checksum { my ( $val ) = @_; - my $checksum = uc substr(md5_hex($val), -16); + my $checksum = uc md5_hex($val); PTDEBUG && _d($checksum, 'checksum for', $val); return $checksum; } @@ -3238,10 +3243,10 @@ sub _d { # ########################################################################### # QueryParser package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/QueryParser.pm # t/lib/QueryParser.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package QueryParser; @@ -3297,7 +3302,7 @@ sub get_tables { return ($tbl); } - $query =~ s/ (?:LOW_PRIORITY|IGNORE|STRAIGHT_JOIN)//ig; + $query =~ s/(?:LOW_PRIORITY|IGNORE|STRAIGHT_JOIN|DELAYED)\s+/ /ig; if ( $query =~ s/^\s*LOCK TABLES\s+//i ) { PTDEBUG && _d('Special table type: LOCK TABLES'); @@ -3306,9 +3311,18 @@ sub get_tables { $query = "FROM $query"; } - $query =~ s/\\["']//g; # quoted strings - $query =~ s/".*?"/?/sg; # quoted strings - $query =~ s/'.*?'/?/sg; # quoted strings + $query =~ s/\\["']//g; # quoted strings + $query =~ s/".*?"/?/sg; # quoted strings + $query =~ s/'.*?'/?/sg; # quoted strings + + if ( $query =~ m/\A\s*(?:INSERT|REPLACE)(?!\s+INTO)/i ) { + $query =~ s/\A\s*((?:INSERT|REPLACE))\s+/$1 INTO /i; + } + + if ( $query =~ m/\A\s*LOAD DATA/i ) { + my ($tbl) = $query =~ m/INTO TABLE\s+(\S+)/i; + return $tbl; + } my @tables; foreach my $tbls ( $query =~ m/$tbl_regex/gio ) { @@ -3834,10 +3848,10 @@ no Lmo; # ########################################################################### # FileIterator package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/FileIterator.pm # t/lib/FileIterator.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package FileIterator; @@ -4919,10 +4933,10 @@ sub _d { # ########################################################################### # TableUsage package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/TableUsage.pm # t/lib/TableUsage.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package TableUsage; @@ -4936,6 +4950,7 @@ use Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Sortkeys = 1; $Data::Dumper::Quotekeys = 0; +use VersionParser; use constant PTDEBUG => $ENV{PTDEBUG} || 0; @@ -5897,10 +5912,10 @@ sub _d { # ########################################################################### # Daemon package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Daemon.pm # t/lib/Daemon.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Daemon; @@ -5908,157 +5923,225 @@ package Daemon; use strict; use warnings FATAL => 'all'; use English qw(-no_match_vars); + use constant PTDEBUG => $ENV{PTDEBUG} || 0; use POSIX qw(setsid); +use Fcntl qw(:DEFAULT); sub new { - my ( $class, %args ) = @_; - foreach my $arg ( qw(o) ) { - die "I need a $arg argument" unless $args{$arg}; - } - my $o = $args{o}; + my ($class, %args) = @_; my $self = { - o => $o, - log_file => $o->has('log') ? $o->get('log') : undef, - PID_file => $o->has('pid') ? $o->get('pid') : undef, + log_file => $args{log_file}, + pid_file => $args{pid_file}, + daemonize => $args{daemonize}, + force_log_file => $args{force_log_file}, + parent_exit => $args{parent_exit}, + pid_file_owner => 0, + utf8 => $args{utf8} // 0, }; - - check_PID_file(undef, $self->{PID_file}); - - PTDEBUG && _d('Daemonized child will log to', $self->{log_file}); return bless $self, $class; } -sub daemonize { - my ( $self ) = @_; - - PTDEBUG && _d('About to fork and daemonize'); - defined (my $pid = fork()) or die "Cannot fork: $OS_ERROR"; - if ( $pid ) { - PTDEBUG && _d('Parent PID', $PID, 'exiting after forking child PID',$pid); - exit; - } - - PTDEBUG && _d('Daemonizing child PID', $PID); - $self->{PID_owner} = $PID; - $self->{child} = 1; +sub run { + my ($self) = @_; - POSIX::setsid() or die "Cannot start a new session: $OS_ERROR"; - chdir '/' or die "Cannot chdir to /: $OS_ERROR"; + my $daemonize = $self->{daemonize}; + my $pid_file = $self->{pid_file}; + my $log_file = $self->{log_file}; + my $force_log_file = $self->{force_log_file}; + my $parent_exit = $self->{parent_exit}; + my $utf8 = $self->{utf8}; - $self->_make_PID_file(); + PTDEBUG && _d('Starting daemon'); - $OUTPUT_AUTOFLUSH = 1; + if ( $pid_file ) { + eval { + $self->_make_pid_file( + pid => $PID, # parent's pid + pid_file => $pid_file, + ); + }; + die "$EVAL_ERROR\n" if $EVAL_ERROR; + if ( !$daemonize ) { + $self->{pid_file_owner} = $PID; # parent's pid + } + } - PTDEBUG && _d('Redirecting STDIN to /dev/null'); - close STDIN; - open STDIN, '/dev/null' - or die "Cannot reopen STDIN to /dev/null: $OS_ERROR"; + if ( $daemonize ) { + defined (my $child_pid = fork()) or die "Cannot fork: $OS_ERROR"; + if ( $child_pid ) { + PTDEBUG && _d('Forked child', $child_pid); + $parent_exit->($child_pid) if $parent_exit; + exit 0; + } - if ( $self->{log_file} ) { - PTDEBUG && _d('Redirecting STDOUT and STDERR to', $self->{log_file}); - close STDOUT; - open STDOUT, '>>', $self->{log_file} - or die "Cannot open log file $self->{log_file}: $OS_ERROR"; + POSIX::setsid() or die "Cannot start a new session: $OS_ERROR"; + chdir '/' or die "Cannot chdir to /: $OS_ERROR"; - close STDERR; - open STDERR, ">&STDOUT" - or die "Cannot dupe STDERR to STDOUT: $OS_ERROR"; + if ( $pid_file ) { + $self->_update_pid_file( + pid => $PID, # child's pid + pid_file => $pid_file, + ); + $self->{pid_file_owner} = $PID; + } } - else { - if ( -t STDOUT ) { - PTDEBUG && _d('No log file and STDOUT is a terminal;', - 'redirecting to /dev/null'); + + if ( $daemonize || $force_log_file ) { + PTDEBUG && _d('Redirecting STDIN to /dev/null'); + close STDIN; + open STDIN, '/dev/null' + or die "Cannot reopen STDIN to /dev/null: $OS_ERROR"; + if ( $log_file ) { + PTDEBUG && _d('Redirecting STDOUT and STDERR to', $log_file); close STDOUT; - open STDOUT, '>', '/dev/null' - or die "Cannot reopen STDOUT to /dev/null: $OS_ERROR"; - } - if ( -t STDERR ) { - PTDEBUG && _d('No log file and STDERR is a terminal;', - 'redirecting to /dev/null'); + open STDOUT, '>>', $log_file + or die "Cannot open log file $log_file: $OS_ERROR"; + if ( $utf8 ) { + binmode(STDOUT, ':utf8') + or die "Can't binmode(STDOUT, ':utf8'): $OS_ERROR"; + } + + close STDERR; - open STDERR, '>', '/dev/null' - or die "Cannot reopen STDERR to /dev/null: $OS_ERROR"; + open STDERR, ">&STDOUT" + or die "Cannot dupe STDERR to STDOUT: $OS_ERROR"; + if ( $utf8 ) { + binmode(STDERR, ':utf8') + or die "Can't binmode(STDERR, ':utf8'): $OS_ERROR"; + } } + else { + if ( -t STDOUT ) { + PTDEBUG && _d('No log file and STDOUT is a terminal;', + 'redirecting to /dev/null'); + close STDOUT; + open STDOUT, '>', '/dev/null' + or die "Cannot reopen STDOUT to /dev/null: $OS_ERROR"; + } + if ( -t STDERR ) { + PTDEBUG && _d('No log file and STDERR is a terminal;', + 'redirecting to /dev/null'); + close STDERR; + open STDERR, '>', '/dev/null' + or die "Cannot reopen STDERR to /dev/null: $OS_ERROR"; + } + } + + $OUTPUT_AUTOFLUSH = 1; } + PTDEBUG && _d('Daemon running'); return; } -sub check_PID_file { - my ( $self, $file ) = @_; - my $PID_file = $self ? $self->{PID_file} : $file; - PTDEBUG && _d('Checking PID file', $PID_file); - if ( $PID_file && -f $PID_file ) { - my $pid; - eval { - chomp($pid = (slurp_file($PID_file) || '')); - }; - if ( $EVAL_ERROR ) { - die "The PID file $PID_file already exists but it cannot be read: " - . $EVAL_ERROR; - } - PTDEBUG && _d('PID file exists; it contains PID', $pid); - if ( $pid ) { - my $pid_is_alive = kill 0, $pid; - if ( $pid_is_alive ) { - die "The PID file $PID_file already exists " - . " and the PID that it contains, $pid, is running"; - } - else { - warn "Overwriting PID file $PID_file because the PID that it " - . "contains, $pid, is not running"; +sub _make_pid_file { + my ($self, %args) = @_; + my @required_args = qw(pid pid_file); + foreach my $arg ( @required_args ) { + die "I need a $arg argument" unless $args{$arg}; + }; + my $pid = $args{pid}; + my $pid_file = $args{pid_file}; + + eval { + sysopen(PID_FH, $pid_file, O_RDWR|O_CREAT|O_EXCL) or die $OS_ERROR; + print PID_FH $PID, "\n"; + close PID_FH; + }; + if ( my $e = $EVAL_ERROR ) { + if ( $e =~ m/file exists/i ) { + my $old_pid = $self->_check_pid_file( + pid_file => $pid_file, + pid => $PID, + ); + if ( $old_pid ) { + warn "Overwriting PID file $pid_file because PID $old_pid " + . "is not running.\n"; } + $self->_update_pid_file( + pid => $PID, + pid_file => $pid_file + ); } else { - die "The PID file $PID_file already exists but it does not " - . "contain a PID"; + die "Error creating PID file $pid_file: $e\n"; } } - else { - PTDEBUG && _d('No PID file'); - } - return; -} -sub make_PID_file { - my ( $self ) = @_; - if ( exists $self->{child} ) { - die "Do not call Daemon::make_PID_file() for daemonized scripts"; - } - $self->_make_PID_file(); - $self->{PID_owner} = $PID; return; } -sub _make_PID_file { - my ( $self ) = @_; +sub _check_pid_file { + my ($self, %args) = @_; + my @required_args = qw(pid_file pid); + foreach my $arg ( @required_args ) { + die "I need a $arg argument" unless $args{$arg}; + }; + my $pid_file = $args{pid_file}; + my $pid = $args{pid}; + + PTDEBUG && _d('Checking if PID in', $pid_file, 'is running'); - my $PID_file = $self->{PID_file}; - if ( !$PID_file ) { - PTDEBUG && _d('No PID file to create'); + if ( ! -f $pid_file ) { + PTDEBUG && _d('PID file', $pid_file, 'does not exist'); return; } - $self->check_PID_file(); + open my $fh, '<', $pid_file + or die "Error opening $pid_file: $OS_ERROR"; + my $existing_pid = do { local $/; <$fh> }; + chomp($existing_pid) if $existing_pid; + close $fh + or die "Error closing $pid_file: $OS_ERROR"; + + if ( $existing_pid ) { + if ( $existing_pid == $pid ) { + warn "The current PID $pid already holds the PID file $pid_file\n"; + return; + } + else { + PTDEBUG && _d('Checking if PID', $existing_pid, 'is running'); + my $pid_is_alive = kill 0, $existing_pid; + if ( $pid_is_alive ) { + die "PID file $pid_file exists and PID $existing_pid is running\n"; + } + } + } + else { + die "PID file $pid_file exists but it is empty. Remove the file " + . "if the process is no longer running.\n"; + } - open my $PID_FH, '>', $PID_file - or die "Cannot open PID file $PID_file: $OS_ERROR"; - print $PID_FH $PID - or die "Cannot print to PID file $PID_file: $OS_ERROR"; - close $PID_FH - or die "Cannot close PID file $PID_file: $OS_ERROR"; + return $existing_pid; +} + +sub _update_pid_file { + my ($self, %args) = @_; + my @required_args = qw(pid pid_file); + foreach my $arg ( @required_args ) { + die "I need a $arg argument" unless $args{$arg}; + }; + my $pid = $args{pid}; + my $pid_file = $args{pid_file}; + + open my $fh, '>', $pid_file + or die "Cannot open $pid_file: $OS_ERROR"; + print { $fh } $pid, "\n" + or die "Cannot print to $pid_file: $OS_ERROR"; + close $fh + or warn "Cannot close $pid_file: $OS_ERROR"; - PTDEBUG && _d('Created PID file:', $self->{PID_file}); return; } -sub _remove_PID_file { - my ( $self ) = @_; - if ( $self->{PID_file} && -f $self->{PID_file} ) { - unlink $self->{PID_file} - or warn "Cannot remove PID file $self->{PID_file}: $OS_ERROR"; +sub remove_pid_file { + my ($self, $pid_file) = @_; + $pid_file ||= $self->{pid_file}; + if ( $pid_file && -f $pid_file ) { + unlink $self->{pid_file} + or warn "Cannot remove PID file $pid_file: $OS_ERROR"; PTDEBUG && _d('Removed PID file'); } else { @@ -6068,20 +6151,15 @@ sub _remove_PID_file { } sub DESTROY { - my ( $self ) = @_; + my ($self) = @_; - $self->_remove_PID_file() if ($self->{PID_owner} || 0) == $PID; + if ( $self->{pid_file_owner} == $PID ) { + $self->remove_pid_file(); + } return; } -sub slurp_file { - my ($file) = @_; - return unless $file; - open my $fh, "<", $file or die "Cannot open $file: $OS_ERROR"; - return do { local $/; <$fh> }; -} - sub _d { my ($package, undef, $line) = caller 0; @_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; } @@ -6099,10 +6177,10 @@ sub _d { # ########################################################################### # Runtime package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Runtime.pm # t/lib/Runtime.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Runtime; @@ -6232,10 +6310,10 @@ sub _d { # ########################################################################### # Progress package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Progress.pm # t/lib/Progress.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Progress; @@ -6379,10 +6457,10 @@ sub _d { # ########################################################################### # Pipeline package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Pipeline.pm # t/lib/Pipeline.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Pipeline; @@ -6563,10 +6641,10 @@ sub _d { # ########################################################################### # Quoter package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Quoter.pm # t/lib/Quoter.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package Quoter; @@ -6602,6 +6680,8 @@ sub quote_val { return $val if $val =~ m/^0x[0-9a-fA-F]+$/ # quote hex data && !$args{is_char}; # unless is_char is true + return $val if $args{is_float}; + $val =~ s/(['\\])/\\$1/g; return "'$val'"; } @@ -6714,10 +6794,10 @@ sub _d { # ########################################################################### # TableParser package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/TableParser.pm # t/lib/TableParser.t -# See https://launchpad.net/percona-toolkit for more information. +# See https://github.com/percona/percona-toolkit for more information. # ########################################################################### { package TableParser; @@ -6777,13 +6857,15 @@ sub get_create_table { eval { $href = $dbh->selectrow_hashref($show_sql); }; if ( my $e = $EVAL_ERROR ) { PTDEBUG && _d($old_sql_mode); - $dbh->do($old_sql_mode); + eval { $dbh->do($old_sql_mode); }; + PTDEBUG && $EVAL_ERROR && _d($EVAL_ERROR); die $e; } PTDEBUG && _d($old_sql_mode); - $dbh->do($old_sql_mode); + eval { $dbh->do($old_sql_mode); }; + PTDEBUG && $EVAL_ERROR && _d($EVAL_ERROR); my ($key) = grep { m/create (?:table|view)/i } keys %$href; if ( !$key ) { @@ -6812,7 +6894,7 @@ sub parse { my $engine = $self->get_engine($ddl); - my @defs = $ddl =~ m/^(\s+`.*?),?$/gm; + my @defs = $ddl =~ m/(?:(?<=,\n)|(?<=\(\n))(\s+`(?:.|\n)+?`.+?),?\n/g; my @cols = map { $_ =~ m/`([^`]+)`/ } @defs; PTDEBUG && _d('Table cols:', join(', ', map { "`$_`" } @cols)); @@ -6952,11 +7034,29 @@ sub check_table { } my ($dbh, $db, $tbl) = @args{@required_args}; my $q = $self->{Quoter} || 'Quoter'; + $self->{check_table_error} = undef; + + + my $lctn_sql = 'SELECT @@lower_case_table_names'; + PTDEBUG && _d($lctn_sql); + + my $lower_case_table_names; + eval { ($lower_case_table_names) = $dbh->selectrow_array($lctn_sql); }; + if ( $EVAL_ERROR ) { + PTDEBUG && _d($EVAL_ERROR); + $self->{check_table_error} = $EVAL_ERROR; + return 0; + } + + PTDEBUG && _d("lower_case_table_names=$lower_case_table_names"); + if ($lower_case_table_names > 0) { + PTDEBUG && _d("MySQL uses case-insensitive lookup, converting '$tbl' to lowercase"); + $tbl = lc $tbl; + } + my $db_tbl = $q->quote($db, $tbl); PTDEBUG && _d('Checking', $db_tbl); - $self->{check_table_error} = undef; - my $sql = "SHOW TABLES FROM " . $q->quote($db) . ' LIKE ' . $q->literal_like($tbl); PTDEBUG && _d($sql); @@ -6993,8 +7093,7 @@ sub get_keys { my $clustered_key = undef; KEY: - foreach my $key ( $ddl =~ m/^ ((?:[A-Z]+ )?KEY .*)$/gm ) { - + foreach my $key ( $ddl =~ m/^ ((?:[A-Z]+ )?KEY [\s\S]*?\),?.*)$/gm ) { next KEY if $key =~ m/FOREIGN/; my $key_ddl = $key; @@ -7004,7 +7103,7 @@ sub get_keys { $key =~ s/USING HASH/USING BTREE/; } - my ( $type, $cols ) = $key =~ m/(?:USING (\w+))? \((.+)\)/; + my ( $type, $cols ) = $key =~ m/(?:USING (\w+))? \(([\s\S]+)\)/; my ( $special ) = $key =~ m/(FULLTEXT|SPATIAL)/; $type = $type || $special || 'BTREE'; my ($name) = $key =~ m/(PRIMARY|`[^`]*`)/; @@ -7032,7 +7131,7 @@ sub get_keys { ddl => $key_ddl, }; - if ( ($engine || '') =~ m/InnoDB/i && !$clustered_key ) { + if ( ($engine || '') =~ m/(InnoDB)|(TokuDB)|(RocksDB)/i && !$clustered_key ) { my $this_key = $keys->{$name}; if ( $this_key->{name} eq 'PRIMARY' ) { $clustered_key = 'PRIMARY'; diff --git a/bin/pt-visual-explain b/bin/pt-visual-explain index 6652f34d6..dd4369dee 100755 --- a/bin/pt-visual-explain +++ b/bin/pt-visual-explain @@ -18,6 +18,7 @@ BEGIN { OptionParser DSNParser Daemon + VersionParser )); } @@ -1814,7 +1815,7 @@ if ( PTDEBUG ) { # ########################################################################### # DSNParser package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/DSNParser.pm # t/lib/DSNParser.t # See https://github.com/percona/percona-toolkit for more information. @@ -1989,7 +1990,7 @@ sub get_cxn_params { $dsn = 'DBI:mysql:' . ( $info->{D} || '' ) . ';' . join(';', map { "$opts{$_}->{dsn}=$info->{$_}" } grep { defined $info->{$_} } - qw(F h P S A)) + qw(F h P S A s)) . ';mysql_read_default_group=client' . ($info->{L} ? ';mysql_local_infile=1' : ''); } @@ -2069,22 +2070,49 @@ sub get_dbh { if ( $cxn_string =~ m/mysql/i ) { my $sql; - if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) { + my ($charset) = $cxn_string =~ m/charset=([\w]+)/; + if ( $charset ) { $sql = qq{/*!40101 SET NAMES "$charset"*/}; PTDEBUG && _d($dbh, $sql); eval { $dbh->do($sql) }; if ( $EVAL_ERROR ) { die "Error setting NAMES to $charset: $EVAL_ERROR"; } - PTDEBUG && _d('Enabling charset for STDOUT'); - if ( $charset eq 'utf8' ) { - binmode(STDOUT, ':utf8') - or die "Can't binmode(STDOUT, ':utf8'): $OS_ERROR"; + } + else { + my ($mysql_version) = eval { $dbh->selectrow_array('SELECT VERSION()') }; + if ( $EVAL_ERROR ) { + die "Cannot get MySQL version: $EVAL_ERROR"; } - else { - binmode(STDOUT) or die "Can't binmode(STDOUT): $OS_ERROR"; + my (undef, $character_set_server) = eval { $dbh->selectrow_array("SHOW VARIABLES LIKE 'character_set_server'") }; + if ( $EVAL_ERROR ) { + die "Cannot get MySQL var character_set_server: $EVAL_ERROR"; + } + + if ( $mysql_version =~ m/^(\d+)\.(\d)\.(\d+).*/ ) { + if ( $1 >= 8 && $character_set_server =~ m/^utf8/ ) { + $dbh->{mysql_enable_utf8} = 1; + $charset = $character_set_server; + my $msg = "MySQL version $mysql_version >= 8 and character_set_server = $character_set_server\n". + "Setting: SET NAMES $character_set_server"; + PTDEBUG && _d($msg); + eval { $dbh->do("SET NAMES '$character_set_server'") }; + if ( $EVAL_ERROR ) { + die "Cannot SET NAMES $character_set_server: $EVAL_ERROR"; + } + } } } + PTDEBUG && _d('Enabling charset for STDOUT'); + if ( $charset && $charset =~ m/^utf8/ ) { + binmode(STDOUT, ':utf8') + or die "Can't binmode(STDOUT, ':utf8'): $OS_ERROR"; + binmode(STDERR, ':utf8') + or die "Can't binmode(STDERR, ':utf8'): $OS_ERROR"; + } + else { + binmode(STDOUT) or die "Can't binmode(STDOUT): $OS_ERROR"; + } if ( my $vars = $self->prop('set-vars') ) { $self->set_vars($dbh, $vars); @@ -2109,28 +2137,6 @@ sub get_dbh { . ": $EVAL_ERROR"; } } - my ($mysql_version) = eval { $dbh->selectrow_array('SELECT VERSION()') }; - if ($EVAL_ERROR) { - die "Cannot get MySQL version: $EVAL_ERROR"; - } - - my (undef, $character_set_server) = eval { $dbh->selectrow_array("SHOW VARIABLES LIKE 'character_set_server'") }; - if ($EVAL_ERROR) { - die "Cannot get MySQL var character_set_server: $EVAL_ERROR"; - } - - if ($mysql_version =~ m/^(\d+)\.(\d)\.(\d+).*/) { - if ($1 >= 8 && $character_set_server =~ m/^utf8/) { - $dbh->{mysql_enable_utf8} = 1; - my $msg = "MySQL version $mysql_version >= 8 and character_set_server = $character_set_server\n". - "Setting: SET NAMES $character_set_server"; - PTDEBUG && _d($msg); - eval { $dbh->do("SET NAMES 'utf8mb4'") }; - if ($EVAL_ERROR) { - die "Cannot SET NAMES $character_set_server: $EVAL_ERROR"; - } - } - } PTDEBUG && _d('DBH info: ', $dbh, @@ -2259,7 +2265,7 @@ sub _d { # ########################################################################### # Daemon package # This package is a copy without comments from the original. The original -# with comments and its test file can be found in the Bazaar repository at, +# with comments and its test file can be found in the GitHub repository at, # lib/Daemon.pm # t/lib/Daemon.t # See https://github.com/percona/percona-toolkit for more information. @@ -2270,157 +2276,225 @@ package Daemon; use strict; use warnings FATAL => 'all'; use English qw(-no_match_vars); + use constant PTDEBUG => $ENV{PTDEBUG} || 0; use POSIX qw(setsid); +use Fcntl qw(:DEFAULT); sub new { - my ( $class, %args ) = @_; - foreach my $arg ( qw(o) ) { - die "I need a $arg argument" unless $args{$arg}; - } - my $o = $args{o}; + my ($class, %args) = @_; my $self = { - o => $o, - log_file => $o->has('log') ? $o->get('log') : undef, - PID_file => $o->has('pid') ? $o->get('pid') : undef, + log_file => $args{log_file}, + pid_file => $args{pid_file}, + daemonize => $args{daemonize}, + force_log_file => $args{force_log_file}, + parent_exit => $args{parent_exit}, + pid_file_owner => 0, + utf8 => $args{utf8} // 0, }; - - check_PID_file(undef, $self->{PID_file}); - - PTDEBUG && _d('Daemonized child will log to', $self->{log_file}); return bless $self, $class; } -sub daemonize { - my ( $self ) = @_; +sub run { + my ($self) = @_; - PTDEBUG && _d('About to fork and daemonize'); - defined (my $pid = fork()) or die "Cannot fork: $OS_ERROR"; - if ( $pid ) { - PTDEBUG && _d('Parent PID', $PID, 'exiting after forking child PID',$pid); - exit; - } - - PTDEBUG && _d('Daemonizing child PID', $PID); - $self->{PID_owner} = $PID; - $self->{child} = 1; - - POSIX::setsid() or die "Cannot start a new session: $OS_ERROR"; - chdir '/' or die "Cannot chdir to /: $OS_ERROR"; + my $daemonize = $self->{daemonize}; + my $pid_file = $self->{pid_file}; + my $log_file = $self->{log_file}; + my $force_log_file = $self->{force_log_file}; + my $parent_exit = $self->{parent_exit}; + my $utf8 = $self->{utf8}; - $self->_make_PID_file(); + PTDEBUG && _d('Starting daemon'); - $OUTPUT_AUTOFLUSH = 1; + if ( $pid_file ) { + eval { + $self->_make_pid_file( + pid => $PID, # parent's pid + pid_file => $pid_file, + ); + }; + die "$EVAL_ERROR\n" if $EVAL_ERROR; + if ( !$daemonize ) { + $self->{pid_file_owner} = $PID; # parent's pid + } + } - PTDEBUG && _d('Redirecting STDIN to /dev/null'); - close STDIN; - open STDIN, '/dev/null' - or die "Cannot reopen STDIN to /dev/null: $OS_ERROR"; + if ( $daemonize ) { + defined (my $child_pid = fork()) or die "Cannot fork: $OS_ERROR"; + if ( $child_pid ) { + PTDEBUG && _d('Forked child', $child_pid); + $parent_exit->($child_pid) if $parent_exit; + exit 0; + } - if ( $self->{log_file} ) { - PTDEBUG && _d('Redirecting STDOUT and STDERR to', $self->{log_file}); - close STDOUT; - open STDOUT, '>>', $self->{log_file} - or die "Cannot open log file $self->{log_file}: $OS_ERROR"; + POSIX::setsid() or die "Cannot start a new session: $OS_ERROR"; + chdir '/' or die "Cannot chdir to /: $OS_ERROR"; - close STDERR; - open STDERR, ">&STDOUT" - or die "Cannot dupe STDERR to STDOUT: $OS_ERROR"; + if ( $pid_file ) { + $self->_update_pid_file( + pid => $PID, # child's pid + pid_file => $pid_file, + ); + $self->{pid_file_owner} = $PID; + } } - else { - if ( -t STDOUT ) { - PTDEBUG && _d('No log file and STDOUT is a terminal;', - 'redirecting to /dev/null'); + + if ( $daemonize || $force_log_file ) { + PTDEBUG && _d('Redirecting STDIN to /dev/null'); + close STDIN; + open STDIN, '/dev/null' + or die "Cannot reopen STDIN to /dev/null: $OS_ERROR"; + if ( $log_file ) { + PTDEBUG && _d('Redirecting STDOUT and STDERR to', $log_file); close STDOUT; - open STDOUT, '>', '/dev/null' - or die "Cannot reopen STDOUT to /dev/null: $OS_ERROR"; - } - if ( -t STDERR ) { - PTDEBUG && _d('No log file and STDERR is a terminal;', - 'redirecting to /dev/null'); + open STDOUT, '>>', $log_file + or die "Cannot open log file $log_file: $OS_ERROR"; + if ( $utf8 ) { + binmode(STDOUT, ':utf8') + or die "Can't binmode(STDOUT, ':utf8'): $OS_ERROR"; + } + + close STDERR; - open STDERR, '>', '/dev/null' - or die "Cannot reopen STDERR to /dev/null: $OS_ERROR"; + open STDERR, ">&STDOUT" + or die "Cannot dupe STDERR to STDOUT: $OS_ERROR"; + if ( $utf8 ) { + binmode(STDERR, ':utf8') + or die "Can't binmode(STDERR, ':utf8'): $OS_ERROR"; + } } + else { + if ( -t STDOUT ) { + PTDEBUG && _d('No log file and STDOUT is a terminal;', + 'redirecting to /dev/null'); + close STDOUT; + open STDOUT, '>', '/dev/null' + or die "Cannot reopen STDOUT to /dev/null: $OS_ERROR"; + } + if ( -t STDERR ) { + PTDEBUG && _d('No log file and STDERR is a terminal;', + 'redirecting to /dev/null'); + close STDERR; + open STDERR, '>', '/dev/null' + or die "Cannot reopen STDERR to /dev/null: $OS_ERROR"; + } + } + + $OUTPUT_AUTOFLUSH = 1; } + PTDEBUG && _d('Daemon running'); return; } -sub check_PID_file { - my ( $self, $file ) = @_; - my $PID_file = $self ? $self->{PID_file} : $file; - PTDEBUG && _d('Checking PID file', $PID_file); - if ( $PID_file && -f $PID_file ) { - my $pid; - eval { - chomp($pid = (slurp_file($PID_file) || '')); - }; - if ( $EVAL_ERROR ) { - die "The PID file $PID_file already exists but it cannot be read: " - . $EVAL_ERROR; - } - PTDEBUG && _d('PID file exists; it contains PID', $pid); - if ( $pid ) { - my $pid_is_alive = kill 0, $pid; - if ( $pid_is_alive ) { - die "The PID file $PID_file already exists " - . " and the PID that it contains, $pid, is running"; - } - else { - warn "Overwriting PID file $PID_file because the PID that it " - . "contains, $pid, is not running"; +sub _make_pid_file { + my ($self, %args) = @_; + my @required_args = qw(pid pid_file); + foreach my $arg ( @required_args ) { + die "I need a $arg argument" unless $args{$arg}; + }; + my $pid = $args{pid}; + my $pid_file = $args{pid_file}; + + eval { + sysopen(PID_FH, $pid_file, O_RDWR|O_CREAT|O_EXCL) or die $OS_ERROR; + print PID_FH $PID, "\n"; + close PID_FH; + }; + if ( my $e = $EVAL_ERROR ) { + if ( $e =~ m/file exists/i ) { + my $old_pid = $self->_check_pid_file( + pid_file => $pid_file, + pid => $PID, + ); + if ( $old_pid ) { + warn "Overwriting PID file $pid_file because PID $old_pid " + . "is not running.\n"; } + $self->_update_pid_file( + pid => $PID, + pid_file => $pid_file + ); } else { - die "The PID file $PID_file already exists but it does not " - . "contain a PID"; + die "Error creating PID file $pid_file: $e\n"; } } - else { - PTDEBUG && _d('No PID file'); - } - return; -} -sub make_PID_file { - my ( $self ) = @_; - if ( exists $self->{child} ) { - die "Do not call Daemon::make_PID_file() for daemonized scripts"; - } - $self->_make_PID_file(); - $self->{PID_owner} = $PID; return; } -sub _make_PID_file { - my ( $self ) = @_; +sub _check_pid_file { + my ($self, %args) = @_; + my @required_args = qw(pid_file pid); + foreach my $arg ( @required_args ) { + die "I need a $arg argument" unless $args{$arg}; + }; + my $pid_file = $args{pid_file}; + my $pid = $args{pid}; + + PTDEBUG && _d('Checking if PID in', $pid_file, 'is running'); - my $PID_file = $self->{PID_file}; - if ( !$PID_file ) { - PTDEBUG && _d('No PID file to create'); + if ( ! -f $pid_file ) { + PTDEBUG && _d('PID file', $pid_file, 'does not exist'); return; } - $self->check_PID_file(); + open my $fh, '<', $pid_file + or die "Error opening $pid_file: $OS_ERROR"; + my $existing_pid = do { local $/; <$fh> }; + chomp($existing_pid) if $existing_pid; + close $fh + or die "Error closing $pid_file: $OS_ERROR"; - open my $PID_FH, '>', $PID_file - or die "Cannot open PID file $PID_file: $OS_ERROR"; - print $PID_FH $PID - or die "Cannot print to PID file $PID_file: $OS_ERROR"; - close $PID_FH - or die "Cannot close PID file $PID_file: $OS_ERROR"; + if ( $existing_pid ) { + if ( $existing_pid == $pid ) { + warn "The current PID $pid already holds the PID file $pid_file\n"; + return; + } + else { + PTDEBUG && _d('Checking if PID', $existing_pid, 'is running'); + my $pid_is_alive = kill 0, $existing_pid; + if ( $pid_is_alive ) { + die "PID file $pid_file exists and PID $existing_pid is running\n"; + } + } + } + else { + die "PID file $pid_file exists but it is empty. Remove the file " + . "if the process is no longer running.\n"; + } + + return $existing_pid; +} + +sub _update_pid_file { + my ($self, %args) = @_; + my @required_args = qw(pid pid_file); + foreach my $arg ( @required_args ) { + die "I need a $arg argument" unless $args{$arg}; + }; + my $pid = $args{pid}; + my $pid_file = $args{pid_file}; + + open my $fh, '>', $pid_file + or die "Cannot open $pid_file: $OS_ERROR"; + print { $fh } $pid, "\n" + or die "Cannot print to $pid_file: $OS_ERROR"; + close $fh + or warn "Cannot close $pid_file: $OS_ERROR"; - PTDEBUG && _d('Created PID file:', $self->{PID_file}); return; } -sub _remove_PID_file { - my ( $self ) = @_; - if ( $self->{PID_file} && -f $self->{PID_file} ) { - unlink $self->{PID_file} - or warn "Cannot remove PID file $self->{PID_file}: $OS_ERROR"; +sub remove_pid_file { + my ($self, $pid_file) = @_; + $pid_file ||= $self->{pid_file}; + if ( $pid_file && -f $pid_file ) { + unlink $self->{pid_file} + or warn "Cannot remove PID file $pid_file: $OS_ERROR"; PTDEBUG && _d('Removed PID file'); } else { @@ -2430,18 +2504,204 @@ sub _remove_PID_file { } sub DESTROY { - my ( $self ) = @_; + my ($self) = @_; - $self->_remove_PID_file() if ($self->{PID_owner} || 0) == $PID; + if ( $self->{pid_file_owner} == $PID ) { + $self->remove_pid_file(); + } return; } -sub slurp_file { - my ($file) = @_; - return unless $file; - open my $fh, "<", $file or die "Cannot open $file: $OS_ERROR"; - return do { local $/; <$fh> }; +sub _d { + my ($package, undef, $line) = caller 0; + @_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; } + map { defined $_ ? $_ : 'undef' } + @_; + print STDERR "# $package:$line $PID ", join(' ', @_), "\n"; +} + +1; +} +# ########################################################################### +# End Daemon package +# ########################################################################### + +# ########################################################################### +# VersionParser package +# This package is a copy without comments from the original. The original +# with comments and its test file can be found in the GitHub repository at, +# lib/VersionParser.pm +# t/lib/VersionParser.t +# See https://github.com/percona/percona-toolkit for more information. +# ########################################################################### +{ +package VersionParser; + +use Lmo; +use Scalar::Util qw(blessed); +use English qw(-no_match_vars); +use constant PTDEBUG => $ENV{PTDEBUG} || 0; + +use overload ( + '""' => "version", + '<=>' => "cmp", + 'cmp' => "cmp", + fallback => 1, +); + +use Carp (); + +has major => ( + is => 'ro', + isa => 'Int', + required => 1, +); + +has [qw( minor revision )] => ( + is => 'ro', + isa => 'Num', +); + +has flavor => ( + is => 'ro', + isa => 'Str', + default => sub { 'Unknown' }, +); + +has innodb_version => ( + is => 'ro', + isa => 'Str', + default => sub { 'NO' }, +); + +sub series { + my $self = shift; + return $self->_join_version($self->major, $self->minor); +} + +sub version { + my $self = shift; + return $self->_join_version($self->major, $self->minor, $self->revision); +} + +sub is_in { + my ($self, $target) = @_; + + return $self eq $target; +} + +sub _join_version { + my ($self, @parts) = @_; + + return join ".", map { my $c = $_; $c =~ s/^0\./0/; $c } grep defined, @parts; +} +sub _split_version { + my ($self, $str) = @_; + my @version_parts = map { s/^0(?=\d)/0./; $_ } $str =~ m/(\d+)/g; + return @version_parts[0..2]; +} + +sub normalized_version { + my ( $self ) = @_; + my $result = sprintf('%d%02d%02d', map { $_ || 0 } $self->major, + $self->minor, + $self->revision); + PTDEBUG && _d($self->version, 'normalizes to', $result); + return $result; +} + +sub comment { + my ( $self, $cmd ) = @_; + my $v = $self->normalized_version(); + + return "/*!$v $cmd */" +} + +my @methods = qw(major minor revision); +sub cmp { + my ($left, $right) = @_; + my $right_obj = (blessed($right) && $right->isa(ref($left))) + ? $right + : ref($left)->new($right); + + my $retval = 0; + for my $m ( @methods ) { + last unless defined($left->$m) && defined($right_obj->$m); + $retval = $left->$m <=> $right_obj->$m; + last if $retval; + } + return $retval; +} + +sub BUILDARGS { + my $self = shift; + + if ( @_ == 1 ) { + my %args; + if ( blessed($_[0]) && $_[0]->can("selectrow_hashref") ) { + PTDEBUG && _d("VersionParser got a dbh, trying to get the version"); + my $dbh = $_[0]; + local $dbh->{FetchHashKeyName} = 'NAME_lc'; + my $query = eval { + $dbh->selectall_arrayref(q/SHOW VARIABLES LIKE 'version%'/, { Slice => {} }) + }; + if ( $query ) { + $query = { map { $_->{variable_name} => $_->{value} } @$query }; + @args{@methods} = $self->_split_version($query->{version}); + $args{flavor} = delete $query->{version_comment} + if $query->{version_comment}; + } + elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { + @args{@methods} = $self->_split_version($query); + } + else { + Carp::confess("Couldn't get the version from the dbh while " + . "creating a VersionParser object: $@"); + } + $args{innodb_version} = eval { $self->_innodb_version($dbh) }; + } + elsif ( !ref($_[0]) ) { + @args{@methods} = $self->_split_version($_[0]); + } + + for my $method (@methods) { + delete $args{$method} unless defined $args{$method}; + } + @_ = %args if %args; + } + + return $self->SUPER::BUILDARGS(@_); +} + +sub _innodb_version { + my ( $self, $dbh ) = @_; + return unless $dbh; + my $innodb_version = "NO"; + + my ($innodb) = + grep { $_->{engine} =~ m/InnoDB/i } + map { + my %hash; + @hash{ map { lc $_ } keys %$_ } = values %$_; + \%hash; + } + @{ $dbh->selectall_arrayref("SHOW ENGINES", {Slice=>{}}) }; + if ( $innodb ) { + PTDEBUG && _d("InnoDB support:", $innodb->{support}); + if ( $innodb->{support} =~ m/YES|DEFAULT/i ) { + my $vars = $dbh->selectrow_hashref( + "SHOW VARIABLES LIKE 'innodb_version'"); + $innodb_version = !$vars ? "BUILTIN" + : ($vars->{Value} || $vars->{value}); + } + else { + $innodb_version = $innodb->{support}; # probably DISABLED or NO + } + } + + PTDEBUG && _d("InnoDB version:", $innodb_version); + return $innodb_version; } sub _d { @@ -2452,10 +2712,11 @@ sub _d { print STDERR "# $package:$line $PID ", join(' ', @_), "\n"; } +no Lmo; 1; } # ########################################################################### -# End Daemon package +# End VersionParser package # ########################################################################### # ########################################################################### @@ -2518,7 +2779,12 @@ sub main { my $dsn = $dp->parse_options($o); my $dbh = $dp->get_dbh($dp->get_cxn_params($dsn), { AutoCommit => 1 } ); - $text =~ s{^.*?select}{EXPLAIN /*!50115 PARTITIONS*/ SELECT}is; + my $vp = VersionParser->new($dbh); + if ( $vp->cmp('8.0') < 0 || $vp->flavor() =~ m/maria/i ) { + $text =~ s{^.*?select}{EXPLAIN /*!50115 PARTITIONS*/ SELECT}is; + } else { + $text =~ s{^.*?select}{EXPLAIN SELECT}is; + } $rows = $dbh->selectall_arrayref($text, { Slice => {} } ); $dbh->disconnect(); } @@ -3045,6 +3311,8 @@ first option on the command line. =item --connect +short form: -c + Treat input as a query, and obtain EXPLAIN output by connecting to a MySQL instance and running EXPLAIN on the query. When this option is given, pt-visual-explain uses the other connection-specific options such as @@ -3088,6 +3356,12 @@ short form: -h; type: string Connect to host. +=item --mysql_ssl + +short form: -s; type: int + +Create SSL MySQL connection. + =item --password short form: -p; type: string diff --git a/t/pt-archiver/ssl.t b/t/pt-archiver/ssl.t new file mode 100644 index 000000000..79bbd3c03 --- /dev/null +++ b/t/pt-archiver/ssl.t @@ -0,0 +1,90 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-archiver"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my ($output, $exit_code); +my $cnf = "/tmp/12345/my.sandbox.cnf"; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { + pt_archiver::main('--source', "F=$cnf,h=127.1,P=12345,D=sakila,t=film,u=sha256_user,p=sha256_user%password,s=0", + qw(--no-check-charset --purge --dry-run --port 12345), + "--where", "film_id < 100") + }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { + pt_archiver::main('--source', "F=$cnf,h=127.1,P=12345,D=sakila,t=film,u=sha256_user,p=sha256_user%password,s=1", + qw(--no-check-charset --purge --dry-run --port 12345), + "--where", "film_id < 100") + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/DELETE FROM `sakila`.`film` WHERE/, + 'Queries printed' +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-config-diff/ssl.t b/t/pt-config-diff/ssl.t new file mode 100644 index 000000000..373a88eaa --- /dev/null +++ b/t/pt-config-diff/ssl.t @@ -0,0 +1,87 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-config-diff"; + +require VersionParser; +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my ($output, $exit_code); +my $cnf = "/tmp/12345/my.sandbox.cnf"; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password'/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { pt_config_diff::main( + 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=0', 'h=127.1') + }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_config_diff::main( + 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=1', 'h=127.1') + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +is( + $output, + "", + "No output when no diff" +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-deadlock-logger/ssl.t b/t/pt-deadlock-logger/ssl.t new file mode 100644 index 000000000..e14f701ee --- /dev/null +++ b/t/pt-deadlock-logger/ssl.t @@ -0,0 +1,177 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-deadlock-logger"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh1 = $sb->get_dbh_for('source', { PrintError => 0, RaiseError => 1, AutoCommit => 0 }); +my $dbh2 = $sb->get_dbh_for('source', { PrintError => 0, RaiseError => 1, AutoCommit => 0 }); + +if ( !$dbh1 || !$dbh2 ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my ($output, $exit_code); +my $dsn = $sb->dsn_for('source'); +my @args = ($dsn, qw(--iterations 1)); + +$dbh1->commit; +$dbh2->commit; +$sb->wipe_clean($dbh1); +$sb->create_dbs($dbh1, ['test']); + +# Set up the table for creating a deadlock. +$dbh1->do("create table test.dl(a int) engine=innodb"); +$dbh1->do("insert into test.dl(a) values(0), (1)"); +$dbh1->commit; +$dbh2->commit; +$dbh1->{InactiveDestroy} = 1; +$dbh2->{InactiveDestroy} = 1; + +$dbh1->{mysql_auto_reconnect} = 1; +$dbh2->{mysql_auto_reconnect} = 1; + +sub make_deadlock { + # Fork off two children to deadlock against each other. + my %children; + foreach my $child ( 0..1 ) { + my $pid = fork(); + if ( defined($pid) && $pid == 0 ) { # I am a child + eval { + my $dbh = ($dbh1, $dbh2)[$child]; + my @stmts = ( + "set transaction isolation level serializable", + "begin", + "select * from test.dl where a = $child", + "update test.dl set a = $child where a <> $child", + ); + foreach my $stmt (@stmts[0..2]) { + $dbh->do($stmt); + } + sleep(1 + $child); + $dbh->do($stmts[-1]); + }; + if ( $EVAL_ERROR ) { + if ( $EVAL_ERROR !~ m/Deadlock found/ ) { + die $EVAL_ERROR; + } + } + exit(0); + } + elsif ( !defined($pid) ) { + die("Unable to fork for clearing deadlocks!\n"); + } + + # I already exited if I'm a child, so I'm the parent. + $children{$child} = $pid; + } + + # Wait for the children to exit. + foreach my $child ( keys %children ) { + my $pid = waitpid($children{$child}, 0); + } + eval { + $dbh1->commit; + $dbh1->disconnect(); + }; + eval { + $dbh2->commit; + $dbh2->disconnect(); + }; +} + +sub reconnect { + my $dbh = shift; + $dbh->disconnect(); + $dbh = $sb->get_dbh_for('source', { PrintError => 0, RaiseError => 1, AutoCommit => 0 }); + return $dbh; +} + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password'/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, + q/GRANT PROCESS ON *.* TO sha256_user@'%'/, +); + +make_deadlock(); + +$dbh1 = reconnect($dbh1); +$dbh2 = reconnect($dbh2); + +# Test that there is a deadlock +$output = $dbh1->selectrow_hashref('show /*!40101 engine*/ innodb status')->{status}; +like($output, qr/WE ROLL BACK/, 'There was a deadlock'); + +($output, $exit_code) = full_output( + sub { + pt_deadlock_logger::main("h=127.1,P=12345,D=sakila,t=film,u=sha256_user,p=sha256_user%password,s=0", + qw(--iterations 1)); + }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { + pt_deadlock_logger::main("h=127.1,P=12345,D=sakila,t=film,u=sha256_user,p=sha256_user%password,s=1", + qw(--iterations 1)); + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/127\.1.+msandbox.+GEN_CLUST_INDEX/, + 'Deadlock logger prints the output' +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$dbh1 = reconnect($dbh1); +$dbh2 = reconnect($dbh2); + +$dbh1->commit; +$dbh2->commit; +$sb->wipe_clean($dbh1); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-duplicate-key-checker/ssl.t b/t/pt-duplicate-key-checker/ssl.t new file mode 100644 index 000000000..26d0deddd --- /dev/null +++ b/t/pt-duplicate-key-checker/ssl.t @@ -0,0 +1,100 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-duplicate-key-checker"; + +require VersionParser; +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my $output; +my $sample = "t/pt-duplicate-key-checker/samples/"; +my $cnf = "/tmp/12345/my.sandbox.cnf"; +my $cmd = "$trunk/bin/pt-duplicate-key-checker -F $cnf -h 127.1"; + +$sb->wipe_clean($dbh); +$sb->create_dbs($dbh, ['test']); + +my $transform_int = undef; +# In version 8.0 integer display width is deprecated and not shown in the outputs. +# So we need to transform our samples. +if ($sandbox_version ge '8.0') { + $transform_int = sub { + my $txt = slurp_file(shift); + $txt =~ s/int\(\d{1,2}\)/int/g; + print $txt; + }; +} + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON mysql.* TO sha256_user@'%'/, +); + +$output = `$cmd -d mysql -t columns_priv -v P=12345,u=sha256_user,p=sha256_user%password,s=0 2>&1`; + +isnt( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +$output = `$cmd -d mysql -t columns_priv -v P=12345,u=sha256_user,p=sha256_user%password,s=1`; + +is( + $?, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +# In version 8.0 order of columns in the index changed +if ($sandbox_version ge '8.0') { + like($output, + qr/PRIMARY \(`Host`,`User`,`Db`,`Table_name`,`Column_name`\)/, + 'Finds mysql.columns_priv PK' + ); +} else { + like($output, + qr/PRIMARY \(`Host`,`Db`,`User`,`Table_name`,`Column_name`\)/, + 'Finds mysql.columns_priv PK' + ); +} + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-find/ssl.t b/t/pt-find/ssl.t new file mode 100644 index 000000000..bf5044cfa --- /dev/null +++ b/t/pt-find/ssl.t @@ -0,0 +1,75 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-find"; + +require VersionParser; +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my $output; +my $cnf = '/tmp/12345/my.sandbox.cnf'; +my $cmd = "$trunk/bin/pt-find -F $cnf "; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON *.* TO sha256_user@'%'/, +); + +$output = `$cmd mysql --tblregex column --user=sha256_user --password=sha256_user%password --mysql_ssl=0 2>&1`; + +isnt( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Access denied/, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +$output = `$cmd mysql --tblregex column --user=sha256_user --password=sha256_user%password --mysql_ssl=1 2>&1`; + +is( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +unlike( + $output, + qr/Access denied/, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +like($output, qr/`mysql`.`columns_priv`/, 'Found mysql.columns_priv'); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; +exit; diff --git a/t/pt-fk-error-logger/ssl.t b/t/pt-fk-error-logger/ssl.t new file mode 100644 index 000000000..ae53a4706 --- /dev/null +++ b/t/pt-fk-error-logger/ssl.t @@ -0,0 +1,102 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Time::HiRes qw(sleep); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-fk-error-logger"; + +require VersionParser; +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +$sb->create_dbs($dbh, [qw(test)]); + +my ($output, $exit_code); +my $cnf = '/tmp/12345/my.sandbox.cnf'; +my $cmd = "$trunk/bin/pt-fk-error-logger -F $cnf "; +my @args = qw(--iterations 1); + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON test.* TO sha256_user@'%'/, + q/GRANT PROCESS ON *.* TO sha256_user@'%'/, +); + +$sb->load_file('source', 't/pt-fk-error-logger/samples/fke_tbl.sql', 'test'); + +# ######################################################################### +# Test saving foreign key errors to --dest. +# ######################################################################### + +# First, create a foreign key error. +`/tmp/12345/use -D test < $trunk/t/pt-fk-error-logger/samples/fke.sql 1>/dev/null 2>/dev/null`; + +($output, $exit_code) = full_output( + sub { + pt_fk_error_logger::main(@args, 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=0'), + }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { + pt_fk_error_logger::main(@args, 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=1'), + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/Foreign key constraint fails/, + "Prints fk error by default" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-heartbeat/ssl.t b/t/pt-heartbeat/ssl.t new file mode 100644 index 000000000..c8d27ff7f --- /dev/null +++ b/t/pt-heartbeat/ssl.t @@ -0,0 +1,98 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; +use Data::Dumper; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-heartbeat"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +$sb->create_dbs($dbh, ['test']); + +my ($output, $exit_code); +my $cnf = '/tmp/12345/my.sandbox.cnf'; +my $cmd = "$trunk/bin/pt-heartbeat -F $cnf "; + +$dbh->do('drop table if exists test.heartbeat'); +$dbh->do(q{CREATE TABLE test.heartbeat ( + id int NOT NULL PRIMARY KEY, + ts datetime NOT NULL + ) ENGINE=MEMORY}); +$sb->wait_for_replicas; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON test.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { pt_heartbeat::main("F=$cnf,h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=0", + qw(-D test --check)) }, + stderr => 1, +); + +isnt( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_heartbeat::main("F=$cnf,h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=1", + qw(-D test --check)) }, + stderr => 1, +); + +is( + $?, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +my $row = $dbh->selectall_hashref('select * from test.heartbeat', 'id'); +is( + $row->{1}->{id}, + 1, + "Automatically inserts heartbeat row (issue 1292)" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); + +done_testing; +exit; diff --git a/t/pt-index-usage/ssl.t b/t/pt-index-usage/ssl.t new file mode 100644 index 000000000..032379605 --- /dev/null +++ b/t/pt-index-usage/ssl.t @@ -0,0 +1,103 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +require "$trunk/bin/pt-index-usage"; +require VersionParser; + +use Sandbox; +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +if ( !@{ $dbh->selectall_arrayref("show databases like 'sakila'") } ) { + plan skip_all => "Sakila database is not loaded"; +} + +my $cnf = '/tmp/12345/my.sandbox.cnf'; +my @args = ('-F', $cnf); +my $samples = "t/pt-index-usage/samples/"; +my ($output, $exit_code); + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +# This query doesn't use indexes so there's an unused PK and +# an unused secondary index. Only the secondary index should +# be printed since dropping PKs is not suggested by default. + +($output, $exit_code) = full_output( + sub { + pt_index_usage::main( + @args, + qw(--host=127.1 --port=12345 --user=sha256_user --password=sha256_user%password --mysql_ssl=0), + "$trunk/$samples/slow001.txt") + }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { + pt_index_usage::main( + @args, + qw(--host=127.1 --port=12345 --user=sha256_user --password=sha256_user%password --mysql_ssl=1), + "$trunk/$samples/slow001.txt") + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/ALTER TABLE `sakila`.`film_text` DROP KEY `idx_title_description`; -- type:non-unique/, + 'A simple query that does not use any indexes', +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; +exit; diff --git a/t/pt-kill/ssl.t b/t/pt-kill/ssl.t new file mode 100644 index 000000000..ab5dc6042 --- /dev/null +++ b/t/pt-kill/ssl.t @@ -0,0 +1,98 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; + $ENV{PERCONA_TOOLKIT_TEST_USE_DSN_NAMES} = 1; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use Data::Dumper; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-kill"; +require VersionParser; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +else { + plan tests => 6; +} + +my ($output, $exit_code); +my $cnf = '/tmp/12345/my.sandbox.cnf'; +my $cmd = "$trunk/bin/pt-kill -F $cnf"; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT PROCESS ON *.* TO sha256_user@'%'/, +); + +$output = `$cmd h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=0 --busy-time 1s --print --run-time 10 2>&1`; + +isnt( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +# Shell out to a sleep(10) query and try to capture the query. +# Backticks don't work here. +system("/tmp/12345/use -e 'select sleep(5)' >/dev/null &"); + +$output = `$cmd h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=1 --busy-time 1s --print --run-time 10 2>&1`; + +is( + $?, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +# $output ought to be something like +# 2009-05-27T22:19:40 KILL 5 (Query 1 sec) select sleep(10) +# 2009-05-27T22:19:41 KILL 5 (Query 2 sec) select sleep(10) +# 2009-05-27T22:19:42 KILL 5 (Query 3 sec) select sleep(10) +# 2009-05-27T22:19:43 KILL 5 (Query 4 sec) select sleep(10) +# 2009-05-27T22:19:44 KILL 5 (Query 5 sec) select sleep(10) +# 2009-05-27T22:19:45 KILL 5 (Query 6 sec) select sleep(10) +# 2009-05-27T22:19:46 KILL 5 (Query 7 sec) select sleep(10) +# 2009-05-27T22:19:47 KILL 5 (Query 8 sec) select sleep(10) +# 2009-05-27T22:19:48 KILL 5 (Query 9 sec) select sleep(10) +my @times = $output =~ m/\(Query (\d+) sec\)/g; +ok( + @times > 2 && @times < 7, + "There were 2 to 5 captures" +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($source_dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +exit; diff --git a/t/pt-mysql-summary/ssl.t b/t/pt-mysql-summary/ssl.t new file mode 100644 index 000000000..9c3d4c914 --- /dev/null +++ b/t/pt-mysql-summary/ssl.t @@ -0,0 +1,81 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use PerconaTest; +use Sandbox; +use DSNParser; +require VersionParser; +use Test::More; +use File::Temp qw( tempdir ); + +local $ENV{PTDEBUG} = ""; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox'; +} +else { + plan tests => 6; +} + +my ($tool) = 'pt-mysql-summary'; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +my $output = `$trunk/bin/$tool --host=127.1 --port=12345 --user=sha256_user --password=sha256_user%password 2>&1 -- --defaults-file=/tmp/12345/my.sandbox.cnf --ssl-mode=disabled`; + +isnt( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +$output = `$trunk/bin/$tool --host=127.1 --port=12345 --user=sha256_user --password=sha256_user%password 2>&1 -- --defaults-file=/tmp/12345/my.sandbox.cnf --ssl-mode=required`; + +is( + $?, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/SSL | Yes/, + "Authentication with caching_sha2_password works" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +exit; diff --git a/t/pt-online-schema-change/ssl.t b/t/pt-online-schema-change/ssl.t new file mode 100644 index 000000000..277089453 --- /dev/null +++ b/t/pt-online-schema-change/ssl.t @@ -0,0 +1,108 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use Data::Dumper; +use PerconaTest; +use Sandbox; + +require "$trunk/bin/pt-online-schema-change"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica_dbh = $sb->get_dbh_for('replica1'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica1'; +} + +# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic +# so we need to specify --set-vars innodb_lock_wait_timeout=3 else the +# tool will die. +my $source_dsn = 'h=127.1,P=12345'; +my @args = (qw(--set-vars innodb_lock_wait_timeout=3)); +my $output; +my $exit_code; +my $sample = "t/pt-online-schema-change/samples/"; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON test.* TO sha256_user@'%'/, + q/GRANT REPLICATION SLAVE ON *.* TO sha256_user@'%'/, + q/GRANT SUPER ON *.* TO sha256_user@'%'/, +); + +# ############################################################################# +# DROP PRIMARY KEY +# ############################################################################# + +$sb->load_file('source', "$sample/del-trg-bug-1103672.sql"); + +($output, $exit_code) = full_output( + sub { pt_online_schema_change::main(@args, + "$source_dsn,D=test,t=t1,u=sha256_user,p=sha256_user%password,s=0", + "--alter", "drop primary key, add column _id int unsigned not null primary key auto_increment FIRST", + qw(--execute --no-check-alter)), + }, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_online_schema_change::main(@args, + "$source_dsn,D=test,t=t1,u=sha256_user,p=sha256_user%password,s=1", + "--alter", "drop primary key, add column _id int unsigned not null primary key auto_increment FIRST", + qw(--execute --no-check-alter)), + }, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/Successfully altered `test`.`t1`/, + "DROP PRIMARY KEY" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($source_dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-replica-restart/ssl.t b/t/pt-replica-restart/ssl.t new file mode 100644 index 000000000..d850e9e7e --- /dev/null +++ b/t/pt-replica-restart/ssl.t @@ -0,0 +1,102 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-replica-restart"; + +diag('Restarting the sandbox'); +diag(`SAKILA=0 REPLICATION_THREADS=0 GTID=1 $trunk/sandbox/test-env restart`); +diag("Sandbox restarted"); + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica_dbh = $sb->get_dbh_for('replica1'); +my $output; + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica'; +} + +$source_dbh->do('DROP DATABASE IF EXISTS test'); +$source_dbh->do('CREATE DATABASE test'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +$sb->wait_for_replicas; + +# Bust replication +$source_dbh->do('DROP TABLE IF EXISTS test.t'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +sleep 1; +$replica_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +$output = `/tmp/12346/use -e "show ${replica_name} status"`; +like( + $output, + qr/Table 'test.t' doesn't exist'/, + 'It is busted' +); + +$sb->do_as_root( + 'replica1', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT REPLICATION SLAVE, PROCESS ON *.* TO sha256_user@'%'/, +); + +# Start an instance +$output = `$trunk/bin/pt-replica-restart --max-sleep 0.25 h=127.1,P=12346,u=sha256_user,p=sha256_user%password,s=0 --error-text "doesn't exist" --run-time 1s 2>&1`; + +isnt( + $?, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +$output = `$trunk/bin/pt-replica-restart --max-sleep 0.25 h=127.1,P=12346,u=sha256_user,p=sha256_user%password,s=1 --error-text "doesn't exist" --run-time 1s 2>&1`; + +is( + $?, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +unlike( + $output, + qr/Error does not match/, + '--error-text works (issue 459)' +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('replica1', q/DROP USER 'sha256_user'@'%'/); + +diag(`rm -f /tmp/pt-replica-re*`); +diag(`$trunk/sandbox/test-env restart`); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-show-grants/ssl.t b/t/pt-show-grants/ssl.t new file mode 100644 index 000000000..60eb42f7c --- /dev/null +++ b/t/pt-show-grants/ssl.t @@ -0,0 +1,95 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +use SqlModes; +require "$trunk/bin/pt-show-grants"; +require VersionParser; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +$sb->wipe_clean($dbh); + +my ($output, $exit_code); +my $cnf = '/tmp/12345/my.sandbox.cnf'; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT SUPER ON *.* TO sha256_user@'%'/, + q/GRANT SELECT ON mysql.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { pt_show_grants::main( + '-F', $cnf, + 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=0', + qw(--drop --flush --revoke --separate) + ); }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_show_grants::main( + '-F', $cnf, + 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=1', + qw(--drop --flush --revoke --separate) + ); }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/Grants dumped by/, + 'It lives', +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-stalk/ssl.t b/t/pt-stalk/ssl.t new file mode 100644 index 000000000..d1af27525 --- /dev/null +++ b/t/pt-stalk/ssl.t @@ -0,0 +1,121 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use threads; +use English qw(-no_match_vars); +use Test::More; +use Time::HiRes qw(sleep); + +use PerconaTest; +use DSNParser; +use Sandbox; +require VersionParser; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my $cnf = "/tmp/12345/my.sandbox.cnf"; +my $pid_file = "/tmp/pt-stalk.pid.$PID"; +my $log_file = "/tmp/pt-stalk.log.$PID"; +my $dest = "/tmp/pt-stalk.collect.$PID"; +my $int_file = "/tmp/pt-stalk-after-interval-sleep"; +my $pid; +my ($output, $exit_code); + +sub cleanup { + diag(`rm $pid_file $log_file $int_file 2>/dev/null`); + diag(`rm -rf $dest 2>/dev/null`); +} + +cleanup(); + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT SUPER ON *.* TO sha256_user@'%'/, +); + +$exit_code = system("$trunk/bin/pt-stalk --host=127.1 --no-stalk --run-time 2 --dest $dest --prefix nostalk --pid $pid_file --iterations 1 --user=sha256_user --password=sha256_user%password -- --defaults-file=$cnf --ssl-mode=disabled >$log_file 2>&1"); + +PerconaTest::wait_until(sub { !-f $pid_file }); + +$output = `cat $log_file 2>/dev/null`; + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +cleanup(); + +$exit_code = system("$trunk/bin/pt-stalk --host=127.1 --no-stalk --run-time 2 --dest $dest --prefix nostalk --pid $pid_file --iterations 1 --user=sha256_user --password=sha256_user%password -- --defaults-file=$cnf --ssl-mode=required >$log_file 2>&1"); + +PerconaTest::wait_until(sub { !-f $pid_file }); + +$output = `cat $log_file 2>/dev/null`; + +is( + $?, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +$output = `cat $dest/nostalk-trigger 2>/dev/null`; +like( + $output, + qr/Not stalking/, + "Not stalking, collect triggered" +) +or diag( + 'dest', `ls -l $dest/ 2>/dev/null`, + 'log_file', `cat $log_file 2>/dev/null`, + 'collector', `cat $dest/*-output 2>/dev/null`, +); + +chomp($output = `grep -c '^TS' $dest/nostalk-df 2>/dev/null`); +is( + $output, + 2, + "Not stalking, collect ran for --run-time" +) +or diag( + 'dest', `ls -l $dest/ 2>/dev/null`, + 'log_file', `cat $log_file 2>/dev/null`, + 'collector', `cat $dest/*-output 2>/dev/null`, +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +cleanup(); +diag(`rm -rf $dest 2>/dev/null`); +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-table-checksum/ssl.t b/t/pt-table-checksum/ssl.t new file mode 100644 index 000000000..33939d2c9 --- /dev/null +++ b/t/pt-table-checksum/ssl.t @@ -0,0 +1,107 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-table-checksum"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +else { + plan tests => 7; +} + +# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic +# so we need to specify --set-vars innodb_lock_wait_timeout=3 else the tool will die. +# And --max-load "" prevents waiting for status variables. +my @args = (qw(--set-vars innodb_lock_wait_timeout=3), '--max-load', ''); +my ($output, $exit_code); + +# ############################################################################# +# Issue 388: mk-table-checksum crashes when column with comma in the name +# is used in a key +# ############################################################################# + +$sb->create_dbs($dbh, [qw(test)]); +$sb->load_file('source', 't/lib/samples/tables/issue-388.sql', 'test'); + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON test.* TO sha256_user@'%'/, + q/GRANT ALL ON percona.* TO sha256_user@'%'/, + q/GRANT REPLICATION SLAVE ON *.* TO sha256_user@'%'/, + q/GRANT REPLICATION CLIENT ON *.* TO sha256_user@'%'/, +); + +$dbh->do("insert into test.foo values (null, 'john, smith')"); + +($output, $exit_code) = full_output( + sub { pt_table_checksum::main(@args, 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=0', qw(-d test)) }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_table_checksum::main(@args, 'h=127.1,P=12345,u=sha256_user,p=sha256_user%password,s=1', qw(-d test)) }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +unlike( + $output, + qr/Use of uninitialized value/, + 'No error (issue 388)' +); + +like( + $output, + qr/^\S+\s+0\s+0\s+1\s+0\s+1\s+/m, + 'Checksums the table (issue 388)' +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +exit; diff --git a/t/pt-table-sync/ssl.t b/t/pt-table-sync/ssl.t new file mode 100644 index 000000000..37208ab54 --- /dev/null +++ b/t/pt-table-sync/ssl.t @@ -0,0 +1,89 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-table-sync"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica_dbh = $sb->get_dbh_for('replica1'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica'; +} +else { + plan tests => 7; +} + +my ($output, $exit_code); +my @args = (qw(--sync-to-source -t sakila.actor -v -v --print --chunk-size 100)); + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { pt_table_sync::main('h=127.1,P=12345,D=sakila,t=film,u=sha256_user,p=sha256_user%password,s=0', @args) }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_table_sync::main('h=127.1,P=12345,D=sakila,t=film,u=sha256_user,p=sha256_user%password,s=1', @args) }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +like( + $output, + qr/WHERE \(`actor_id` = 0\)/, + "Zero chunk" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($source_dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +exit; diff --git a/t/pt-table-usage/ssl.t b/t/pt-table-usage/ssl.t new file mode 100644 index 000000000..96044d4d6 --- /dev/null +++ b/t/pt-table-usage/ssl.t @@ -0,0 +1,88 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-table-usage"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +else { + plan tests => 6; +} + +my ($output, $exit_code); +my $cnf = '/tmp/12345/my.sandbox.cnf'; + +my $in = "$trunk/t/pt-table-usage/samples/in"; +my $out = "t/pt-table-usage/samples/out"; + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { pt_table_usage::main("--explain-extended=F=$cnf,h=127.1,P=12345,D=sakila,u=sha256_user,p=sha256_user%password,s=0", + '--query', 'select * from foo, bar where id=1') }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_table_usage::main('--explain-extended', "F=$cnf,h=127.1,P=12345,D=sakila,u=sha256_user,p=sha256_user%password,s=1", + '--query', 'select * from foo, bar where id=1') }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +is( + $output, + "", + "No error if table doesn't exist" +); +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +exit; diff --git a/t/pt-upgrade/ssl.t b/t/pt-upgrade/ssl.t new file mode 100644 index 000000000..4027eef7e --- /dev/null +++ b/t/pt-upgrade/ssl.t @@ -0,0 +1,105 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; +use File::Basename; +use File::Temp qw(tempdir); + +$ENV{PERCONA_TOOLKIT_TEST_USE_DSN_NAMES} = 1; +$ENV{PRETTY_RESULTS} = 1; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-upgrade"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh1 = $sb->get_dbh_for('host1'); + + +if ( !$dbh1 ) { + plan skip_all => 'Cannot connect to sandbox host1'; +} + +my $host1_dsn = $sb->dsn_for('host1'); +my $tmpdir = tempdir("/tmp/pt-upgrade.$PID.XXXXXX", CLEANUP => 1); +my $samples = "$trunk/t/pt-upgrade/samples"; +my $lib_samples = "$trunk/t/lib/samples"; +my ($output, $exit_code); + +# ############################################################################# +# genlog +# ############################################################################# + +`rm -f /tmp/test_select_into_*.log`; + +$sb->do_as_root( + 'host1', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON *.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { + pt_upgrade::main("${host1_dsn},u=sha256_user,p=sha256_user%password,s=0", '--save-results', $tmpdir, + qw(--type rawlog), + "$samples/select_into.log", + )}, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { + pt_upgrade::main("${host1_dsn},u=sha256_user,p=sha256_user%password,s=1", '--save-results', $tmpdir, + qw(--type rawlog), + "$samples/select_into.log", + )}, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +is( + $exit_code, + 0, + "Does not fail on SELECT...INTO statements" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('host1', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh1); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-variable-advisor/ssl.t b/t/pt-variable-advisor/ssl.t new file mode 100644 index 000000000..1326ad3fa --- /dev/null +++ b/t/pt-variable-advisor/ssl.t @@ -0,0 +1,87 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-variable-advisor"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); +my $dsn = $sb->dsn_for('source'); + +if ( !$dbh ) { + plan skip_all => "Cannot connect to sandbox source"; +} + +# ############################################################################# +# https://bugs.launchpad.net/percona-toolkit/+bug/1168106 +# pt-variable-advisor has the wrong default value for +# innodb_max_dirty_pages_pct in 5.6.10 +# ############################################################################# + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +my ($output, $exit_code); + +($output, $exit_code) = full_output( + sub { pt_variable_advisor::main("${dsn},u=sha256_user,p=sha256_user%password,s=0") }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { pt_variable_advisor::main("${dsn},u=sha256_user,p=sha256_user%password,s=1") }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + +unlike( + $output, + qr/innodb_max_dirty_pages_pct/, + "No innodb_max_dirty_pages_pct warning (bug 1168106)" +); + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-visual-explain/samples/query.sql b/t/pt-visual-explain/samples/query.sql new file mode 100644 index 000000000..9a5db543d --- /dev/null +++ b/t/pt-visual-explain/samples/query.sql @@ -0,0 +1 @@ +SELECT * FROM sakila.actor where last_name LIKE 'MO%'; diff --git a/t/pt-visual-explain/ssl.t b/t/pt-visual-explain/ssl.t new file mode 100644 index 000000000..7ff4adc48 --- /dev/null +++ b/t/pt-visual-explain/ssl.t @@ -0,0 +1,88 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-visual-explain"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $dbh = $sb->get_dbh_for('source'); + +if ( !$dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} + +my ($output, $exit_code); + +$sb->do_as_root( + 'source', + q/CREATE USER IF NOT EXISTS sha256_user@'%' IDENTIFIED WITH caching_sha2_password BY 'sha256_user%password' REQUIRE SSL/, + q/GRANT ALL ON sakila.* TO sha256_user@'%'/, +); + +($output, $exit_code) = full_output( + sub { + pt_visual_explain::main( + '--connect', + 't/pt-visual-explain/samples/query.sql', + qw(--host=127.1 --port=12345 --user=sha256_user --password=sha256_user%password --mysql_ssl=0) + ) + }, + stderr => 1, +); + +isnt( + $exit_code, + 0, + "Error raised when SSL connection is not used" +) or diag($output); + +like( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'Secure connection error raised when no SSL connection used' +) or diag($output); + +($output, $exit_code) = full_output( + sub { + pt_visual_explain::main( + '--connect', + 't/pt-visual-explain/samples/query.sql', + qw(--host=127.1 --port=12345 --user=sha256_user --password=sha256_user%password --mysql_ssl=1) + ) + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "No error for user, identified with caching_sha2_password" +) or diag($output); + +unlike( + $output, + qr/Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection./, + 'No secure connection error' +) or diag($output); + + +# ############################################################################# +# Done. +# ############################################################################# +$sb->do_as_root('source', q/DROP USER 'sha256_user'@'%'/); + +$sb->wipe_clean($dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/util/update-modules b/util/update-modules index 65582cc88..bbba29580 100755 --- a/util/update-modules +++ b/util/update-modules @@ -182,6 +182,10 @@ for pkg in $pkgs; do done if [ $pkgs_updated -gt 0 ]; then + # Storing existing EXIT_STATUS, because tool should only fail copying resulting + # file if below code also fails. Previous errors should not affect copying. + es=$EXIT_STATUS + EXIT_STATUS=0 if [ "$tool_lang" = "perl" ]; then update_tool_header $tmp_tool_file if [ $? -ne 0 ]; then @@ -190,7 +194,7 @@ if [ $pkgs_updated -gt 0 ]; then fi if [ $EXIT_STATUS -eq 0 ]; then cp $tmp_tool_file $tool_file - EXIT_STATUS=$((EXIT_STATUS | $?)) + EXIT_STATUS=$((es | $?)) if [ $? -ne 0 ]; then warn "Failed to copy $tmp_tool_file to $tool_file" fi From 1de149116a81f49afde70178e50855b3032c938d Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 20 Sep 2024 15:27:23 +0300 Subject: [PATCH 24/31] PT-2340 - Support MySQL 8.4 - Added tests for legacy style heartbeat and checksum tables --- bin/pt-heartbeat | 13 +- t/pt-heartbeat/heartbeat_table.t | 130 ++++++++++++++++++ ...e-table.sql => heartbeat-table-legacy.sql} | 0 t/pt-heartbeat/samples/heartbeat-table.sql | 11 ++ t/pt-table-checksum/privs.t | 43 ++++++ .../samples/privs-bug-916168-legacy.sql | 22 +++ 6 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 t/pt-heartbeat/heartbeat_table.t rename t/pt-heartbeat/samples/{precision-time-table.sql => heartbeat-table-legacy.sql} (100%) create mode 100644 t/pt-heartbeat/samples/heartbeat-table.sql create mode 100644 t/pt-table-checksum/samples/privs-bug-916168-legacy.sql diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index 5ed48dcc9..af30ed66a 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -6316,14 +6316,25 @@ sub main { die "Heartbeat table $db_tbl does not have a ts column" unless $tbl_struct->{is_col}->{ts}; + my $deprecated_cols = 0; + if ( $tbl_struct->{is_col}->{exec_master_log_file} && !$tbl_struct->{is_col}->{exec_source_log_file} ) { - $exec_source_log_pos_col = 'exec_master_log_file'; + $relay_source_log_file_col = 'exec_master_log_file'; + $deprecated_cols = 1; } if ( $tbl_struct->{is_col}->{exec_master_log_pos} && !$tbl_struct->{is_col}->{exec_source_log_pos} ) { $exec_source_log_pos_col = 'exec_master_log_pos'; + $deprecated_cols = 1; + } + + if ( $deprecated_cols ) { + warn "The current heartbeat table uses deprecated column names. Support for these names " + . "will be occasionally removed. Please update the table definition with command:\n" + . "ALTER TABLE `$db`.`$tbl` RENAME COLUMN exec_master_log_file TO exec_source_log_file, " + . "RENAME COLUMN exec_master_log_pos TO exec_source_log_pos;\n"; } my $hires_ts = $tbl_struct->{type_for}->{ts} =~ m/char/i ? 1 : 0; diff --git a/t/pt-heartbeat/heartbeat_table.t b/t/pt-heartbeat/heartbeat_table.t new file mode 100644 index 000000000..c4e1e16bf --- /dev/null +++ b/t/pt-heartbeat/heartbeat_table.t @@ -0,0 +1,130 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; +use Data::Dumper; + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-heartbeat"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica1_dbh = $sb->get_dbh_for('replica1'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica1_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica1'; +} + + +$sb->create_dbs($source_dbh, ['test']); + +my $output; +my $cnf = '/tmp/12345/my.sandbox.cnf'; +my $cmd = "$trunk/bin/pt-heartbeat -F $cnf "; +my $pid_file = "/tmp/__pt-heartbeat-test.pid"; +my $sent_file = "/tmp/pt-heartbeat-sentinel"; +my $ps_grep_cmd = "ps x | grep pt-heartbeat | grep daemonize | grep -v grep"; + +diag(`rm $sent_file 2>/dev/null`); + +# Loading heartbeat table +$sb->load_file('source', 't/pt-heartbeat/samples/heartbeat-table.sql'); + +# Start one daemonized instance to update it +system("$cmd --daemonize -D test --update --run-time 3s --pid $pid_file 1>/dev/null 2>/dev/null"); +PerconaTest::wait_for_files($pid_file); +$output = `$ps_grep_cmd`; +like($output, qr/$cmd/, 'It is running'); +ok(-f $pid_file, 'PID file created'); +my ($pid) = $output =~ /^\s*(\d+)\s+/; +$output = `cat $pid_file` if -f $pid_file; +chomp($output); +is($output, $pid, 'PID file has correct PID'); + +$output = `$cmd -D test --monitor --run-time 1s --source-server-id 12345 2>&1`; +if ( $output ) { + chomp ($output); + $output =~ s/\d/0/g; +} +is( + $output, + '0.00s [ 0.00s, 0.00s, 0.00s ]', + 'It is being updated', +); +unlike( + $output, + qr/The current checksum table uses deprecated column names./, + 'Deprecation warning not printed' +); + +PerconaTest::wait_until(sub { !-f $pid_file }); + +$output = `$ps_grep_cmd`; +chomp $output; +unlike($output, qr/$cmd/, 'It is not running anymore'); +ok(! -f $pid_file, 'PID file removed'); + +# Run again, create table with legacy structure, and check that the tool can work with it + +# Loading legacy heartbeat table +$sb->load_file('source', 't/pt-heartbeat/samples/heartbeat-table-legacy.sql'); + +# Start one daemonized instance to update it +system("$cmd --daemonize -D test --update --run-time 3s --pid $pid_file 1>/dev/null 2>/dev/null"); +PerconaTest::wait_for_files($pid_file); +$output = `$ps_grep_cmd`; +like($output, qr/$cmd/, 'It is running'); +ok(-f $pid_file, 'PID file created'); +($pid) = $output =~ /^\s*(\d+)\s+/; +$output = `cat $pid_file` if -f $pid_file; +chomp($output); +is($output, $pid, 'PID file has correct PID'); + +$output = `$cmd -D test --monitor --run-time 1s --source-server-id 12345 2>&1`; +if ( $output ) { + chomp ($output); + $output =~ s/\d/0/g; +} + +like( + $output, + qr/0.00s \[ 0.00s, 0.00s, 0.00s \]/, + 'It is being updated', +) or diag($output); + +like( + $output, + qr/The current heartbeat table uses deprecated column names./, + 'Deprecation warning printed for legacy syntax' +); + +PerconaTest::wait_until(sub { !-f $pid_file }); + +$output = `$ps_grep_cmd`; +chomp $output; +unlike($output, qr/$cmd/, 'It is not running anymore'); +ok(! -f $pid_file, 'PID file removed'); + +# ############################################################################# +# Done. +# ############################################################################# +diag(`rm $pid_file $sent_file 2>/dev/null`); +$sb->wipe_clean($source_dbh); +# $sb->wipe_clean($replica1_dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); + +done_testing; +exit; diff --git a/t/pt-heartbeat/samples/precision-time-table.sql b/t/pt-heartbeat/samples/heartbeat-table-legacy.sql similarity index 100% rename from t/pt-heartbeat/samples/precision-time-table.sql rename to t/pt-heartbeat/samples/heartbeat-table-legacy.sql diff --git a/t/pt-heartbeat/samples/heartbeat-table.sql b/t/pt-heartbeat/samples/heartbeat-table.sql new file mode 100644 index 000000000..fa0e3ea00 --- /dev/null +++ b/t/pt-heartbeat/samples/heartbeat-table.sql @@ -0,0 +1,11 @@ +DROP DATABASE IF EXISTS test; +CREATE DATABASE test; +USE test; +CREATE TABLE heartbeat ( + ts varchar(26) NOT NULL, + server_id int unsigned NOT NULL PRIMARY KEY, + file varchar(255) DEFAULT NULL, -- SHOW MASTER STATUS + position bigint unsigned DEFAULT NULL, -- SHOW MASTER STATUS + relay_source_log_file varchar(255) DEFAULT NULL, -- SHOW SLAVE STATUS + exec_source_log_pos bigint unsigned DEFAULT NULL -- SHOW SLAVE STATUS +) ENGINE=MEMORY; diff --git a/t/pt-table-checksum/privs.t b/t/pt-table-checksum/privs.t index 184b926e6..5d853ccda 100644 --- a/t/pt-table-checksum/privs.t +++ b/t/pt-table-checksum/privs.t @@ -187,6 +187,49 @@ is( "test_user privs work (bug 916168)" ); +unlike( + $output, + qr/The current checksum table uses deprecated column names./, + 'Deprecation warning not printed' +); + +diag(`/tmp/12345/use -u root -e "drop user 'test_user'\@'%'"`); +wait_until( + sub { + my $rows=$replica2_dbh->selectall_arrayref("SELECT user FROM mysql.user"); + return !grep { ($_->[0] || '') eq 'test_user' } @$rows; + } +); + +# ############################################################################# +# Legacy checksum table +# ############################################################################# +diag(`/tmp/12345/use -u root < $trunk/t/pt-table-checksum/samples/privs-bug-916168-legacy.sql`); + +$output = output( + sub { $exit_status = pt_table_checksum::main(@args, + "$source_dsn,u=test_user,p=foo", qw(-t sakila.country)) }, + stderr => 1, +); + +is( + $exit_status, + 0, + "test_user privs work (bug 916168) returned no error" +) or diag($exit_status); + +is( + PerconaTest::count_checksum_results($output, 'rows'), + 109, + "test_user privs work (bug 916168)" +); + +like( + $output, + qr/The current checksum table uses deprecated column names./, + 'Deprecation warning printed for legacy table' +); + diag(`/tmp/12345/use -u root -e "drop user 'test_user'\@'%'"`); wait_until( sub { diff --git a/t/pt-table-checksum/samples/privs-bug-916168-legacy.sql b/t/pt-table-checksum/samples/privs-bug-916168-legacy.sql new file mode 100644 index 000000000..0fcb2af49 --- /dev/null +++ b/t/pt-table-checksum/samples/privs-bug-916168-legacy.sql @@ -0,0 +1,22 @@ +CREATE USER 'test_user'@'%' identified by 'foo'; +grant select, replication slave, replication client, super, process on *.* to 'test_user'@'%'; +grant all on percona.* to 'test_user'@'%'; +create database if not exists percona; +use percona; +drop table if exists checksums; +CREATE TABLE `checksums` ( + `db` char(64) NOT NULL, + `tbl` char(64) NOT NULL, + `chunk` int(11) NOT NULL, + `chunk_time` float DEFAULT NULL, + `chunk_index` varchar(200) DEFAULT NULL, + `lower_boundary` text, + `upper_boundary` text, + `this_crc` char(40) NOT NULL, + `this_cnt` int(11) NOT NULL, + `master_crc` char(40) DEFAULT NULL, + `master_cnt` int(11) DEFAULT NULL, + `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`db`,`tbl`,`chunk`), + KEY `ts_db_tbl` (`ts`,`db`,`tbl`) +) ENGINE=InnoDB; From 33086769a1bfb794bd7bfe096270358659af8a5e Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Tue, 24 Sep 2024 03:04:46 +0300 Subject: [PATCH 25/31] PT-2340 - Support MySQL 8.4 - Added test for replica lag check for pt-archiver - Re-added deprecated slave- options - Added tests for deprecation warnings and for legacy options for pt-archiver - Removed practically not supported options --replica-user and --replica-password from pt-archiver, pt-kill, pt-query-digest - Added legacy source/replica options (master/slave) variants and tests for pt-heartbeat, pt-online-schema-change, pt-replica-find, pt-replica-restart, pt-table-checksum, pt-table-sync - Updated modules after lib/MasterSlave.pm change --- bin/pt-archiver | 40 +-- bin/pt-heartbeat | 63 ++++- bin/pt-kill | 24 +- bin/pt-online-schema-change | 67 ++++- bin/pt-query-digest | 24 +- bin/pt-replica-find | 38 ++- bin/pt-replica-restart | 69 +++++- bin/pt-table-checksum | 81 +++++- bin/pt-table-sync | 83 ++++++- lib/MasterSlave.pm | 8 +- t/pt-archiver/archive_using_channels.t | 28 ++- t/pt-archiver/replica_lag.t | 261 ++++++++++++++++++++ t/pt-heartbeat/multi_update_mode.t | 58 ++++- t/pt-heartbeat/replica_user.t | 162 ++++++++++++ t/pt-online-schema-change/slave_lag.t | 168 ++++++++++++- t/pt-replica-find/pt-replica-find.t | 73 ++++-- t/pt-replica-find/pt-slave-find.t | 81 ++++-- t/pt-replica-restart/gtid.t | 46 ++++ t/pt-replica-restart/pt-replica-restart.t | 102 ++++++++ t/pt-replica-restart/pt-slave-restart.t | 98 ++++++++ t/pt-replica-restart/until.t | 286 ++++++++++++++++++++++ t/pt-table-checksum/basics.t | 76 +++++- t/pt-table-checksum/bugs.t | 31 ++- t/pt-table-checksum/issue_1651002.t | 41 +++- t/pt-table-checksum/pt-1637.t | 4 +- t/pt-table-checksum/throttle.t | 39 ++- t/pt-table-sync/basics.t | 41 +++- t/pt-table-sync/master_master.t | 92 ++++++- t/pt-table-sync/safety_checks.t | 77 +++++- 29 files changed, 2122 insertions(+), 139 deletions(-) create mode 100644 t/pt-archiver/replica_lag.t create mode 100644 t/pt-heartbeat/replica_user.t create mode 100644 t/pt-replica-restart/until.t diff --git a/bin/pt-archiver b/bin/pt-archiver index 26d4c40d4..b511e957f 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -3707,19 +3707,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -6360,6 +6360,15 @@ sub main { $o->get_specs(); $o->get_opts(); + # Deprecated options + if ( my $slaves = $o->get('check-slave-lag') ) { + warn "Option --check-slave-lag is deprecated and will be removed in future versions. Use --check-replica-lag instead."; + if ( my $replicas = $o->get('check-replica-lag')) { + push(@$slaves, @$replicas); + } + $o->set('check-replica-lag', $slaves); + } + my $dp = $o->DSNParser(); $dp->prop('set-vars', $o->set_vars()); @@ -7906,6 +7915,13 @@ type: string; repeatable: yes Pause archiving until the specified DSN's replica lag is less than L<"--max-lag">. This option can be specified multiple times for checking more than one replica. +=item --check-slave-lag + +type: string; repeatable: yes + +This option is deprecated and will be removed in future releases. +Use L<"--check-replica-lag"> instead. + =item --columns short form: -c; type: array @@ -8329,22 +8345,6 @@ stop archiving and exit. The default is /tmp/pt-archiver-sentinel. You might find this handy to stop cron jobs gracefully if necessary. See also L<"--stop">. -=item --replica-user - -type: string - -Sets the user to be used to connect to the replicas. -This parameter allows you to have a different user with less privileges on the -replicas but that user must exist on all replicas. - -=item --replica-password - -type: string - -Sets the password to be used to connect to the replicas. -It can be used with --replica-user and the password for the user must be the same -on all replicas. - =item --set-vars type: Array diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index af30ed66a..c04db3e1c 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -168,19 +168,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -6117,6 +6117,35 @@ sub main { $o->get_specs(); $o->get_opts(); + # Deprecated options + if ( $o->got('print-master-server-id') ) { + warn "Option --print-master-server-id is deprecated and will be removed in future versions. Use --print-source-server-id instead."; + if ( !$o->got('print-source-server-id') ) { + $o->set('print-source-server-id', $o->get('print-master-server-id')); + } + } + + if ( $o->got('master-server-id') ) { + warn "Option --master-server-id is deprecated and will be removed in future versions. Use --source-server-id instead."; + if ( !$o->got('source-server-id') ) { + $o->set('source-server-id', $o->get('master-server-id')); + } + } + + if ( $o->got('slave-user') ) { + warn "Option --slave-user is deprecated and will be removed in future versions. Use --replica-user instead."; + if ( !$o->got('replica-user') ) { + $o->set('replica-user', $o->get('slave-user')); + } + } + + if ( $o->got('slave-password') ) { + warn "Option --slave-password is deprecated and will be removed in future versions. Use --replica-password instead."; + if ( !$o->got('replica-password') ) { + $o->set('replica-password', $o->get('slave-password')); + } + } + my $dp = $o->DSNParser; $dp->prop('dbidriver', $o->get('dbi-driver')); $dp->prop('set-vars', $o->set_vars()); @@ -7285,6 +7314,13 @@ type: string Print all output to this file when daemonized. +=item --master-server-id + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--source-server-id"> instead. + =item --source-server-id type: string @@ -7334,6 +7370,11 @@ short form: -P; type: int Port number to use for connection. +=item --print-master-server-id + +This option is deprecated and will be removed in future releases. +Use L<"--print-source-server-id"> instead. + =item --print-source-server-id Print the auto-detected or given L<"--source-server-id">. If L<"--check"> @@ -7400,6 +7441,20 @@ type: string; default: /tmp/pt-heartbeat-sentinel Exit if this file exists. +=item --slave-user + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-user"> instead. + +=item --slave-password + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-password"> instead. + =item --replica-user type: string diff --git a/bin/pt-kill b/bin/pt-kill index 7a6f3d918..639b32a5c 100755 --- a/bin/pt-kill +++ b/bin/pt-kill @@ -3984,19 +3984,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -8320,22 +8320,6 @@ The presence of the file specified by L<"--sentinel"> will cause all running instances of pt-kill to exit. You might find this handy to stop cron jobs gracefully if necessary. See also L<"--stop">. -=item --replica-user - -type: string - -Sets the user to be used to connect to the replicas. -This parameter allows you to have a different user with less privileges on the -replicas but that user must exist on all replicas. - -=item --replica-password - -type: string - -Sets the password to be used to connect to the replicas. -It can be used with --replica-user and the password for the user must be the same -on all replicas. - =item --set-vars type: Array diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index 0d985f5da..c1296fb64 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -4272,19 +4272,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -8713,6 +8713,37 @@ sub main { $o->get_specs(); $o->get_opts(); + # Deprecated options + if ( my $slaves = $o->get('check-slave-lag') ) { + warn "Option --check-slave-lag is deprecated and will be removed in future versions. Use --check-replica-lag instead."; + if ( my $replicas = $o->get('check-replica-lag') ) { + push(@$slaves, @$replicas); + } + $o->set('check-replica-lag', $slaves); + } + + if ( my $slaves = $o->get('skip-check-slave-lag') ) { + warn "Option --skip-check-slave-lag is deprecated and will be removed in future versions. Use --skip-check-replica-lag instead."; + if ( my $replicas = $o->get('skip-check-replica-lag') ) { + push(@$slaves, @$replicas); + } + $o->set('skip-check-replica-lag', $slaves); + } + + if ( $o->got('slave-user') ) { + warn "Option --slave-user is deprecated and will be removed in future versions. Use --replica-user instead."; + if ( !$o->got('replica-user') ) { + $o->set('replica-user', $o->get('slave-user')); + } + } + + if ( $o->got('slave-password') ) { + warn "Option --slave-password is deprecated and will be removed in future versions. Use --replica-password instead."; + if ( !$o->got('replica-password') ) { + $o->set('replica-password', $o->get('slave-password')); + } + } + if ( $o->get('null-to-not-null') ) { $ignore_code{1048} = 1; } @@ -13008,6 +13039,13 @@ If you don't want to monitor ALL replicas, but you want more than just one replica to be monitored, then use the DSN option to the L<"--recursion-method"> option instead of this option. +=item --check-slave-lag + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--check-replica-lag"> instead. + =item --chunk-index type: string @@ -13558,6 +13596,27 @@ Example: --skip-check-replica-lag h=127.0.0.1,P=12345 --skip-check-replica-lag h Please take into consideration that even when for the MySQL driver h=127.1 is equal to h=127.0.0.1, for this parameter you need to specify the full IP address. +=item --skip-check-slave-lag + +type: DSN; repeatable: yes + +This option is deprecated and will be removed in future releases. +Use L<"--skip-check-replica-lag"> instead. + +=item --slave-user + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-user"> instead. + +=item --slave-password + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-password"> instead. + =item --replica-user type: string diff --git a/bin/pt-query-digest b/bin/pt-query-digest index 7dd3e57a8..c4d3a78e9 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -10578,19 +10578,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -16569,22 +16569,6 @@ queries. A complete example: pt-query-digest --sample 2 --no-report --output slowlog slow.log -=item --replica-user - -type: string - -Sets the user to be used to connect to the replicas. -This parameter allows you to have a different user with less privileges on the -replicas but that user must exist on all replicas. - -=item --replica-password - -type: string - -Sets the password to be used to connect to the replicas. -It can be used with --replica-user and the password for the user must be the same -on all replicas. - =item --set-vars type: Array diff --git a/bin/pt-replica-find b/bin/pt-replica-find index be5bd8188..c6b58836a 100755 --- a/bin/pt-replica-find +++ b/bin/pt-replica-find @@ -2309,19 +2309,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -4060,6 +4060,20 @@ sub main { $o->get_specs(); $o->get_opts(); + if ( $o->got('slave-user') ) { + warn "Option --slave-user is deprecated and will be removed in future versions. Use --replica-user instead."; + if ( !$o->got('replica-user') ) { + $o->set('replica-user', $o->get('slave-user')); + } + } + + if ( $o->got('slave-password') ) { + warn "Option --slave-password is deprecated and will be removed in future versions. Use --replica-password instead."; + if ( !$o->got('replica-password') ) { + $o->set('replica-password', $o->get('slave-password')); + } + } + my $dp = $o->DSNParser(); $dp->prop('set-vars', $o->set_vars()); @@ -4117,6 +4131,8 @@ sub main { $ms->recurse_to_replicas( { dbh => $dbh, dsn => $master_dsn, + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; if ( !$parent ) { @@ -4567,6 +4583,20 @@ Example: Might delay runtime a few seconds. +=item --slave-user + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-user"> instead. + +=item --slave-password + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-password"> instead. + =item --replica-user type: string diff --git a/bin/pt-replica-restart b/bin/pt-replica-restart index 790a33539..481f728f5 100755 --- a/bin/pt-replica-restart +++ b/bin/pt-replica-restart @@ -2720,19 +2720,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -5234,6 +5234,35 @@ sub main { $o->get_specs(); $o->get_opts(); + # Deprecated options + if ( $o->got('master-uuid') ) { + warn "Option --master-uuid is deprecated and will be removed in future versions. Use --source-uuid instead."; + if ( !$o->got('source-uuid') ) { + $o->set('source-uuid', $o->get('master-uuid')); + } + } + + if ( $o->got('until-master') ) { + warn "Option --until-master is deprecated and will be removed in future versions. Use --until-source instead."; + if ( !$o->got('until-source') ) { + $o->set('until-source', $o->get('until-master')); + } + } + + if ( $o->got('slave-user') ) { + warn "Option --slave-user is deprecated and will be removed in future versions. Use --replica-user instead."; + if ( !$o->got('replica-user') ) { + $o->set('replica-user', $o->get('slave-user')); + } + } + + if ( $o->got('slave-password') ) { + warn "Option --slave-password is deprecated and will be removed in future versions. Use --replica-password instead."; + if ( !$o->got('replica-password') ) { + $o->set('replica-password', $o->get('slave-password')); + } + } + $dp = $o->DSNParser(); $dp->prop('set-vars', $o->set_vars()); @@ -5614,7 +5643,7 @@ sub watch_server { $stat->{last_error} ||= ''; $stat->{last_errno} ||= 0; - if ( $o->get('until-source') && pos_ge($stat, $source_name, $source_name) ) { + if ( $o->get('until-source') && pos_ge($stat, 'source', $source_name) ) { die "Replica has advanced past " . $o->get('until-source') . " on master.\n"; } @@ -5731,7 +5760,7 @@ sub watch_server { sub pos_ge { my ( $stat, $which, $source_name ) = @_; my $fmt = '%s/%020d'; - my $curr = $which eq $source_name + my $curr = $which eq 'source' ? sprintf($fmt, @{$stat}{("relay_${source_name}_log_file", "exec_${source_name}_log_pos")}) : sprintf($fmt, @{$stat}{qw(relay_log_file relay_log_pos)}); my $stop = sprintf($fmt, split(',', $o->get("until-$which"))); @@ -6006,6 +6035,13 @@ type: string Print all output to this file when daemonized. +=item --master-uuid + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--source-user"> instead. + =item --max-sleep type: float; default: 64 @@ -6113,6 +6149,20 @@ type: string; default: /tmp/pt-replica-restart-sentinel Exit if this file exists. +=item --slave-user + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-user"> instead. + +=item --slave-password + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-password"> instead. + =item --replica-user type: string @@ -6212,6 +6262,13 @@ same C job). See also L<"--sentinel">. +=item --until-master + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--until-source"> instead. + =item --until-source type: string diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index 62fa8ee39..1693e5e2b 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -5227,19 +5227,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -10183,6 +10183,44 @@ sub main { $o->get_specs(); $o->get_opts(); + # Deprecated options + if ( my $slaves = $o->get('check-slave-lag') ) { + warn "Option --check-slave-lag is deprecated and will be removed in future versions. Use --check-replica-lag instead."; + if ( my $replicas = $o->get('check-replica-lag') ) { + push(@$slaves, @$replicas); + } + $o->set('check-replica-lag', $slaves); + } + + if ( my $slaves = $o->get('skip-check-slave-lag') ) { + warn "Option --skip-check-slave-lag is deprecated and will be removed in future versions. Use --skip-check-replica-lag instead."; + if ( my $replicas = $o->get('skip-check-replica-lag') ) { + push(@$slaves, @$replicas); + } + $o->set('skip-check-replica-lag', $slaves); + } + + if ( $o->got('check-slave-tables') ) { + warn "Option --[no]check-slave-tables is deprecated and will be removed in future versions. Use --[no]check-replica-tables instead."; + if ( !$o->got('check-replica-tables') ) { + $o->set('check-replica-tables', $o->get('check-slave-tables')); + } + } + + if ( $o->got('slave-user') ) { + warn "Option --slave-user is deprecated and will be removed in future versions. Use --replica-user instead."; + if ( !$o->got('replica-user') ) { + $o->set('replica-user', $o->get('slave-user')); + } + } + + if ( $o->got('slave-password') ) { + warn "Option --slave-password is deprecated and will be removed in future versions. Use --replica-password instead."; + if ( !$o->got('replica-password') ) { + $o->set('replica-password', $o->get('slave-password')); + } + } + my $dp = $o->DSNParser(); $dp->prop('set-vars', $o->set_vars()); @@ -13406,6 +13444,20 @@ cause the tool to break replication when it tries to check for differences. Only disable this check if you are aware of the risks and are sure that all tables on all replicas exist and are identical to the source. +=item --check-slave-lag + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--check-replica-lag"> instead. + +=item --[no]check-slave-tables + +default: yes; group: Safety + +This option is deprecated and will be removed in future releases. +Use L<"--[no]check-replica-tables"> instead. + =item --chunk-index type: string @@ -13983,6 +14035,27 @@ type: DSN; repeatable: yes DSN to skip when checking replica lag. It can be used multiple times. Example: C<--skip-check-replica-lag h=127.1,P=12345 --skip-check-replica-lag h=127.1,P=12346> +=item --skip-check-slave-lag + +type: DSN; repeatable: yes + +This option is deprecated and will be removed in future releases. +Use L<"--skip-check-replica-lag"> instead. + +=item --slave-user + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-user"> instead. + +=item --slave-password + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-password"> instead. + =item --replica-user type: string diff --git a/bin/pt-table-sync b/bin/pt-table-sync index 4a85f9061..9b2bce925 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -6738,19 +6738,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } @@ -7056,8 +7056,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; @@ -10154,6 +10156,42 @@ sub main { $o->get_specs(); $o->get_opts(); + # Deprecated options + if ( $o->got('check-master') ) { + warn "Option --[no]check-master is deprecated and will be removed in future versions. Use --check-source instead."; + if ( !$o->got('check-source') ) { + $o->set('check-source', $o->get('check-master')); + } + } + + if ( $o->got('check-slave') ) { + warn "Option --[no]check-slave is deprecated and will be removed in future versions. Use --check-replica instead."; + if ( !$o->got('check-replica') ) { + $o->set('check-replica', $o->get('check-slave')); + } + } + + if ( $o->got('sync-to-master') ) { + warn "Option --sync-to-master is deprecated and will be removed in future versions. Use --sync-to-source instead."; + if ( !$o->got('sync-to-source') ) { + $o->set('sync-to-source', $o->get('sync-to-master')); + } + } + + if ( $o->got('slave-user') ) { + warn "Option --slave-user is deprecated and will be removed in future versions. Use --replica-user instead."; + if ( !$o->got('replica-user') ) { + $o->set('replica-user', $o->get('slave-user')); + } + } + + if ( $o->got('slave-password') ) { + warn "Option --slave-password is deprecated and will be removed in future versions. Use --replica-password instead."; + if ( !$o->got('replica-password') ) { + $o->set('replica-password', $o->get('slave-password')); + } + } + my $dp = $o->DSNParser(); $dp->prop('set-vars', $o->set_vars()); @@ -12514,6 +12552,20 @@ The error message only prints the first child table found with an C, C, or C foreign key constraint. There could be other affected child tables. +=item --[no]check-master + +default: yes + +This option is deprecated and will be removed in future releases. +Use L<"--[no]check-source"> instead. + +=item --[no]check-slave + +This option is deprecated and will be removed in future releases. +Use L<"--[no]check-replica"> instead. + +default: yes + =item --[no]check-source default: yes @@ -12965,6 +13017,20 @@ The tool will examine server B's copy of the table. If it looks like server B's data in table C is different from server A's copy, the tool will not sync that table on servers C and D. +=item --slave-user + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-user"> instead. + +=item --slave-password + +type: string + +This option is deprecated and will be removed in future releases. +Use L<"--replica-password"> instead. + =item --replica-user type: string @@ -13005,6 +13071,11 @@ short form: -S; type: string Socket file to use for connection. +=item --sync-to-master + +This option is deprecated and will be removed in future releases. +Use L<"--sync-to-source"> instead. + =item --sync-to-source Treat the DSN as a replica and sync it to its source. diff --git a/lib/MasterSlave.pm b/lib/MasterSlave.pm index ece8beac5..4c92c2d25 100644 --- a/lib/MasterSlave.pm +++ b/lib/MasterSlave.pm @@ -85,19 +85,19 @@ sub get_replicas { $self->recurse_to_replicas( { dbh => $dbh, dsn => $dsn, - replica_user => $o->got('replica-user') ? $o->get('replica-user') : '', - replica_password => $o->got('replica-password') ? $o->get('replica-password') : '', + replica_user => ( $o->got('replica-user') or $o->got('slave-user') ) ? $o->get('replica-user') : '', + replica_password => ( $o->got('replica-password') or $o->got('slave-password') ) ? $o->get('replica-password') : '', replicas => $args{replicas}, callback => sub { my ( $dsn, $dbh, $level, $parent ) = @_; return unless $level; PTDEBUG && _d('Found replica:', $dp->as_string($dsn)); my $replica_dsn = $dsn; - if ($o->got('replica-user')) { + if ( $o->got('replica-user') or $o->got('slave-user') ) { $replica_dsn->{u} = $o->get('replica-user'); PTDEBUG && _d("Using replica user ".$o->get('replica-user')." on ".$replica_dsn->{h}.":".$replica_dsn->{P}); } - if ($o->got('replica-password')) { + if ( $o->got('replica-password') or $o->got('slave-password') ) { $replica_dsn->{p} = $o->get('replica-password'); PTDEBUG && _d("Replica password set"); } diff --git a/t/pt-archiver/archive_using_channels.t b/t/pt-archiver/archive_using_channels.t index 2a4019fdd..6fdfc2f5e 100644 --- a/t/pt-archiver/archive_using_channels.t +++ b/t/pt-archiver/archive_using_channels.t @@ -28,7 +28,7 @@ elsif ( !$replica_dbh ) { } elsif ($sandbox_version lt '5.7') { plan skip_all => 'Only on MySQL 5.7+'; } else { - plan tests => 5; + plan tests => 8; } my ($source1_dbh, $source1_dsn) = $sb->start_sandbox( @@ -95,6 +95,32 @@ like ( 'Message saying channel name must be specified' ) or diag($output); +# Legacy option --check-slave-lag +@args = ('--source', $source1_dsn.',D=test,t=t1', '--purge', '--where', sprintf('id >= %d', $num_rows / 2), "--check-slave-lag", $replica1_dsn); + +$output = output( + sub { $exit_status = pt_archiver::main(@args) }, + stderr => 1, +); + +isnt( + $exit_status, + 0, + 'Must specify a channel name', +); + +like ( + $output, + qr/"channel" was not specified/, + 'Message saying channel name must be specified' +) or diag($output); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed' +) or diag($output); + push @args, ('--channel', 'sourcechan1'); output( diff --git a/t/pt-archiver/replica_lag.t b/t/pt-archiver/replica_lag.t new file mode 100644 index 000000000..28a0dac12 --- /dev/null +++ b/t/pt-archiver/replica_lag.t @@ -0,0 +1,261 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; +use Time::HiRes qw(time); + +use PerconaTest; +use Sandbox; +use Data::Dumper; +require "$trunk/bin/pt-archiver"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica1_dbh = $sb->get_dbh_for('replica1'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica1_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica1'; +} + +my $output; +my $cnf = "/tmp/12345/my.sandbox.cnf"; +my @args = qw(--no-delete --where 1=1 --progress 1 --no-check-charset); +my $delay = 10; + +# Prepare tables and replica lag +sub prepare { + $replica1_dbh->do("STOP ${replica_name}"); + $source_dbh->do("RESET ${source_reset}"); + $replica1_dbh->do("RESET ${replica_name}"); + $replica1_dbh->do("START ${replica_name}"); + + $source_dbh->do("DROP DATABASE IF EXISTS test"); + $source_dbh->do("CREATE DATABASE test"); + $source_dbh->do("CREATE TABLE test.test(id INT)"); + $source_dbh->do("CREATE TABLE test.actor LIKE sakila.actor"); + + $replica1_dbh->do("STOP ${replica_name}"); + $replica1_dbh->do("CHANGE ${source_change} TO ${source_name}_DELAY=${delay}"); + $replica1_dbh->do("START ${replica_name}"); + $source_dbh->do("INSERT INTO test.test VALUES(1)"); + + # Sleeping to ensure that replica is lagging when pt-archiver starts + sleep(3); +} + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-replica-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Lag check works' +) or diag($output); + +unlike( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning not printed for option --check-replica-lag' +) or diag($output); + +# Option --check-replica-lag specified two times + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-replica-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox', + '--check-replica-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Lag check works when --check-replica-lag provided two times' +) or diag($output); + +unlike( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --check-replica-lag provided two times' +) or diag($output); + +# Option --check-replica-lag specified two times + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-replica-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox', + '--check-replica-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Test 2: Lag check works when --check-replica-lag provided two times' +) or diag($output); + +unlike( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Test 2: Deprecation warning not printed when option --check-replica-lag provided two times' +) or diag($output); + +# Warning printed for --check-slave-lag but the option works + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-slave-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Lag check works for deprecated option' +) or diag($output); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed for --check-slave-lag' +) or diag($output); + +# Option --check-slave-lag specified two times + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-slave-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox', + '--check-slave-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Lag check works when option --check-slave-lag provided two times' +) or diag($output); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --check-slave-lag provided two times' +) or diag($output); + +# Mix of --check-slave-lag amd --check-replica-lag options + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-replica-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox', + '--check-slave-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Lag check works for --check-replica-lag when --check-slave-lag also provided' +) or diag($output); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --check-slave-lag' +) or diag($output); + +# Mix of --check-slave-lag amd --check-replica-lag options + +prepare(); + +$output = output( + sub { + pt_archiver::main(@args, + '--source', "D=sakila,t=actor,F=$cnf", + '--dest', "D=test,t=actor,F=$cnf", + '--check-slave-lag', 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox', + '--check-replica-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +like( + $output, + qr/Sleeping: slave lag for server/, + 'Lag check works for --check-slave-lag when --check-replica-lag also provided' +) or diag($output); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --check-slave-lag' +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +$replica1_dbh->do("STOP ${replica_name}"); +$source_dbh->do("RESET ${source_reset}"); +$replica1_dbh->do("RESET ${replica_name}"); +$replica1_dbh->do("START ${replica_name}"); + +$sb->wipe_clean($source_dbh); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); + +done_testing; diff --git a/t/pt-heartbeat/multi_update_mode.t b/t/pt-heartbeat/multi_update_mode.t index 5d69a49b3..cf08bb1c0 100644 --- a/t/pt-heartbeat/multi_update_mode.t +++ b/t/pt-heartbeat/multi_update_mode.t @@ -32,7 +32,7 @@ elsif ( !$replica2_dbh ) { plan skip_all => 'Cannot connect to sandbox replica2'; } else { - plan tests => 29; + plan tests => 35; } diag(`rm -rf /tmp/pt-heartbeat-sentinel >/dev/null 2>&1`); @@ -196,9 +196,28 @@ like( "--check 12347, automatic source server_id" ) or diag($output); +$output = output( + sub { pt_heartbeat::main(qw(-h 127.1 -P 12347 -u msandbox -p msandbox), + qw(-D test --check --print-master-server-id)) }, + stderr => 1 +); + +like( + $output, + qr/0\.\d\d\s+12346\n/, + "--check 12347, automatic source server_id with legacy option" +) or diag($output); + +like( + $output, + qr/Option --print-master-server-id is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --print-master-server-id' +) or diag($output); + $output = output( sub { pt_heartbeat::main(qw(-h 127.1 -P 12347 -u msandbox -p msandbox), qw(-D test --check --print-source-server-id --source-server-id 12346)) }, + stderr => 1 ); like( @@ -207,6 +226,43 @@ like( "--check 12347 from --source-server-id 12346" ); +$output = output( + sub { pt_heartbeat::main(qw(-h 127.1 -P 12347 -u msandbox -p msandbox), + qw(-D test --check --print-source-server-id --master-server-id 12346)) }, + stderr => 1 +); + +like( + $output, + qr/0\.\d\d\s+12346\n/, + "--check 12347 from --master-server-id 12346" +) or diag($output); + +like( + $output, + qr/Option --master-server-id is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --master-server-id' +) or diag($output); + +$output = output( + sub { pt_heartbeat::main(qw(-h 127.1 -P 12347 -u msandbox -p msandbox), + qw(-D test --check --print-source-server-id --master-server-id 12346), + qw( --source-server-id 12345)) }, + stderr => 1 +); + +like( + $output, + qr/0\.\d\d\s+12345\n/, + "--check 12347 from --source-server-id 12345 regardless of --master-server-id 12346" +); + +like( + $output, + qr/Option --master-server-id is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --master-server-id' +) or diag($output); + $output = output( sub { pt_heartbeat::main(qw(-h 127.1 -P 12347 -u msandbox -p msandbox), qw(-D test --check --print-source-server-id --source-server-id 12345)) }, diff --git a/t/pt-heartbeat/replica_user.t b/t/pt-heartbeat/replica_user.t new file mode 100644 index 000000000..995f34272 --- /dev/null +++ b/t/pt-heartbeat/replica_user.t @@ -0,0 +1,162 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; + +use PerconaTest; +use Sandbox; +use SqlModes; +require "$trunk/bin/pt-heartbeat"; + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica1_dbh = $sb->get_dbh_for('replica1'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica1_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica1'; +} + +my $cnf = "/tmp/12345/my.sandbox.cnf"; +my ($output, $exit_code); +my $rows; + +$source_dbh->do('CREATE DATABASE IF NOT EXISTS test'); + +# Create a new user that is going to be replicated on replicas. +if ($sandbox_version eq '8.0') { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'replica_password'/); +} else { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED BY 'replica_password'/); +} +$sb->do_as_root("replica1", q/GRANT REPLICATION CLIENT ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +$sb->wait_for_replicas(); + +# Ensure we cannot connect to replicas using standard credentials +# Since replica2 is a replica of replica1, removing the user from the replica1 will remove +# the user also from replica2 +$sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); +$sb->do_as_root("replica1", q/FLUSH TABLES/); + +($output, $exit_code) = full_output( + sub { + pt_heartbeat::main( + qw(-h 127.1 -u msandbox -p msandbox -P 12345 --database test), + qw(--table heartbeat --create-table --update --interval 0.5 --run-time 2), + qw(--replica-user replica_user --replica-password replica_password) + ) + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "pt-heartbeat finished correctly" +) or diag($output); + +$rows = `/tmp/12346/use -u root -s -e "select server_id from test.heartbeat"`; + +chomp $rows; + +is( + $rows, + 12345, + "Replica1 has source heartbeat", +); + +unlike( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-user provided' +) or diag($output); + +unlike( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-password provided' +) or diag($output); + +$source_dbh->do('TRUNCATE TABLE test.heartbeat'); + +$rows = `/tmp/12346/use -u root -s -e "select count(*) from test.heartbeat"`; + +chomp $rows; + +is( + $rows, + 0, + 'Heartbeat table truncated on replica' +); + +($output, $exit_code) = full_output( + sub { + pt_heartbeat::main( + qw(-h 127.1 -u msandbox -p msandbox -P 12345 --database test), + qw(--table heartbeat --create-table --update --interval 0.5 --run-time 2), + qw(--slave-user replica_user --slave-password replica_password) + ) + }, + stderr => 1, +); + +is( + $exit_code, + 0, + "pt-heartbeat finished correctly" +) or diag($output); + +$rows = `/tmp/12346/use -u root -s -e "select server_id from test.heartbeat"`; + +chomp $rows; + +is( + $rows, + 12345, + "Replica1 has source heartbeat", +); + +like( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-user provided' +) or diag($output); + +like( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-password provided' +) or diag($output); + +# ############################################################################# +# Done. +# ############################################################################# +# Drop test user +$sb->do_as_root("replica1", q/DROP USER 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +# Restore privilegs for the other test files +$sb->do_as_root("replica1", q/RENAME USER 'msandbox_old'@'%' TO 'msandbox'@'%'/); +$sb->do_as_root("source", q/FLUSH PRIVILEGES/); +$sb->do_as_root("source", q/FLUSH TABLES/); + +$sb->wipe_clean($source_dbh); + +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); + +done_testing; +exit; diff --git a/t/pt-online-schema-change/slave_lag.t b/t/pt-online-schema-change/slave_lag.t index be880aeca..3a758a9ca 100644 --- a/t/pt-online-schema-change/slave_lag.t +++ b/t/pt-online-schema-change/slave_lag.t @@ -36,7 +36,7 @@ my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); if ($sb->is_cluster_mode) { plan skip_all => 'Not for PXC'; } else { - plan tests => 6; + plan tests => 18; } my $source_dbh = $sb->get_dbh_for('source'); my $replica_dbh = $sb->get_dbh_for('replica1'); @@ -97,7 +97,7 @@ like( $output, qr/Replica lag is \d+ seconds on .* Waiting/s, "Base test waits on the correct replica", -); +) or diag($output); # Repeat the test now using --check-replica-lag $args = "$source_dsn,D=test,t=pt178 --execute --chunk-size 1 --max-lag $max_lag --alter 'ENGINE=InnoDB' " @@ -120,6 +120,39 @@ like( "--check-replica-lag waits on the correct replica", ); +unlike( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --check-replica-lag provided' +) or diag($output); + +# Repeat the test now using deprecated --check-slave-lag +$args = "$source_dsn,D=test,t=pt178 --execute --chunk-size 1 --max-lag $max_lag --alter 'ENGINE=InnoDB' " + . "--check-slave-lag h=127.0.0.1,P=12346,u=msandbox,p=msandbox,D=test,t=sbtest --pid $tmp_file_name --progress time,5"; + +# Run a full table scan query to ensure the replica is behind the source +reset_query_cache($source_dbh, $source_dbh); +# Update one row so replica is delayed +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 LIMIT 1'); +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 WHERE f1 = ""'); + +# We need to sleep, otherwise pt-osc can finish before replica is delayed +sleep($max_lag); +diag("Starting deprecated --check-slave-lag test. This is going to take some time due to the delay in the replica"); +$output = `$trunk/bin/pt-online-schema-change $args 2>&1`; + +like( + $output, + qr/Replica lag is \d+ seconds on .* Waiting/s, + "--check-slave-lag waits on the correct replica", +); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --check-slave-lag provided' +) or diag($output); + # Repeat the test new adding and removing a replica during the process $args = "$source_dsn,D=test,t=pt178 --execute --chunk-size 1 --max-lag $max_lag --alter 'ENGINE=InnoDB' " . "--recursion-method=dsn=D=test,t=dynamic_replicas --recurse 0 --pid $tmp_file_name --progress time,5"; @@ -188,6 +221,137 @@ unlike( "--skip-check-replica-lag is really skipping the replica", ); +unlike( + $output, + qr/Option --skip-check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --skip-check-replica-lag provided' +) or diag($output); + +# Repeat the test now using deprecated --skip-check-slave-lag +# Run a full table scan query to ensure the replica is behind the source +reset_query_cache($source_dbh, $source_dbh); +# Update one row so replica is delayed +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 LIMIT 1'); +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 WHERE f1 = ""'); + +# We need to sleep, otherwise pt-osc can finish before replica is delayed +sleep($max_lag); +$args = "$source_dsn,D=test,t=pt178 --execute --chunk-size 1 --max-lag $max_lag --alter 'ENGINE=InnoDB' " + . "--skip-check-slave-lag h=127.0.0.1,P=12346,u=msandbox,p=msandbox,D=test,t=sbtest --pid $tmp_file_name --progress time,5"; + +diag("Starting deprecated --skip-check-slave-lag test. This is going to take some time due to the delay in the replica"); +$output = `$trunk/bin/pt-online-schema-change $args 2>&1`; + +unlike( + $output, + qr/Replica lag is \d+ seconds on .*:12346. Waiting/s, + "--skip-check-slave-lag is really skipping the replica", +); + +like( + $output, + qr/Option --skip-check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --skip-check-slave-lag provided' +) or diag($output); + +# Test --replica-user and --replica-password + +# Create a new user that is going to be replicated on replicas. +if ($sandbox_version eq '8.0') { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'replica_password'/); +} else { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED BY 'replica_password'/); +} +$sb->do_as_root("replica1", q/GRANT REPLICATION CLIENT ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +$sb->wait_for_replicas(); + +# Ensure we cannot connect to replicas using standard credentials +# Since replica2 is a replica of replica1, removing the user from the replica1 will remove +# the user also from replica2 +$sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); +$sb->do_as_root("replica1", q/FLUSH TABLES/); + +# Repeat the basic test with --replica-user and --replica-password +# Run a full table scan query to ensure the replica is behind the source +reset_query_cache($source_dbh, $source_dbh); +# Update one row so replica is delayed +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 LIMIT 1'); +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 WHERE f1 = ""'); + +# We need to sleep, otherwise pt-osc can finish before replica is delayed +sleep($max_lag); +$args = "$source_dsn,D=test,t=pt178 --execute --chunk-size 10 --max-lag $max_lag --alter 'ENGINE=InnoDB' " + . "--pid $tmp_file_name --progress time,5 " + . "--replica-user replica_user --replica-password replica_password"; + +diag("Starting basic test with --replica-user and --replica-password. This is going to take some time due to the delay in the replica"); +$output = `$trunk/bin/pt-online-schema-change $args 2>&1`; + +like( + $output, + qr/Replica lag is \d+ seconds on .*:12346. Waiting/s, + "Basic test waits on the correct replica with --replica-user and --replica-password", +) or diag($output); + +unlike( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning not printed for option --replica-user' +) or diag($output); + +unlike( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning not printed for option --replica-password' +) or diag($output); + +# Repeat the basic test with deprecated --slave-user and --slave-password +# Run a full table scan query to ensure the replica is behind the source +reset_query_cache($source_dbh, $source_dbh); +# Update one row so replica is delayed +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 LIMIT 1'); +$source_dbh->do('UPDATE `test`.`pt178` SET f2 = f2 + 1 WHERE f1 = ""'); + +# We need to sleep, otherwise pt-osc can finish before replica is delayed +sleep($max_lag); +$args = "$source_dsn,D=test,t=pt178 --execute --chunk-size 10 --max-lag $max_lag --alter 'ENGINE=InnoDB' " + . "--pid $tmp_file_name --progress time,5 " + . "--slave-user replica_user --slave-password replica_password"; + +diag("Starting basic test with deprecated --slave-user and --slave-password. This is going to take some time due to the delay in the replica"); +$output = `$trunk/bin/pt-online-schema-change $args 2>&1`; + +like( + $output, + qr/Replica lag is \d+ seconds on .*:12346. Waiting/s, + "Basic test waits on the correct replica with --slave-user and --slave-password", +) or diag($output); + +like( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --slave-user' +) or diag($output); + +like( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --slave-password' +) or diag($output); + +# Drop test user +$sb->do_as_root("replica1", q/DROP USER 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +# Restore privilegs for the other tests +$sb->do_as_root("replica1", q/RENAME USER 'msandbox_old'@'%' TO 'msandbox'@'%'/); +$sb->do_as_root("source", q/FLUSH PRIVILEGES/); +$sb->do_as_root("source", q/FLUSH TABLES/); + diag("Setting replica delay to 0 seconds"); $replica_dbh->do("STOP ${replica_name}"); $source_dbh->do("RESET ${source_reset}"); diff --git a/t/pt-replica-find/pt-replica-find.t b/t/pt-replica-find/pt-replica-find.t index 77e9119e6..2eeedc6a4 100644 --- a/t/pt-replica-find/pt-replica-find.t +++ b/t/pt-replica-find/pt-replica-find.t @@ -44,7 +44,7 @@ elsif ( !$replica2_dbh ) { plan skip_all => 'Cannot connect to second sandbox replica'; } else { - plan tests => 10; + plan tests => 13; } my @args = ('h=127.0.0.1,P=12345,u=msandbox,p=msandbox,s=1'); @@ -68,6 +68,63 @@ my $expected = <do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'replica_password'/); +} else { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED BY 'replica_password'/); +} +$sb->do_as_root("replica1", q/GRANT REPLICATION CLIENT ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +$sb->wait_for_replicas(); + +# Ensure we cannot connect to replicas using standard credentials +# Since replica2 is a replica of replica1, removing the user from the replica1 will remove +# the user also from replica2 +$sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); +$sb->do_as_root("replica1", q/FLUSH TABLES/); + +$output = `$trunk/bin/pt-replica-find -h 127.0.0.1 -P 12345 -u msandbox -p msandbox s=1 --report-format hostname --replica-user replica_user --replica-password replica_password`; +$expected = <do_as_root("replica1", q/DROP USER 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +# Restore privilegs for the other tests +$sb->do_as_root("replica1", q/RENAME USER 'msandbox_old'@'%' TO 'msandbox'@'%'/); +$sb->do_as_root("source", q/FLUSH PRIVILEGES/); +$sb->do_as_root("source", q/FLUSH TABLES/); + ############################################################################### # Test --resolve-hostname option (we don't know the hostname of the test # machine so we settle for any non null string) @@ -79,20 +136,6 @@ like ( "--resolve-address option" ) or diag($output); -# ############################################################################# -# Until MasterSlave::find_replica_hosts() is improved to overcome the problems -# with SHOW REPLICA HOSTS, this test won't work. -# ############################################################################# -# Make replica2 replica of source. -#diag(`../../mk-slave-move/mk-slave-move --sibling-of-master h=127.1,P=12347`); -#$output = `perl ../mk-slave-find -h 127.0.0.1 -P 12345 -u msandbox -p msandbox`; -#$expected = < 'Cannot connect to second sandbox replica'; } else { - plan tests => 10; + plan tests => 14; } my @args = ('h=127.0.0.1,P=12345,u=msandbox,p=msandbox,s=1'); @@ -68,6 +68,71 @@ my $expected = <do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'replica_password'/); +} else { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED BY 'replica_password'/); +} +$sb->do_as_root("replica1", q/GRANT REPLICATION CLIENT ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +$sb->wait_for_replicas(); + +# Ensure we cannot connect to replicas using standard credentials +# Since replica2 is a replica of replica1, removing the user from the replica1 will remove +# the user also from replica2 +$sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); +$sb->do_as_root("replica1", q/FLUSH TABLES/); + +$output = `$trunk/bin/pt-replica-find -h 127.0.0.1 -P 12345 -u msandbox -p msandbox s=1 --report-format hostname --slave-user replica_user --slave-password replica_password 2>/dev/null`; +$expected = <&1`; + +like( + $output, + qr/\+- 127.0.0.1:12347/, + 'Test 2: Source with replica and replica of replica with --slave-user/--slave-password' +) or diag($output); + +like( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --slave-user' +) or diag($output); + +like( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning printed for option --slave-password' +) or diag($output); + +# Repeat the basic test with deprecated --slave-user and --slave-password +# Drop test user +$sb->do_as_root("replica1", q/DROP USER 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +# Restore privilegs for the other tests +$sb->do_as_root("replica1", q/RENAME USER 'msandbox_old'@'%' TO 'msandbox'@'%'/); +$sb->do_as_root("source", q/FLUSH PRIVILEGES/); +$sb->do_as_root("source", q/FLUSH TABLES/); + ############################################################################### # Test --resolve-hostname option (we don't know the hostname of the test # machine so we settle for any non null string) @@ -79,20 +144,6 @@ like ( "--resolve-address option" ) or diag($output); -# ############################################################################# -# Until MasterSlave::find_replica_hosts() is improved to overcome the problems -# with SHOW REPLICA HOSTS, this test won't work. -# ############################################################################# -# Make replica2 replica of source. -#diag(`../../mk-slave-move/mk-slave-move --sibling-of-master h=127.1,P=12347`); -#$output = `perl ../mk-slave-find -h 127.0.0.1 -P 12345 -u msandbox -p msandbox`; -#$expected = < 'all'; use English qw(-no_match_vars); use Test::More; use Data::Dumper; +use File::Temp qw(tempfile); use PerconaTest; use Sandbox; @@ -162,6 +163,51 @@ like( stop() or die "Failed to stop pt-replica-restart"; +# ############################################################################# +# Test the replica of the source with deprecated option syntax. +# ############################################################################# + +$source_dbh->do('DROP DATABASE IF EXISTS test'); +$source_dbh->do('CREATE DATABASE test'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +$sb->wait_for_replicas; + +# Bust replication +$replica2_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +wait_repl_broke($replica2_dbh) or die "Failed to break replication"; + +# fetch the source uuid, which is the machine we need to skip an event from +$r = $source_dbh->selectrow_hashref('select @@GLOBAL.server_uuid as uuid'); +$uuid = $r->{uuid}; + +$r = $replica2_dbh->selectrow_hashref("show ${replica_name} status"); +like( + $r->{last_error}, + qr/Table 'test.t' doesn't exist'/, + 'replicaofreplica - deprecated option: Replication broke'); + +# Start an instance +my (undef, $tempfile) = tempfile(); +start("--master-uuid=$uuid $replica2_dsn > $tempfile 2>&1") or die; +wait_repl_ok($replica2_dbh); + +like( + slurp_file($tempfile), + qr/Option --master-uuid is deprecated and will be removed in future versions./, + 'Deprecation warning printed for legacy option --master-uuid' +); + +$r = $replica2_dbh->selectrow_hashref("show ${replica_name} status"); +like( + $r->{last_errno}, + qr/^0$/, + 'Skips event from source on replica2 for deprecated --master-uuid' +) or BAIL_OUT("Replication is broken"); + +stop() or die "Failed to stop pt-replica-restart"; +diag(`rm $tempfile >/dev/null`); + # ############################################################################# # Test skipping 2 events in a row. # ############################################################################# diff --git a/t/pt-replica-restart/pt-replica-restart.t b/t/pt-replica-restart/pt-replica-restart.t index 2db4da27c..a8c0ef6f7 100644 --- a/t/pt-replica-restart/pt-replica-restart.t +++ b/t/pt-replica-restart/pt-replica-restart.t @@ -105,6 +105,108 @@ unlike( '--error-text works (issue 459)' ); +$replica_dbh->do('CREATE TABLE test.t (a INT)'); +$replica_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + +# ############################################################################# +# Testing --recurse option +# ############################################################################# +# Bust replication again. +$source_dbh->do('DROP TABLE IF EXISTS test.t'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +sleep 1; +$replica_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +$output = `/tmp/12346/use -e "show ${replica_name} status"`; +like( + $output, + qr/Table 'test.t' doesn't exist'/, + 'It is busted again' +); + +# Start an instance +$output = `$trunk/bin/pt-replica-restart --max-sleep 0.25 -h 127.0.0.1 -P 12345 -u msandbox -p msandbox --error-text "doesn't exist" --run-time 1s --recurse 1 2>&1`; + +like( + $output, + qr/P=12346/, + 'Replica discovered' +); + +$replica_dbh->do('CREATE TABLE test.t (a INT)'); +$replica_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + +# ############################################################################# +# Testing --recurse option with --replica-user/--replica-password +# ############################################################################# +# Create a new user that is going to be replicated on replicas. +if ($sandbox_version eq '8.0') { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'replica_password'/); +} else { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED BY 'replica_password'/); +} +$sb->do_as_root("replica1", q/GRANT REPLICATION CLIENT ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +$sb->wait_for_replicas(); + +# Bust replication again. +$source_dbh->do('DROP TABLE IF EXISTS test.t'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +sleep 1; +$replica_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +$output = `/tmp/12346/use -e "show ${replica_name} status"`; +like( + $output, + qr/Table 'test.t' doesn't exist'/, + 'It is busted again' +); + +# Ensure we cannot connect to replicas using standard credentials +# Since replica2 is a replica of replica1, removing the user from the replica1 will remove +# the user also from replica2 +$sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); +$sb->do_as_root("replica1", q/FLUSH TABLES/); + +# Start an instance +$output = `$trunk/bin/pt-replica-restart --max-sleep 0.25 -h 127.0.0.1 -P 12345 -u msandbox -p msandbox --error-text "doesn't exist" --run-time 1s --recurse 1 --replica-user replica_user --replica-password replica_password 2>&1`; + +like( + $output, + qr/P=12346/, + 'Replica discovered with --replica-user/--replica-password' +); + +unlike( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-user provided' +) or diag($output); + +unlike( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-password provided' +) or diag($output); + +# Drop test user +$sb->do_as_root("replica1", q/DROP USER 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +# Restore privilegs for the other tests +$sb->do_as_root("replica1", q/RENAME USER 'msandbox_old'@'%' TO 'msandbox'@'%'/); +$sb->do_as_root("source", q/FLUSH PRIVILEGES/); +$sb->do_as_root("source", q/FLUSH TABLES/); + +$replica_dbh->do('CREATE TABLE test.t (a INT)'); +$replica_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + # ########################################################################### # Issue 391: Add --pid option to all scripts # ########################################################################### diff --git a/t/pt-replica-restart/pt-slave-restart.t b/t/pt-replica-restart/pt-slave-restart.t index 3cd3a516e..b8aacf81e 100644 --- a/t/pt-replica-restart/pt-slave-restart.t +++ b/t/pt-replica-restart/pt-slave-restart.t @@ -105,6 +105,104 @@ unlike( '--error-text works (issue 459)' ); +# ############################################################################# +# Testing --recurse option +# ############################################################################# +# Bust replication again. +$source_dbh->do('DROP TABLE IF EXISTS test.t'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +sleep 1; +$replica_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +$output = `/tmp/12346/use -e "show ${replica_name} status"`; +like( + $output, + qr/Table 'test.t' doesn't exist'/, + 'It is busted again' +); + +# Start an instance +$output = `$trunk/bin/pt-slave-restart --max-sleep 0.25 -h 127.0.0.1 -P 12345 -u msandbox -p msandbox --error-text "doesn't exist" --run-time 1s --recurse 1 2>&1`; + +like( + $output, + qr/P=12346/, + 'Replica discovered' +); + +$replica_dbh->do('CREATE TABLE test.t (a INT)'); +$replica_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + +# ############################################################################# +# Testing --recurse option with --slave-user/--slave-password +# ############################################################################# +# Create a new user that is going to be replicated on replicas. +if ($sandbox_version eq '8.0') { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'replica_password'/); +} else { + $sb->do_as_root("replica1", q/CREATE USER 'replica_user'@'localhost' IDENTIFIED BY 'replica_password'/); +} +$sb->do_as_root("replica1", q/GRANT REPLICATION CLIENT ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +$sb->wait_for_replicas(); + +# Bust replication again. +$source_dbh->do('DROP TABLE IF EXISTS test.t'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +sleep 1; +$replica_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +$output = `/tmp/12346/use -e "show ${replica_name} status"`; +like( + $output, + qr/Table 'test.t' doesn't exist'/, + 'It is busted again' +); + +# Ensure we cannot connect to replicas using standard credentials +# Since replica2 is a replica of replica1, removing the user from the replica1 will remove +# the user also from replica2 +$sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); +$sb->do_as_root("replica1", q/FLUSH TABLES/); + +# Start an instance +$output = `$trunk/bin/pt-slave-restart --max-sleep 0.25 -h 127.0.0.1 -P 12345 -u msandbox -p msandbox --error-text "doesn't exist" --run-time 1s --recurse 1 --slave-user replica_user --slave-password replica_password 2>&1`; + +like( + $output, + qr/P=12346/, + 'Replica discovered with --slave-user/--slave-password' +); + +like( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-user provided' +) or diag($output); + +like( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-password provided' +) or diag($output); + +# Drop test user +$sb->do_as_root("replica1", q/DROP USER 'replica_user'@'localhost'/); +$sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); + +# Restore privilegs for the other tests +$sb->do_as_root("replica1", q/RENAME USER 'msandbox_old'@'%' TO 'msandbox'@'%'/); +$sb->do_as_root("source", q/FLUSH PRIVILEGES/); +$sb->do_as_root("source", q/FLUSH TABLES/); + +$replica_dbh->do('CREATE TABLE test.t (a INT)'); +$replica_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + # ########################################################################### # Issue 391: Add --pid option to all scripts # ########################################################################### diff --git a/t/pt-replica-restart/until.t b/t/pt-replica-restart/until.t new file mode 100644 index 000000000..ac058326d --- /dev/null +++ b/t/pt-replica-restart/until.t @@ -0,0 +1,286 @@ +#!/usr/bin/env perl + +BEGIN { + die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n" + unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH}; + unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib"; +}; + +use strict; +use warnings FATAL => 'all'; +use English qw(-no_match_vars); +use Test::More; +use Data::Dumper; +use File::Temp qw(tempfile); + +use PerconaTest; +use Sandbox; +require "$trunk/bin/pt-replica-restart"; + +diag('Restarting the sandbox'); +diag(`SAKILA=0 REPLICATION_THREADS=0 $trunk/sandbox/test-env restart`); +diag("Sandbox restarted"); + +my $dp = new DSNParser(opts=>$dsn_opts); +my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); +my $source_dbh = $sb->get_dbh_for('source'); +my $replica1_dbh = $sb->get_dbh_for('replica1'); +my $replica2_dbh = $sb->get_dbh_for('replica2'); + +if ( !$source_dbh ) { + plan skip_all => 'Cannot connect to sandbox source'; +} +elsif ( !$replica1_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica1'; +} +elsif ( !$replica2_dbh ) { + plan skip_all => 'Cannot connect to sandbox replica2'; +} + +my $replica1_dsn = $sb->dsn_for("replica1"); +my $replica2_dsn = $sb->dsn_for("replica2"); + +my $pid_file = "/tmp/pt-replica-restart-test-$PID.pid"; +my $log_file = "/tmp/pt-replica-restart-test-$PID.log"; +my $cmd = "$trunk/bin/pt-replica-restart --daemonize --run-time 5 --max-sleep 0.25 --pid $pid_file --log $log_file"; + +sub start { + my ( $extra ) = @_; + stop() or return; + system "$cmd $extra"; + PerconaTest::wait_for_files($pid_file); +} + +sub stop() { + return 1 if !is_running(); + diag(`$trunk/bin/pt-replica-restart --stop -q >/dev/null 2>&1 &`); + wait_until(sub { !-f $pid_file }, 0.3, 2); + diag(`rm -f /tmp/pt-replica-restart-sentinel`); + return is_running() ? 0 : 1; +} + +sub is_running { + chomp(my $running = `ps -eaf | grep -v grep | grep '$cmd'`); + if (!-f $pid_file && !$running) { + return 0; + } elsif (-f $pid_file && !$running) { + diag(`rm -f $pid_file`); + return 0; + } + return 1; +} + +sub wait_repl_broke { + my $dbh = shift; + return wait_until( + sub { + my $row = $dbh->selectrow_hashref("show ${replica_name} status"); + return $row->{last_sql_errno}; + } + ); +} + +sub wait_repl_ok { + my $dbh = shift; + wait_until( + sub { + my $row = $dbh->selectrow_hashref("show ${replica_name} status"); + return $row->{last_sql_errno} == 0; + }, + 0.30, + 5, + ); +} + +# ############################################################################# +# Testing --until-source option +# ############################################################################# + +$source_dbh->do('DROP DATABASE IF EXISTS test'); +$source_dbh->do('CREATE DATABASE test'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +$sb->wait_for_replicas; + +# Bust replication +$replica1_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +wait_repl_broke($replica1_dbh) or die "Failed to break replication"; + +my $r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +like($r->{last_error}, qr/Table 'test.t' doesn't exist'/, 'replica: Replication broke'); + +$source_dbh->do('INSERT INTO test.t SELECT 2'); +$r = $source_dbh->selectrow_hashref("show ${source_status} status"); +my $until_file = $r->{file}; +my $until_pos = $r->{position}; +$source_dbh->do('INSERT INTO test.t SELECT 3'); + +my (undef, $tempfile) = tempfile(); + +# Start pt-replica-restart and wait up to 5s for it to fix replication +# (it should take < 1s but tests can be really slow sometimes). +start("--until-source=${until_file},${until_pos} $replica1_dsn > $tempfile 2>&1") or die "Failed to start pt-replica-restart"; +wait_repl_ok($replica1_dbh); + +# Check if replication is fixed. +$r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +like( + $r->{last_errno}, + qr/^0$/, + 'Event is skipped', +) or BAIL_OUT("Replication is broken: " . Dumper($r) . `cat $log_file`); + +is( + $r->{"relay_${source_name}_log_file"}, + $until_file, + 'Started until specified source binary log file' +) or diag(Dumper($r)); + +is( + $r->{"exec_${source_name}_log_pos"}, + $until_pos, + 'Started until specified source binary log pos' +) or diag(Dumper($r)); + +unlike( + slurp_file($tempfile), + qr/Option --until-master is deprecated and will be removed in future versions./, + 'Deprecation warning not printed for option --unitl-source' +) or diag(slurp_file($tempfile)); + +# Stop pt-replica-restart. +stop() or die "Failed to stop pt-replica-restart"; +diag(`rm $tempfile >/dev/null`); + +$replica1_dbh->do('CREATE TABLE test.t (a INT)'); +$replica1_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; +# ############################################################################# +# Testing legacy --until-master option +# ############################################################################# +$source_dbh->do('DROP DATABASE IF EXISTS test'); +$source_dbh->do('CREATE DATABASE test'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +$sb->wait_for_replicas; + +# Bust replication +$replica1_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +wait_repl_broke($replica1_dbh) or die "Failed to break replication"; + +$r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +like($r->{last_error}, qr/Table 'test.t' doesn't exist'/, 'replica: Replication broke'); + +$source_dbh->do('INSERT INTO test.t SELECT 2'); +$r = $source_dbh->selectrow_hashref("show ${source_status} status"); +$until_file = $r->{file}; +$until_pos = $r->{position}; +$source_dbh->do('INSERT INTO test.t SELECT 3'); + +(undef, $tempfile) = tempfile(); + +# Start pt-replica-restart and wait up to 5s for it to fix replication +# (it should take < 1s but tests can be really slow sometimes). +start("--until-master=${until_file},${until_pos} $replica1_dsn > $tempfile 2>&1") or die "Failed to start pt-replica-restart"; +wait_repl_ok($replica1_dbh); + +# Check if replication is fixed. +$r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +like( + $r->{last_errno}, + qr/^0$/, + 'Event is skipped', +) or BAIL_OUT("Replication is broken: " . Dumper($r) . `cat $log_file`); + +is( + $r->{"relay_${source_name}_log_file"}, + $until_file, + 'Started until specified source binary log file' +) or diag(Dumper($r)); + +is( + $r->{"exec_${source_name}_log_pos"}, + $until_pos, + 'Started until specified source binary log pos' +) or diag(Dumper($r)); + +like( + slurp_file($tempfile), + qr/Option --until-master is deprecated and will be removed in future versions./, + 'Deprecation warning printed for legacy option --unitl-master' +) or diag(slurp_file($tempfile)); + +# Stop pt-replica-restart. +stop() or die "Failed to stop pt-replica-restart"; +diag(`rm $tempfile >/dev/null`); + +$replica1_dbh->do('CREATE TABLE test.t (a INT)'); +$replica1_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + +# ############################################################################# +# Testing --until-relay option +# ############################################################################# +$source_dbh->do('DROP DATABASE IF EXISTS test'); +$source_dbh->do('CREATE DATABASE test'); +$source_dbh->do('CREATE TABLE test.t (a INT)'); +$sb->wait_for_replicas; + +# Bust replication +$replica1_dbh->do('DROP TABLE test.t'); +$source_dbh->do('INSERT INTO test.t SELECT 1'); +wait_repl_broke($replica1_dbh) or die "Failed to break replication"; + +$r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +like($r->{last_error}, qr/Table 'test.t' doesn't exist'/, 'replica: Replication broke'); + +$r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +$until_file = $r->{relay_log_file}; +my $rm1 = $source_dbh->selectrow_hashref("show ${source_status} status"); +$source_dbh->do('INSERT INTO test.t SELECT 2'); +my $rm2 = $source_dbh->selectrow_hashref("show ${source_status} status"); +$until_pos = $r->{relay_log_pos} + $rm2->{position} - $rm1->{position}; +$source_dbh->do('INSERT INTO test.t SELECT 3'); + +(undef, $tempfile) = tempfile(); + +# Start pt-replica-restart and wait up to 5s for it to fix replication +# (it should take < 1s but tests can be really slow sometimes). +start("--until-relay=${until_file},${until_pos} $replica1_dsn > $tempfile 2>&1") or die "Failed to start pt-replica-restart"; +wait_repl_ok($replica1_dbh); + +# Check if replication is fixed. +$r = $replica1_dbh->selectrow_hashref("show ${replica_name} status"); +like( + $r->{last_errno}, + qr/^0$/, + 'Event is skipped', +) or BAIL_OUT("Replication is broken: " . Dumper($r) . `cat $log_file`); + +is( + $r->{"relay_log_file"}, + $until_file, + 'Started until specified relay log file' +) or diag(Dumper($r)); + +is( + $r->{"relay_log_pos"}, + $until_pos, + 'Started until specified relay log pos' +) or diag(Dumper($r)); + +# Stop pt-replica-restart. +stop() or die "Failed to stop pt-replica-restart"; +diag(`rm $tempfile >/dev/null`); + +$replica1_dbh->do('CREATE TABLE test.t (a INT)'); +$replica1_dbh->do("start ${replica_name}"); +$sb->wait_for_replicas; + +# ############################################################################# +# Done. +# ############################################################################# +diag(`rm -f $pid_file $log_file >/dev/null`); +diag(`$trunk/sandbox/test-env restart`); +ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox"); +done_testing; diff --git a/t/pt-table-checksum/basics.t b/t/pt-table-checksum/basics.t index c1e8ad433..9a28e9a39 100644 --- a/t/pt-table-checksum/basics.t +++ b/t/pt-table-checksum/basics.t @@ -38,7 +38,7 @@ elsif ( !$replica1_dbh ) { elsif ( !@{$source_dbh->selectall_arrayref("show databases like 'sakila'")} ) { plan skip_all => 'sakila database is not loaded'; } else { - plan tests => 40; + plan tests => 46; } # The sandbox servers run with lock_wait_timeout=3 and it's not dynamic @@ -208,6 +208,80 @@ is_deeply( "--emptry-replicate-table on by default" ) or print STDERR Dumper($row); +# ############################################################################ +# --[no]check-replica-tables +# ############################################################################ + +$sb->wipe_clean($source_dbh); +$sb->load_file('source', 't/pt-table-checksum/samples/issue_21.sql'); + +$replica2_dbh->do('ALTER TABLE test.issue_21 DROP COLUMN b'); + +($output, $exit_status) = full_output( + sub { + pt_table_checksum::main(@args, + qw(-t test.issue_21), + qw(--chunk-time 0 --chunk-size 2 --no-check-replica-tables --no-replicate-check), + '--skip-check-replica-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +is( + $exit_status, + 0, + 'no error with --no-check-replica-tables' +); + +like( + $output, + qr/Skipping replica h=127.0.0.1,P=12347/, + 'Broken replica skipped with --no-check-replica-tables and --skip-check-replica-lag' +); + +unlike( + $output, + qr/Option --\[no\]check-slave-tables is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --no-check-replica-tables provided' +) or diag($output); + +($output, $exit_status) = full_output( + sub { + pt_table_checksum::main(@args, + qw(-t test.issue_21), + qw(--chunk-time 0 --chunk-size 2 --no-check-slave-tables --no-replicate-check), + '--skip-check-replica-lag', 'h=127.0.0.1,P=12347,u=msandbox,p=msandbox' + ) + }, + stderr => 1 +); + +is( + $exit_status, + 0, + 'no error with --no-check-slave-tables' +); + +like( + $output, + qr/Skipping replica h=127.0.0.1,P=12347/, + 'Broken replica skipped with -no-check-slave-tables and --skip-check-replica-lag' +); + +like( + $output, + qr/Option --\[no\]check-slave-tables is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --no-check-slave-tables provided' +) or diag($output); + +$sb->load_file( + 'replica2', + 't/pt-table-checksum/samples/issue_21.sql', + undef, + no_wait => 1 +); +$replica2_dbh->do("START ${replica_name}"); # ############################################################################ # --[no]recheck # ############################################################################ diff --git a/t/pt-table-checksum/bugs.t b/t/pt-table-checksum/bugs.t index d2378772d..34edfe27a 100644 --- a/t/pt-table-checksum/bugs.t +++ b/t/pt-table-checksum/bugs.t @@ -206,7 +206,6 @@ like( "Bug 1016131: ptc should skip tables where all columns are excluded" ); -# Test #12 { $output = output( sub { pt_table_checksum::main(@args, @@ -222,6 +221,36 @@ like( "--skip-check-replica-lag", ); +unlike( + $output, + qr/Option --skip-check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --skip-check-replica-lag provided' +) or diag($output); + +# Deprecatted option --skip-check-slave-lag +$output = output( + sub { + pt_table_checksum::main(@args, + '--skip-check-slave-lag', "h=127.0.0.1,P=".$sb->port_for('replica1'), + ), + }, + stderr => 1, +); + +$skipping_str = "Skipping.*".$sb->port_for('replica1'); +like( + $output, + qr/$skipping_str/s, + "--skip-check-slave-lag", +); + +like( + $output, + qr/Option --skip-check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --skip-check-slave-lag provided' +) or diag($output); + +# Test #12 # Test for skip-check-replica-lag and empty replica port $output = output( sub { pt_table_checksum::main(@args, diff --git a/t/pt-table-checksum/issue_1651002.t b/t/pt-table-checksum/issue_1651002.t index 137aad0d2..30592b2e3 100644 --- a/t/pt-table-checksum/issue_1651002.t +++ b/t/pt-table-checksum/issue_1651002.t @@ -24,7 +24,7 @@ if ( !$dbh ) { plan skip_all => 'Cannot connect to sandbox source'; } else { - plan tests => 2; + plan tests => 7; } # The sandbox servers run with lock_wait_timeout=3 and it's not dynamic @@ -57,17 +57,56 @@ $sb->do_as_root("replica1", q/RENAME USER 'msandbox'@'%' TO 'msandbox_old'@'%'/) $sb->do_as_root("replica1", q/FLUSH PRIVILEGES/); $sb->do_as_root("replica1", q/FLUSH TABLES/); +$output = output( + sub { pt_table_checksum::main(@args) }, + stderr => 1, +); + +is( + PerconaTest::count_checksum_results($output, 'rows'), + 6, + "Large BLOB/TEXT/BINARY Checksum" +) or diag($output); + +unlike( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-user provided' +) or diag($output); + +unlike( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-password provided' +) or diag($output); + +#Legacy variant + +@args = ($source_dsn, qw(--replicate test.checksums -d test --slave-user replica_user --slave-password replica_password --ignore-databases mysql)); $output = output( sub { pt_table_checksum::main(@args) }, stderr => 1, ); + is( PerconaTest::count_checksum_results($output, 'rows'), 6, "Large BLOB/TEXT/BINARY Checksum" ) or diag($output); +like( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-user provided' +) or diag($output); + +like( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-password provided' +) or diag($output); + # ############################################################################# # Done. # ############################################################################# diff --git a/t/pt-table-checksum/pt-1637.t b/t/pt-table-checksum/pt-1637.t index 794928b50..5ba0ab4fe 100644 --- a/t/pt-table-checksum/pt-1637.t +++ b/t/pt-table-checksum/pt-1637.t @@ -63,7 +63,7 @@ my @args = ($source1_dsn, # The sandbox servers run with lock_wait_timeout=3 and it's not dynamic # so we need to specify --set-vars innodb_lock_wait_timeout=3 else the tool will die. -$sb->do_as_root("chan_replica1", 'stop ${replica_name} IO_thread;'); +$sb->do_as_root("chan_replica1", "stop ${replica_name} IO_thread;"); my $output; my $exit_status; @@ -79,7 +79,7 @@ is( "PT-1637 exist status 128 if replication is stopped and --fail-on-replication-stopped", ); -$sb->do_as_root("chan_replica1", 'start ${replica_name} IO_thread;'); +$sb->do_as_root("chan_replica1", "start ${replica_name} IO_thread;"); sleep(2); $sb->stop_sandbox(qw(chan_source1 chan_replica2 chan_replica1)); diff --git a/t/pt-table-checksum/throttle.t b/t/pt-table-checksum/throttle.t index 97c8a4187..e6a77e04b 100644 --- a/t/pt-table-checksum/throttle.t +++ b/t/pt-table-checksum/throttle.t @@ -37,7 +37,7 @@ elsif ( !$replica2_dbh ) { plan skip_all => 'Cannot connect to sandbox replica2'; } else { - plan tests => 4; + plan tests => 8; } # The sandbox servers run with lock_wait_timeout=3 and it's not dynamic @@ -90,6 +90,43 @@ is( "Ignores replica1 when --check-replica-lag=replica2" ); +unlike( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --check-replica-lag provided' +) or diag($output); + +$row = $source_dbh->selectall_arrayref("select * from percona.checksums where db='sakila' and tbl='city'"); +is( + scalar @$row, + 1, + "Checksummed table" +); + +$source_dbh->do("delete from percona.checksums where db='sakila' and tbl='city'"); + +# Checksum but only use replica2 to check for lag with deprecated --check-slave-lag. +($output, $exit_status) = full_output( + sub { + pt_table_checksum::main(@args, + qw(-t sakila.city --quiet), + qw(--no-replicate-check), '--check-slave-lag', 'P=12347') + }, + stderr => 1, +); + +is( + $exit_status, + 0, + "Ignores replica1 when --check-slave-lag=replica2" +); + +like( + $output, + qr/Option --check-slave-lag is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --check-slave-lag provided' +) or diag($output); + $row = $source_dbh->selectall_arrayref("select * from percona.checksums where db='sakila' and tbl='city'"); is( scalar @$row, diff --git a/t/pt-table-sync/basics.t b/t/pt-table-sync/basics.t index d77441d40..2b7a2efbf 100644 --- a/t/pt-table-sync/basics.t +++ b/t/pt-table-sync/basics.t @@ -29,7 +29,7 @@ elsif ( !$replica_dbh ) { plan skip_all => 'Cannot connect to sandbox replica'; } else { - plan tests => 24; + plan tests => 30; } $sb->create_dbs($source_dbh, [qw(test)]); @@ -131,6 +131,45 @@ is_deeply( 'Synced OK with --replica-user' ); +unlike( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-user provided' +) or diag($output); + +unlike( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --replica-password provided' +) or diag($output); + +$sb->load_file('source', 't/pt-table-sync/samples/before.sql'); +$output = run('test1', 'test2', '--algorithms Chunk,GroupBy --no-bin-log --slave-user replica_user --slave-password replica_password'); + +like( + $output, + qr/INSERT INTO `test`.`test2`\(`a`, `b`\) VALUES \('1', 'en'\);\nINSERT INTO `test`.`test2`\(`a`, `b`\) VALUES \('2', 'ca'\);/, + 'Basic Chunk sync with --slave-user/--slave-password' +); + +is_deeply( + query_replica('select * from test.test2'), + [ { a => 1, b => 'en' }, { a => 2, b => 'ca' } ], + 'Synced OK with --slave-user' +); + +like( + $output, + qr/Option --slave-user is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-user provided' +) or diag($output); + +like( + $output, + qr/Option --slave-password is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --slave-password provided' +) or diag($output); + $sb->load_file('source', 't/pt-table-sync/samples/before.sql'); $output = run('test1', 'test2', '--algorithms Nibble --no-bin-log'); is($output, "INSERT INTO `test`.`test2`(`a`, `b`) VALUES ('1', 'en'); diff --git a/t/pt-table-sync/master_master.t b/t/pt-table-sync/master_master.t index 860a6c93b..2f729cb7a 100644 --- a/t/pt-table-sync/master_master.t +++ b/t/pt-table-sync/master_master.t @@ -18,7 +18,7 @@ require "$trunk/bin/pt-table-sync"; my $dp = new DSNParser(opts=>$dsn_opts); my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); -plan tests => 4; +plan tests => 11; # ############################################################################# # Ensure that syncing source-source works OK @@ -26,13 +26,11 @@ plan tests => 4; # Start up 12348 <-> 12349 diag('Starting source-source servers...'); -#diag(`$trunk/sandbox/start-sandbox source-source 12348 12349 >/dev/null`); diag(`$trunk/sandbox/start-sandbox source-source 12348 12349`); my $source1_dbh = $sb->get_dbh_for('source1'); my $source2_dbh = $sb->get_dbh_for('source2'); # Load some tables and data (on both, since they're source-source). -$source1_dbh->do("CREATE DATABASE test"); $sb->load_file("source1", "t/pt-table-sync/samples/before.sql"); $sb->wait_for_replicas(); $sb->wait_for_replicas( @@ -57,6 +55,7 @@ my $output = output( qw(--no-check-replica --sync-to-source --print --execute), "h=127.0.0.1,P=12348,u=msandbox,p=msandbox,D=test,t=test1") }, + stderr => 1 ); # 0 = ok no diffs @@ -74,6 +73,18 @@ like( "SQL to sync diff" ); +unlike( + $output, + qr/Option --sync-to-master is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --sync-to-source provided' +) or diag($output); + +unlike( + $output, + qr/Option --\[no\]check-slave is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --no-check-replica provided' +) or diag($output); + PerconaTest::wait_for_table($source1_dbh, "test.test1", "a=1 and b='mm'"); my $rows = $source1_dbh->selectall_arrayref("SELECT * FROM test.test1"); @@ -83,6 +94,81 @@ is_deeply( "Diff row synced on source1" ); +diag('Stopping source-source servers...'); +diag(`$trunk/sandbox/stop-sandbox 12348 12349 >/dev/null`); +# ############################################################################# +# Repeat the test with deprecated options. +# ############################################################################# + +# Start up 12348 <-> 12349 +diag('Starting source-source servers...'); +diag(`$trunk/sandbox/start-sandbox source-source 12348 12349`); +$source1_dbh = $sb->get_dbh_for('source1'); +$source2_dbh = $sb->get_dbh_for('source2'); + +$sb->load_file("source1", "t/pt-table-sync/samples/before.sql"); +$sb->wait_for_replicas(); +$sb->wait_for_replicas( + source => 'source1', + replica => 'source2', + ); + +# Make source2 different from source1. So source2 has the _correct_ data, +# and the sync below will make source1 have that data too. +$source2_dbh->do("set sql_log_bin=0"); +$source2_dbh->do("update test.test1 set b='mm' where a=1"); +$source2_dbh->do("set sql_log_bin=1"); + +# This will make source1's data match the changed, correcct data on source2 +# (that is _not_ a typo). The sync direction is therefore source2 -> source1 +# because, given the command below, the given host source1 and with +# --sync-to-source that makes source2 "the" source with the correct data. +$exit_status = 0; +$output = output( + sub { + $exit_status = pt_table_sync::main( + qw(--no-check-slave --sync-to-master --print --execute), + "h=127.0.0.1,P=12348,u=msandbox,p=msandbox,D=test,t=test1") + }, + stderr =>1 +); + +# 0 = ok no diffs +# 1 = error +# >1 = sum(@status{@ChangeHandler::ACTIONS}) +is( + $exit_status, + 2, + "Exit status 2" +); + +like( + $output, + qr/REPLACE INTO `test`\.`test1`\s*\(`a`, `b`\) VALUES\s*\('1', 'mm'\)/, + "SQL to sync diff" +); + +like( + $output, + qr/Option --sync-to-master is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --sync-to-master provided' +) or diag($output); + +like( + $output, + qr/Option --\[no\]check-slave is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --no-check-slave provided' +) or diag($output); + + +PerconaTest::wait_for_table($source1_dbh, "test.test1", "a=1 and b='mm'"); +$rows = $source1_dbh->selectall_arrayref("SELECT * FROM test.test1"); +is_deeply( + $rows, + [ [1, 'mm'], [2, 'ca'] ], + "Diff row synced on source1" +); + diag('Stopping source-source servers...'); diag(`$trunk/sandbox/stop-sandbox 12348 12349 >/dev/null`); diff --git a/t/pt-table-sync/safety_checks.t b/t/pt-table-sync/safety_checks.t index a4589d138..2dea0ac78 100644 --- a/t/pt-table-sync/safety_checks.t +++ b/t/pt-table-sync/safety_checks.t @@ -20,12 +20,13 @@ my $output; my $dp = new DSNParser(opts=>$dsn_opts); my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); my $source_dbh = $sb->get_dbh_for('source'); -my $replica_dbh = $sb->get_dbh_for('replica1'); +my $replica1_dbh = $sb->get_dbh_for('replica1'); +my $replica2_dbh = $sb->get_dbh_for('replica2'); if ( !$source_dbh ) { plan skip_all => 'Cannot connect to sandbox source'; } -elsif ( !$replica_dbh ) { +elsif ( !$replica1_dbh ) { plan skip_all => 'Cannot connect to sandbox replica'; } @@ -59,7 +60,7 @@ like( "check-child-tables: error message" ); -my $rows = $replica_dbh->selectall_arrayref("select * from on_del_cas.child2"); +my $rows = $replica1_dbh->selectall_arrayref("select * from on_del_cas.child2"); is_deeply( $rows, [ [1,1] ], @@ -80,6 +81,76 @@ unlike( "check-child-tables: no error message with --print" ); +# ############################################################################# +# --[no]check-source +# ############################################################################# +# Connecting replica with wrong user name +$replica1_dbh->do("STOP ${replica_name}"); +$replica1_dbh->do("CHANGE ${source_change} TO ${source_name}_port=12347, ${source_name}_user='does_not_exist'"); +$replica1_dbh->do("START ${replica_name}"); + +$output = output( + sub { + pt_table_sync::main($replica1_dsn, qw(--sync-to-source), + qw(--execute -d on_del_cas --wait 0)) + }, + stderr => 1, +); + +like( + $output, + qr/The server specified as a source has no connected replicas/, + "Error when --check-source is enabled (default)" +) or diag($output); + +$output = output( + sub { + pt_table_sync::main($replica1_dsn, qw(--sync-to-source), + qw(--execute -d on_del_cas --wait 0 --no-check-source)) + }, + stderr => 1, +); + +unlike( + $output, + qr/The server specified as a source has no connected replicas/, + "No wrong source error when --check-source is disabled" +) or diag($output); + +unlike( + $output, + qr/Option --\[no\]check-master is deprecated and will be removed in future versions./, + 'Deprecation warning not printed when option --no-check-source provided' +) or diag($output); + +# Legacy option +$output = output( + sub { + pt_table_sync::main($replica1_dsn, qw(--sync-to-source), + qw(--execute -d on_del_cas --wait 0 --no-check-master)) + }, + stderr => 1, +); + +unlike( + $output, + qr/The server specified as a source has no connected replicas/, + "No wrong source error when --check-master is disabled" +) or diag($output); + +like( + $output, + qr/Option --\[no\]check-master is deprecated and will be removed in future versions./, + 'Deprecation warning printed when option --no-check-master provided' +) or diag($output); + +$replica1_dbh->do("STOP ${replica_name}"); +$replica1_dbh->do("CHANGE ${source_change} TO ${source_name}_port=12345, ${source_name}_user='msandbox'"); +$replica1_dbh->do("START ${replica_name}"); +$replica1_dbh->do("STOP ${replica_name}"); +$replica1_dbh->do("CHANGE ${source_change} TO ${source_name}_port=12345, ${source_name}_user='msandbox'"); +$replica1_dbh->do("START ${replica_name}"); + # ############################################################################# # Done. # ############################################################################# From e4281dc6c297871635e7e47872cc902a005eda62 Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 4 Oct 2024 18:32:39 +0300 Subject: [PATCH 26/31] PT-2340 - Support MySQL 8.4 - Adjusted t/pt-deadlock-logger/check_schema_exists.t so it makes sense --- t/pt-deadlock-logger/check_schema_exists.t | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/t/pt-deadlock-logger/check_schema_exists.t b/t/pt-deadlock-logger/check_schema_exists.t index b664a913b..1538bb6b9 100644 --- a/t/pt-deadlock-logger/check_schema_exists.t +++ b/t/pt-deadlock-logger/check_schema_exists.t @@ -19,7 +19,7 @@ my $dp = new DSNParser(opts=>$dsn_opts); my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp); my $dbh = $sb->get_dbh_for('source'); -my ($output, $exist_status) = full_output( +my ($output, $exit_status) = full_output( sub { pt_deadlock_logger::main( "h=127.1,D=non_existent_db,u=msandbox,p=msandbox", @@ -29,6 +29,17 @@ my ($output, $exist_status) = full_output( } ); +is( + $exit_status, + 2, + 'Dies when connects to non existent database' +); + +like( + $output, + qr/Unknown database 'non_existent_db'/, + 'Error printed when connects to non existent database' +); # ############################################################################# # Done. # ############################################################################# From fcb2d549b838e15268be5fd00906f99af1bc27a9 Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 4 Oct 2024 19:02:07 +0300 Subject: [PATCH 27/31] PT-2340 - Support MySQL 8.4 - Adjusted pt-variable-advisor, so it reflects current defaults --- bin/pt-variable-advisor | 22 ++++++++++++++++++---- lib/VariableAdvisorRules.pm | 15 +++++++++++---- t/lib/samples/show-variables/vars001.txt | 4 ++-- t/lib/samples/show-variables/vars002.txt | 4 ++-- 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/bin/pt-variable-advisor b/bin/pt-variable-advisor index 4228adf76..671e6f6b7 100755 --- a/bin/pt-variable-advisor +++ b/bin/pt-variable-advisor @@ -3445,7 +3445,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return _var_eq($args{variables}->{innodb_buffer_pool_size}, - 10 * 1_048_576); # 10M + 128 * 1_048_576); # 10M }, }, { @@ -3502,7 +3502,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return _var_gt($args{variables}->{innodb_log_buffer_size}, - 16 * 1_048_576); # 16M + 64 * 1_048_576); # 16M }, }, { @@ -3510,7 +3510,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return _var_eq($args{variables}->{innodb_log_file_size}, - 5 * 1_048_576); # 5M + 48 * 1_048_576); # 5M }, }, { @@ -3633,6 +3633,13 @@ sub get_rules { 512 * 1_048_576); # 512M }, }, + { + id => 'query_cache_size-3', + code => sub { + my ( %args ) = @_; + return _var_neq($args{variables}->{query_cache_size}, 0); + }, + }, { id => 'read_buffer_size-1', code => sub { @@ -3833,7 +3840,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return 0 unless $args{variables}->{storage_engine}; - return $args{variables}->{storage_engine} !~ m/InnoDB|MyISAM/i ? 1 : 0; + return $args{variables}->{storage_engine} !~ m/InnoDB/i ? 1 : 0; }, }, { @@ -5839,6 +5846,13 @@ severity: warn The query cache can cause severe performance problems when it is larger than 256MB, especially on multi-core machines. +=item query_cache_size-3 + +severity: note + +The query cache can cause severe performance problems when it is +enabled, especially in high concurrent loads on multi-core machines. + =item read_buffer_size-1 severity: note diff --git a/lib/VariableAdvisorRules.pm b/lib/VariableAdvisorRules.pm index 72a5732a5..994833e1c 100644 --- a/lib/VariableAdvisorRules.pm +++ b/lib/VariableAdvisorRules.pm @@ -149,7 +149,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return _var_eq($args{variables}->{innodb_buffer_pool_size}, - 10 * 1_048_576); # 10M + 128 * 1_048_576); # 10M }, }, { @@ -206,7 +206,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return _var_gt($args{variables}->{innodb_log_buffer_size}, - 16 * 1_048_576); # 16M + 64 * 1_048_576); # 16M }, }, { @@ -214,7 +214,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return _var_eq($args{variables}->{innodb_log_file_size}, - 5 * 1_048_576); # 5M + 48 * 1_048_576); # 5M }, }, { @@ -337,6 +337,13 @@ sub get_rules { 512 * 1_048_576); # 512M }, }, + { + id => 'query_cache_size-3', + code => sub { + my ( %args ) = @_; + return _var_neq($args{variables}->{query_cache_size}, 0); + }, + }, { id => 'read_buffer_size-1', code => sub { @@ -537,7 +544,7 @@ sub get_rules { code => sub { my ( %args ) = @_; return 0 unless $args{variables}->{storage_engine}; - return $args{variables}->{storage_engine} !~ m/InnoDB|MyISAM/i ? 1 : 0; + return $args{variables}->{storage_engine} !~ m/InnoDB/i ? 1 : 0; }, }, { diff --git a/t/lib/samples/show-variables/vars001.txt b/t/lib/samples/show-variables/vars001.txt index 25e287f55..06f7ec6aa 100644 --- a/t/lib/samples/show-variables/vars001.txt +++ b/t/lib/samples/show-variables/vars001.txt @@ -89,7 +89,7 @@ | innodb_lock_wait_timeout | 50 | | innodb_locks_unsafe_for_binlog | OFF | | innodb_log_buffer_size | 1048576 | -| innodb_log_file_size | 5242880 | +| innodb_log_file_size | 50331648 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | /tmp/12345/data | | innodb_max_dirty_pages_pct | 90 | @@ -243,7 +243,7 @@ | ssl_cert | | | ssl_cipher | | | ssl_key | | -| storage_engine | MyISAM | +| storage_engine | InnoDB | | sync_binlog | 0 | | sync_frm | ON | | system_time_zone | MDT | diff --git a/t/lib/samples/show-variables/vars002.txt b/t/lib/samples/show-variables/vars002.txt index bf21825d1..77b64df27 100644 --- a/t/lib/samples/show-variables/vars002.txt +++ b/t/lib/samples/show-variables/vars002.txt @@ -87,7 +87,7 @@ innodb_force_recovery 0 innodb_lock_wait_timeout 3 innodb_locks_unsafe_for_binlog OFF innodb_log_buffer_size 1048576 -innodb_log_file_size 5242880 +innodb_log_file_size 50331648 innodb_log_files_in_group 2 innodb_log_group_home_dir /tmp/12345/data innodb_max_dirty_pages_pct 90 @@ -241,7 +241,7 @@ ssl_capath ssl_cert ssl_cipher ssl_key -storage_engine MyISAM +storage_engine InnoDB sync_binlog 0 sync_frm ON system_time_zone MDT From 86fe02143458d1dd4c60a837ed78c2aa5cccc44d Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 4 Oct 2024 19:06:01 +0300 Subject: [PATCH 28/31] PT-2340 - Support MySQL 8.4 - Updated modules --- bin/pt-archiver | 6 ++++-- bin/pt-heartbeat | 6 ++++-- bin/pt-kill | 6 ++++-- bin/pt-online-schema-change | 6 ++++-- bin/pt-query-digest | 6 ++++-- bin/pt-replica-find | 6 ++++-- bin/pt-replica-restart | 6 ++++-- bin/pt-table-checksum | 6 ++++-- bin/pt-table-sync | 6 +++--- lib/MasterSlave.pm | 6 ++++-- 10 files changed, 39 insertions(+), 21 deletions(-) diff --git a/bin/pt-archiver b/bin/pt-archiver index b511e957f..4e3d48b7e 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -4025,8 +4025,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index c04db3e1c..c20273cad 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -486,8 +486,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-kill b/bin/pt-kill index 639b32a5c..c401a3ca9 100755 --- a/bin/pt-kill +++ b/bin/pt-kill @@ -4302,8 +4302,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index c1296fb64..c9a784747 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -4590,8 +4590,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-query-digest b/bin/pt-query-digest index c4d3a78e9..ae98493cb 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -10896,8 +10896,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-replica-find b/bin/pt-replica-find index c6b58836a..02e961aa4 100755 --- a/bin/pt-replica-find +++ b/bin/pt-replica-find @@ -2627,8 +2627,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-replica-restart b/bin/pt-replica-restart index 481f728f5..0dfdb45c9 100755 --- a/bin/pt-replica-restart +++ b/bin/pt-replica-restart @@ -3038,8 +3038,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index 1693e5e2b..038f26b01 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -5545,8 +5545,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/bin/pt-table-sync b/bin/pt-table-sync index 9b2bce925..eb1d3e122 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -7057,9 +7057,9 @@ sub is_source_of { } if ( ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for source to send event' ) - || ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for master to send event' ) ) + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { my ( $source_log_name, $source_log_num ) = $source_status->{file} =~ m/^(.*?)\.0*([1-9][0-9]*)$/; diff --git a/lib/MasterSlave.pm b/lib/MasterSlave.pm index 4c92c2d25..8eb69c887 100644 --- a/lib/MasterSlave.pm +++ b/lib/MasterSlave.pm @@ -453,8 +453,10 @@ sub is_source_of { . $replica_status->{"${source_name}_user"}; } - if ( ($replica_status->{replica_io_state} || '') - eq 'Waiting for ${source_name} to send event' ) + if ( ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for source to send event' ) + || ( ($replica_status->{replica_io_state} || '') + eq 'Waiting for master to send event' ) ) { # The replica thinks its I/O thread is caught up to the source. Let's # compare and make sure the source and replica are reasonably close to each From 287a1c03310b57a90bf895f81716f142b143300a Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Fri, 4 Oct 2024 19:33:04 +0300 Subject: [PATCH 29/31] PT-2340 - Support MySQL 8.4 - Fixed typo in bin/pt-table-sync --- bin/pt-table-sync | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/pt-table-sync b/bin/pt-table-sync index eb1d3e122..99656fe41 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -11338,7 +11338,7 @@ sub print_err { # %args - Arguments # # Required Arguments: -# OptionaParser - object +# OptionParser - object # DSNParser - object # # Returns: From aab0b0cd22e6abb259df279c6920ddc0a897a329 Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Sun, 6 Oct 2024 22:55:48 +0300 Subject: [PATCH 30/31] PT-2340 - Support MySQL 8.4 - Fixed typos --- bin/pt-config-diff | 2 +- bin/pt-heartbeat | 4 ++-- bin/pt-replica-restart | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/pt-config-diff b/bin/pt-config-diff index 434d5025d..927a31917 100755 --- a/bin/pt-config-diff +++ b/bin/pt-config-diff @@ -5692,7 +5692,7 @@ There is no output when there are no differences. When there are differences, pt-config-diff prints a report to STDOUT that looks similar to the following: 2 config differences - Variable my.soource.cnf my.replica.cnf + Variable my.source.cnf my.replica.cnf ========================= =============== =============== datadir /tmp/12345/data /tmp/12346/data port 12345 12346 diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index c20273cad..d8b931f3e 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -6978,7 +6978,7 @@ pt-heartbeat measures replication lag on a MySQL or PostgreSQL server. You can use it to update a replication source or monitor a replica. If possible, MySQL connection options are read from your .my.cnf file. -Start daemonized process to update test.heartbeat table on replicaiton source: +Start daemonized process to update test.heartbeat table on replication source: pt-heartbeat -D test --update -h source-server --daemonize @@ -7018,7 +7018,7 @@ avoids reliance on the replication mechanism itself, which is unreliable. (For example, C on MySQL). The first part is an L<"--update"> instance of pt-heartbeat that connects to -a replicaiton source and updates a timestamp ("heartbeat record") every +a replication source and updates a timestamp ("heartbeat record") every L<"--interval"> seconds. Since the heartbeat table may contain records from multiple replication sources (see L<"MULTI-REPLICA HIERARCHY">), the server's ID (@@server_id) is used to identify records. diff --git a/bin/pt-replica-restart b/bin/pt-replica-restart index 0dfdb45c9..6a8366024 100755 --- a/bin/pt-replica-restart +++ b/bin/pt-replica-restart @@ -6131,7 +6131,7 @@ Possible methods are: hosts SHOW REPLICAS (SHOW SLAVE HOSTS before MySQL 8.1) none Do not find replicas -The processlist method is preferred because SHOW REPLCIAS is not reliable. +The processlist method is preferred because SHOW REPLICAS is not reliable. However, the hosts method is required if the server uses a non-standard port (not 3306). Usually pt-replica-restart does the right thing and finds the replicas, but you may give a preferred method and it will be used first. From a2102efb868e091970f36e1596139dcbd52c35a1 Mon Sep 17 00:00:00 2001 From: Sveta Smirnova Date: Mon, 7 Oct 2024 15:52:38 +0300 Subject: [PATCH 31/31] PT-2340 - Support MySQL 8.4 - s/slave lag/replica lag/ in reports --- bin/pt-archiver | 6 +++--- bin/pt-online-schema-change | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/pt-archiver b/bin/pt-archiver index 4e3d48b7e..093b11af0 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -7285,7 +7285,7 @@ sub main { PTDEBUG && _d('Got another row in this chunk'); } - # Check slave lag and wait if slave is too far behind. + # Check replica lag and wait if slave is too far behind. # Do this check every 100 rows if (@lag_dbh && $lag_count++ % 100 == 0 ) { foreach my $lag_server (@lag_dbh) { @@ -7294,9 +7294,9 @@ sub main { if ( $lag_dbh ) { my $lag = $ms->get_replica_lag($lag_dbh); while ( !defined $lag || $lag > $o->get('max-lag') ) { - PTDEBUG && _d("Sleeping: slave lag for server '$id' is", $lag); + PTDEBUG && _d("Sleeping: replica lag for server '$id' is", $lag); if ($o->got('progress')) { - _d("Sleeping: slave lag for server '$id' is", $lag); + _d("Sleeping: replica lag for server '$id' is", $lag); } sleep($o->get('check-interval')); $lag = $ms->get_replica_lag($lag_dbh); diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index c9a784747..5e05bb173 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -9272,7 +9272,7 @@ sub main { } if ( my $dsn = $o->get('check-replica-lag') ) { - PTDEBUG && _d('Will use --check-replica-lag to check for slave lag'); + PTDEBUG && _d('Will use --check-replica-lag to check for replica lag'); my $cxn = $make_cxn->( dsn_string => $o->get('check-replica-lag'), #prev_dsn => $cxn->dsn(),