Maxscale read write split and route filter
The problem was not maxscale's.

I found out that even if the count of routed requests to the slave was incrementing, no connection was ever made to the slave.

Here is a functional status with established connections to the slave, whereas I had always 0 connection before:

maxadmin -pmariadb show servers

Server 0x46d6010 (master-db)
    Server:                         X.X.X.X
    Status:                         Master, Running
    Protocol:                       MySQLBackend
    Port:                           3306
    Server Version:                 10.0.21-MariaDB-wsrep-log
    Node Id:                        1
    Master Id:                      -1
    Slave Ids:                      2
    Repl Depth:                     0
    Number of connections:          54
    Current no. of conns:           0
    Current no. of operations:  0
Server 0x46306a0 (slave-db)
    Server:                         127.0.0.1
    Status:                         Slave, Running
    Protocol:                       MySQLBackend
    Port:                           3306
    Server Version:                 10.0.22-MariaDB
    Node Id:                        2
    Master Id:                      1
    Slave Ids:
    Repl Depth:                     1
    Number of connections:          54
    Current no. of conns:           0
    Current no. of operations:  0


The reason was that the slave went into unsynced mod after testing database creations and deletions because I'm only binlogging one database.

I had to redo the slave with a dump from the following command for innodb databases:

mysqldump -u root -p*** --master-data --single-transaction mydb | gzip &gt; dump.sql.gz


After that, all selects were correctly routed to the slave without the need of a filter.