Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs for TrafficControl feature #3800

Merged
merged 1 commit into from
Jun 14, 2022
Merged

Add docs for TrafficControl feature #3800

merged 1 commit into from
Jun 14, 2022

Conversation

tnqn
Copy link
Member

@tnqn tnqn commented May 17, 2022

  • Add a document to introduce the feature
  • Add a cookbook to describe how to use Antrea with Suricata to provide
    IDS to Pods

Signed-off-by: Quan Tian [email protected]

For #3324

@tnqn tnqn added action/release-note Indicates a PR that should be included in release notes. kind/documentation Categorizes issue or PR as related to a documentation. labels May 17, 2022
@tnqn tnqn force-pushed the tc-doc branch 2 times, most recently from cf5ec58 to eb34894 Compare May 17, 2022 05:58
Copy link
Contributor

@antoninbas antoninbas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great documentation

following specification creates a new TrafficControl object named
"mirror-web-app", which mirrors all traffic from or to any Pod with the
`app=web` label and send them to a collector running on "10.0.10.2" encapsulated
within VXLAN tunnel:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

within a VXLAN tunnel

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

`podSelector`. If set with a `namespaceSelector`, all Pods from Namespaces
selected by the `namespaceSelector` will be selected. Specific Pods from
specific Namespaces can be selected by providing both a `podSelector` and a
`namespaceSelector`. Empty `appliedTo` selects nothing. The field is mandatory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, empty podSelector and empty namespaceSelector can be used to select all Pods in the cluster?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that was also my first thought but I found we made it select nothing from the beginning for NetworkPolicy and Egress so have to keep consistency:

// The group selects nothing when all selectors are missing.

https://github.com/antrea-io/antrea/blob/main/docs/egress.md#appliedto

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, but jut to make sure, the following (which is what I meant by having both selectors be empty) will select all Pods in the cluster:

appliedTo:
    namespaceSelector:
    podSelector:

while the following (both selectors unset) will select nothing:

appliedTo:

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the above two examples mean the same, selecting nothing, because namespaceSelector and podSelector are "omitempty".
To select all Pods, we need to use either:

appliedTo: 
  namespaceSelector: {}

or

appliedTo: 
  podSelector: {}

### Action

The `action` field specifies which action should be taken for the traffic. It
can be `Mirror` or `Redirect`. For `Mirror` action, `targetPort` must be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the Mirror action

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


The `action` field specifies which action should be taken for the traffic. It
can be `Mirror` or `Redirect`. For `Mirror` action, `targetPort` must be
specified to the port to which the traffic will be mirrored to. For `Redirect`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

targetPort must be set to the port to which the traffic will be mirrored.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


The `action` field specifies which action should be taken for the traffic. It
can be `Mirror` or `Redirect`. For `Mirror` action, `targetPort` must be
specified to the port to which the traffic will be mirrored to. For `Redirect`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the Redirect action

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

**device**: This specifies a network device on all Nodes. A Pod's traffic will
be redirected or mirrored to the network device on the same Node that hosts the
Pod. The network device must exist on all Nodes and Antrea will attach it to the
OVS bridge if not already attached. To use a network device, `name` of the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

name: eno2
```

**geneve**: This specifies a remote destination based on GENEVE tunnel. All
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would say "a remote destination for a GENEVE tunnel"

same below

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

docs/traffic-control.md Show resolved Hide resolved
To replicate Pod traffic to threat detection engines for analysis, create a
TrafficControl with the `Mirror` action, and set the `targetPort` to an OVS
internal port that threat detection engines will capture traffic from. This
cookbook uses `tap0` as the port name and perform intrusion detection for Pods
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/perform/performs

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


You can then generate malicious requests to trigger alerts. For ingress, you can
fake a web application attack against the Pod with the following command
(assumed that the Pod IP is 10.10.2.3):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/assumed/assuming

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@tnqn tnqn added this to the Antrea v1.7 release milestone May 18, 2022
@tnqn tnqn mentioned this pull request May 26, 2022
5 tasks
Copy link
Member Author

@tnqn tnqn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antoninbas thanks for the review.

To replicate Pod traffic to threat detection engines for analysis, create a
TrafficControl with the `Mirror` action, and set the `targetPort` to an OVS
internal port that threat detection engines will capture traffic from. This
cookbook uses `tap0` as the port name and perform intrusion detection for Pods
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


You can then generate malicious requests to trigger alerts. For ingress, you can
fake a web application attack against the Pod with the following command
(assumed that the Pod IP is 10.10.2.3):
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

following specification creates a new TrafficControl object named
"mirror-web-app", which mirrors all traffic from or to any Pod with the
`app=web` label and send them to a collector running on "10.0.10.2" encapsulated
within VXLAN tunnel:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

`podSelector`. If set with a `namespaceSelector`, all Pods from Namespaces
selected by the `namespaceSelector` will be selected. Specific Pods from
specific Namespaces can be selected by providing both a `podSelector` and a
`namespaceSelector`. Empty `appliedTo` selects nothing. The field is mandatory.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that was also my first thought but I found we made it select nothing from the beginning for NetworkPolicy and Egress so have to keep consistency:

// The group selects nothing when all selectors are missing.

https://github.com/antrea-io/antrea/blob/main/docs/egress.md#appliedto

### Action

The `action` field specifies which action should be taken for the traffic. It
can be `Mirror` or `Redirect`. For `Mirror` action, `targetPort` must be
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

can be `Mirror` or `Redirect`. For `Mirror` action, `targetPort` must be
specified to the port to which the traffic will be mirrored to. For `Redirect`
action, both `targetPort` and `returnPort` need to be specified, the latter of
which represents a port from which the traffic will be sent back to OVS and be
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

**ovsInternal**: This specifies an OVS internal port on all Nodes. A Pod's
traffic will be redirected or mirrored to the OVS internal port on the same Node
that hosts the Pod. The port doesn't need to exist in advance, Antrea will
create the port if it doesn't exist. To use an OVS internal port, `name` of the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

**device**: This specifies a network device on all Nodes. A Pod's traffic will
be redirected or mirrored to the network device on the same Node that hosts the
Pod. The network device must exist on all Nodes and Antrea will attach it to the
OVS bridge if not already attached. To use a network device, `name` of the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

name: eno2
```

**geneve**: This specifies a remote destination based on GENEVE tunnel. All
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

docs/traffic-control.md Show resolved Hide resolved
Copy link
Contributor

@jianjuns jianjuns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not finished yet. Will continue.


### TrafficControl

`TrafficControl` enables a CRD API for Antrea that manages and manipulates the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about "controls" to be consistent with TrafficControl.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

### TrafficControl

`TrafficControl` enables a CRD API for Antrea that manages and manipulates the
transmission of Pod traffic. It allows users to mirror or redirect specific
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we do not support matching specific traffic, we can remove this "specific"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

`TrafficControl` enables a CRD API for Antrea that manages and manipulates the
transmission of Pod traffic. It allows users to mirror or redirect specific
traffic originating from specific Pods or destined to specific Pods to a local
network device or a remote destination via various tunnels. It provides full
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about changing "provides" to "enables", or "enables a monitoring solution to get full visibility..."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

purposes such as troubleshooting, intrusion detection, and so on.

- You want to redirect network traffic passing in or out of a set of Pods to
applications that analyze traffic, enforce policies, and reject traffic to
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove "analyze traffic" as that should fall into the mirroring bucket?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

docs/cookbooks/ids/README.md Show resolved Hide resolved
remoteIP: 10.0.10.2
```

### Redirecting specific traffic to local analyzer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just use "local receiver" to be generic? Typically, redirection is not for an analyzer that does not change/drop the packets.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

prevent intrusion.

This guide demonstrates how to configure `TrafficControl` to achieve the above
result.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

results

goals?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


TrafficControl was introduced in v1.7 as an alpha feature. A feature gate,
`TrafficControl` must be enabled on the antrea-agent in the `antrea-config`
ConfigMap like the following options for the feature to work:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

like the following options -> like the following?

Maybe it to the end of the sentence.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, what does your second suggestion mean?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo. I meant:

must be enabled on the antrea-agent in the antrea-config ConfigMap for the feature to work, like the following:

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

For example, suppose you have a set of Pods which contain a label `app=web`, the
following specification creates a new TrafficControl object named
"mirror-web-app", which mirrors all traffic from or to any Pod with the
`app=web` label and send them to a collector running on "10.0.10.2" encapsulated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"receiver" to be generic

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

docs/traffic-control.md Show resolved Hide resolved

To replicate Pod traffic to threat detection engines for analysis, create a
TrafficControl with the `Mirror` action, and set the `targetPort` to an OVS
internal port that threat detection engines will capture traffic from. This
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just say "Suricata"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


### Step 3: Deploy Suricata as a DaemonSet

Suricata supports many possible configuration options, we will focus on the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but we will

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

focus on -> just take

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we will just take the basics in the cookbook? is it correct?

### Step 3: Deploy Suricata as a DaemonSet

Suricata supports many possible configuration options, we will focus on the
basics in the cookbook. The YAML file for Suricata DaemonSet is included in the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention are using the image from https://github.com/jasonish/docker-suricata?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

tail -f /var/log/suricata/fast.log
```

You can then generate malicious requests to trigger alerts. For ingress, you can
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For ingress traffic?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@tnqn tnqn force-pushed the tc-doc branch 2 times, most recently from 5e2f72f to 613b9be Compare June 13, 2022 16:22
`TrafficControl` enables a CRD API for Antrea that controls and manipulates the
transmission of Pod traffic. It allows users to mirror or redirect traffic
originating from specific Pods or destined to specific Pods to a local network
device or a remote destination via various tunnels. It enables a monitoring
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"via a tunnel of various types"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


TrafficControl was introduced in v1.7 as an alpha feature. A feature gate,
`TrafficControl` must be enabled on the antrea-agent in the `antrea-config`
ConfigMap like the following options for the feature to work:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo. I meant:

must be enabled on the antrea-agent in the antrea-config ConfigMap for the feature to work, like the following:


A TrafficControl in Kubernetes is a REST object. Like all the REST objects, you
can POST a TrafficControl definition to the API server to create a new instance.
For example, suppose you have a set of Pods which contain a label `app=web`, the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suppose -> supposing

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

set to the port to which the traffic will be mirrored. For the `Redirect`
action, both `targetPort` and `returnPort` need to be specified, the latter of
which represents the port from which the traffic will be sent back to OVS and be
forwarded to its original destination.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might not be true if the packet has been modified?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what kind of modification you mean? I thought the packet can either be forwarded or dropped, other kind of modification may not work as we do not make the returned packet go through the whole pipeline again.
I changed "will" to "could"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Should document the packets should not be modified?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added "Once redirected, a packet should be either dropped or sent back to OVS without modification, otherwise it would lead to undefined behavior."

selected Pods' traffic will be mirrored to the destination via an ERSPAN tunnel.
The `remoteIP` field must be provided to specify the IP address of the
destination. If ERSPAN session ID is desired, the `sessionID` field can be
specified to an integer in the range 0-1,023. The `version` field must be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do not have a default value for version?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianjuns We don't have a default value for version since it is not a pointer type in API, and it is int type.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok

destination. Therefore, if an intrusion prevention system or a network firewall
is configured to capture and forward traffic between `tap0` and `tap1`, it can
actively scan forwarded network traffic for malicious activities and known
attack patterns, and drop traffic determined to be malicious.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the traffic

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

## What's next

With the `TrafficControl` capability, Antrea can be used with threat detection
engines to provide network-based IDS/IPS to Pods, and provides a reference
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

". We provide a reference cookbook..."?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


This guide will describe how to use Project Antrea with threat detection
engines, in order to provide network-based intrusion detection service to your
Pods. In this scenario, Antrea is used for the default network. For the sake of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default Pod network?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* [`kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl/)

The [TrafficControl](../../traffic-control.md) capability was added in Antrea
version 1.7. Therefore, an Antrea version >= 1.7.0 should be used to configure
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We typically use "v1.7.0"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


### Step 2: Configure TrafficControl resource

To replicate Pod traffic to threat detection engines for analysis, create a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change "threat detection engines" to "Suricata" too?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

key: 1
```

**erspan**: This specifies a remote destination for an ERSPAN tunnel. All
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we mention the requirement of ERSPAN?

It can be used with 4.19-rc6+ kernel and iproute2-ss180813?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know the exact version in which ERSPAN is added to kernel, the version you provided is a rc version, then I suppose 4.19 but I didn't find it was mentioned in release note, do you have a link for reference?
why iproute2 matters here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's an "Linux Native Mode tunnel example" with 4.19-rc6+ kernel and iproute2-ss180813, not saying the supported is added in that version and iproute2 is required for OVS ERSPAN.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, for OVS ERSPAN, iproute2 is not related, but according to this http://vger.kernel.org/lpc_net2018_talks/erspan-linux.pdf, ERSPAN was added to Linux kernel in 4.14 for IPv4 and 4.16 for IPv6., we should mention this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but I remember you said 4.15 didn't work in your testbed? Unless we have accurate information, I wouldn't mention its version requirement given it's in alpha phase, to avoid misleading users. We can add the information anytime once we have verified it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it didn't work in 4.15 in my testbed actually. Maybe we can add the information in the future.


`TrafficControl` is a CRD API that manages and manipulates the transmission of
Pod traffic. It allows users to mirror or redirect specific traffic originating
from specific Pods or destined to specific Pods to a local network device or a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
from specific Pods or destined to specific Pods to a local network device or a
from specific Pods or destined for specific Pods to a local network device or a

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@codecov-commenter
Copy link

codecov-commenter commented Jun 14, 2022

Codecov Report

Merging #3800 (e0aa3bb) into main (7817152) will decrease coverage by 27.07%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##             main    #3800       +/-   ##
===========================================
- Coverage   64.48%   37.41%   -27.08%     
===========================================
  Files         291      116      -175     
  Lines       42795    16089    -26706     
===========================================
- Hits        27598     6020    -21578     
+ Misses      12974     9574     -3400     
+ Partials     2223      495     -1728     
Flag Coverage Δ
integration-tests 37.41% <ø> (?)
kind-e2e-tests ?
unit-tests ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...lers/multicluster/commonarea/remote_common_area.go
...er/registry/networkpolicy/groupassociation/rest.go
...agent/flowexporter/connections/deny_connections.go
pkg/agent/util/net_linux.go
...nt/apiserver/handlers/serviceexternalip/handler.go
pkg/agent/querier/querier.go
pkg/agent/config/node_config.go
pkg/controller/networkpolicy/convert.go
pkg/agent/multicluster/mc_route_controller.go
pkg/antctl/command_message.go
... and 397 more

jianjuns
jianjuns previously approved these changes Jun 14, 2022
* Add a document to introduce the feature
* Add a cookbook to describe how to use Antrea with Suricata to provide
  IDS to Pods

Signed-off-by: Quan Tian <[email protected]>
@tnqn
Copy link
Member Author

tnqn commented Jun 14, 2022

/skip-all

@tnqn tnqn merged commit b6fbf14 into antrea-io:main Jun 14, 2022
@tnqn tnqn deleted the tc-doc branch June 14, 2022 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
action/release-note Indicates a PR that should be included in release notes. kind/documentation Categorizes issue or PR as related to a documentation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants