anchor.diff:  // Module included in the following assemblies:
   //
  -// * networking/multiple_networks/configuring-sr-iov.adoc
  +// * networking/hardware_networks/configuring-sriov-operator.adoc
   
  -[id="configuring-sr-iov-operator_{context}"]
  +[id="nw-sriov-configuring-operator_{context}"]
   = Configuring the SR-IOV Network Operator
   
   [IMPORTANT]
  
positive.code: Complete the steps to modify the relevant configuration only if the default behavior of the Operator is not compatible with your use case.
  ====
  
  The SR-IOV Network Operator adds the `SriovOperatorConfig.sriovnetwork.openshift.io` Custom Resource Definition (CRD) to {product-title}.
  You can configure the SR-IOV software compoenents by modifying the default 
  SriovOperatorConfig Custom Resource (CR). The Operator supports the following optional behavioral changes:
  
  - Disabling the Network Resources Injector
  - Disabling the Operator admission web controller
  - Configuring a custom node selector for the SR-IOV Network Config daemon. The daemon runs on all the worker nodes by default.
  
  [NOTE]
  =====
  There is one Custom Resource of SriovOperatorConfig being created when
  the operator is up. Change the operator configuration by modifying this
  pre-created Custom Resource. The `default` Custom Resource is created in
  `openshift-sriov-network-operator` namespace.
  =====
  
  `SriovOperatorConfig` provides three options for configuring operator:
  * `enableInjector` allows project administrators to enable or disable Network
  Resources Injector DaemonSet.
  * `enableOperatorWebhook` allows project adminstrators to enable or disable
  Operator Admission Controller Webhook DaemonSet.
  * `configDaemonNodeSelector` allows project adminstrators to schedule SR-IOV
  Network Config Daemon on selected nodes.
  
  
  [id="disabling-network-resource-injector_{context}"]
  == Disabling Network Resources Injector
  
  The Network Resources Injector is a Kubernetes Dynamic Admission Controller 
  application that:
  
  * Mutates resource requests and limits in pod specifiction to add SR-IOV
  resource name according to SR-IOV network attachment definition annotation.
  * Mutates pod specifications with downward API volume to expose pod annotations
  and labels to the running container as files under `/etc/podnetinfo`.
  
  By default the Network Resources Injector will be enabled by SR-IOV operator
  and runs as a Kubernetes DaemonSet on all master nodes. Below is an example
  of Network Resources Injector pods running in a cluster with three master
  nodes:
  
  ----
  $ oc get pods -n openshift-sriov-network-operator
  
negative.code: * You must have installed the SR-IOV Operator.
  
  .Procedure
  
  - Set the `enableInjector` field. Replace `<value>` with `false` to disable the feature or `true` to enable the feature.
  +
  ----
  $ oc patch sriovoperatorconfig default \
    --type=merge -n openshift-sriov-network-operator \
    --patch '{ "spec": { "enableInjector": <value> } }'
  ----
  
  [id="disable-enable-sr-iov-operator-admission-control-webhook_{context}"]
  == Disabling or enabling the SR-IOV Operator admission controller webhook
  
  To disable or enable the admission controller webhook, which is enabled by default, complete the following procedure.
  
  .Prerequisites
  
  * Install the OpenShift Command-line Interface (CLI), commonly known as `oc`.
  * Log in as a user with `cluster-admin` privileges.
  * You must have installed the SR-IOV Operator.
  
  .Procedure
  
  - Set the `enableOperatorWebhook` field. Replace `<value>` with `false` to disable the feature or `true` to enable it:
  +
  ----
  $ oc patch sriovoperatorconfig default --type=merge \
    -n openshift-sriov-network-operator \
    --patch '{ "spec": { "enableOperatorWebhook": <value> } }'
  ----
  
  [id="configuring-custom-nodeselector_{context}"]
  == Configuring a custom NodeSelector for the SR-IOV Network Config daemon
  
  The SR-IOV Network Config daemon discovers and configures the SR-IOV network devices on cluster nodes. By default, it is deployed to all the `worker` nodes in the cluster. You can use node labels to specify on which nodes the SR-IOV Network Config daemon runs.
  
  To specify the nodes where the SR-IOV Network Config daemon is deployed, complete the following procedure.
  
  [IMPORTANT]
  =====
  When you update the `configDaemonNodeSelector` field, the SR-IOV Network Config daemon is recreated on each selected node.
  While the daemon is recreated, cluster users are unable to apply any new SR-IOV Network node policy or create new SR-IOV pods.
  =====
  
  .Procedure
  
  - To update the node selector for the operator, enter the following command:
  +
  ----
  $ oc patch sriovoperatorconfig default --type=json \
    -n openshift-sriov-network-operator \
    --patch '[{
        "op": "replace",
        "path": "/spec/configDaemonNodeSelector",
        "value": {<node-label>}
      }]'
  ----
  +
  Replace `<node-label>` with a label to apply as in the following example:
  `"node-role.kubernetes.io/worker": ""`.
  