type=page
status=published
title=list-protocol-filters
next=list-protocol-finders.html
prev=list-persistence-types.html
~~~~~~

list-protocol-filters
=====================

[[list-protocol-filters-1]][[GSRFM00193]][[list-protocol-filters]]

list-protocol-filters
---------------------

Lists the existing protocol filters

[[sthref1750]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-protocol-filters [--help]
[--target server]
protocol-name
----

[[sthref1751]]

=== Description

The `list-protocol-filters` subcommand lists the existing protocol
filters. This subcommand is supported in remote mode only.

[[sthref1752]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
target::
  Restricts the listing to protocol filters for a specified target.
  Valid values are as follows:

  `server`;;
    Lists the protocol filters for the default server instance. This is
    the default value.
  configuration-name;;
    Lists the protocol filters for the specified configuration.
  cluster-name;;
    Lists the protocol filters for all server instances in the specified
    cluster.
  instance-name;;
    Lists the protocol filters for the specified server instance.

[[sthref1753]]

=== Operands

protocol-name::
  The name of the protocol for which to list protocol filters.

[[sthref1754]]

=== Examples

[[GSRFM704]][[sthref1755]]

==== Example 1   Listing Protocol Filters

The following command lists all the protocol filters for the server
instance:

[source]
----
asadmin> list-protocol-filters http1
http1-filter
https1-filter
Command list-protocol-filters executed successfully.
----

[[sthref1756]]

=== Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref1757]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-protocol-filter.html#create-protocol-filter-1[`create-protocol-filter`(1)],
link:delete-protocol-filter.html#delete-protocol-filter-1[`delete-protocol-filter`(1)]


