Skip to content

Commit 1502b71

Browse files
committed
Docs and CSV test, singular
1 parent 584de17 commit 1502b71

File tree

10 files changed

+171
-21
lines changed

10 files changed

+171
-21
lines changed

docs/reference/query-languages/esql/_snippets/functions/description/network_direction.md

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/examples/network_direction.md

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/layout/network_direction.md

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/parameters/network_direction.md

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/types/network_direction.md

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/images/functions/network_direction.svg

Lines changed: 1 addition & 0 deletions
Loading

docs/reference/query-languages/esql/kibana/definition/functions/network_direction.json

Lines changed: 61 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/kibana/docs/functions/network_direction.md

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/qa/testFixtures/src/main/resources/ip.csv-spec

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -181,25 +181,6 @@ eth0 |gamma |fe80::cae2:65ff:fece:feb9
181181
eth0 |epsilon |[fe80::cae2:65ff:fece:feb9, fe80::cae2:65ff:fece:fec0, fe80::cae2:65ff:fece:fec1]|fe80::cae2:65ff:fece:fec1|fe80::cae2:65ff:fece:fec1
182182
;
183183

184-
networkDirectionSimple
185-
186-
FROM hosts |
187-
WHERE mv_count(ip0) == 1 AND mv_count(ip1) == 1 |
188-
EVAL direction = network_direction(ip0, ip1, ["loopback"]) |
189-
KEEP ip0, ip1, direction
190-
;
191-
192-
193-
ip0:ip | ip1:ip | direction:keyword
194-
127.0.0.1 | 127.0.0.1 | internal
195-
::1 | ::1 | internal
196-
127.0.0.1 | ::1 | internal
197-
127.0.0.1 | 127.0.0.2 | internal
198-
127.0.0.1 | 128.0.0.1 | outbound
199-
fe80::cae2:65ff:fece:feb9 | fe81::cae2:65ff:fece:feb9 | external
200-
fe80::cae2:65ff:fece:feb9 | 127.0.0.3 | inbound
201-
;
202-
203184
cidrMatchSimple
204185

205186
from hosts | where cidr_match(ip1, "127.0.0.2/32") | keep card, host, ip0, ip1;
@@ -748,3 +729,26 @@ row ip4 = to_ip("1.2.3.4")
748729
ip4:ip | a:ip | b:ip | c:ip
749730
1.2.3.4 | null | null | null
750731
;
732+
733+
networkDirectionSimple
734+
required_capability: network_direction
735+
736+
// tag::networkDirectionSimple[]
737+
FROM hosts |
738+
WHERE mv_count(ip0) == 1 AND mv_count(ip1) == 1 |
739+
EVAL direction = network_direction(ip0, ip1, ["loopback"]) |
740+
KEEP ip0, ip1, direction
741+
// end::networkDirectionSimple[]
742+
;
743+
744+
// tag::networkDirectionSimple-result[]
745+
ip0:ip | ip1:ip | direction:keyword
746+
127.0.0.1 | 127.0.0.1 | internal
747+
::1 | ::1 | internal
748+
127.0.0.1 | ::1 | internal
749+
127.0.0.1 | 127.0.0.2 | internal
750+
127.0.0.1 | 128.0.0.1 | outbound
751+
fe80::cae2:65ff:fece:feb9 | fe81::cae2:65ff:fece:feb9 | external
752+
fe80::cae2:65ff:fece:feb9 | 127.0.0.3 | inbound
753+
// end::networkDirectionSimple-result[]
754+
;

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/scalar/ip/NetworkDirection.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import static org.elasticsearch.compute.ann.Fixed.Scope.THREAD_LOCAL;
3737

3838
/**
39-
* Returns whether a connection is inbound given a source IP address, destination IP address, and a list of internal networks.
39+
* Returns the direction type (inbound, outbound, internal, external) given a source IP address, destination IP address, and a list of internal networks.
4040
*/
4141
public class NetworkDirection extends EsqlScalarFunction {
4242
public static final NamedWriteableRegistry.Entry ENTRY = new NamedWriteableRegistry.Entry(
@@ -51,7 +51,7 @@ public class NetworkDirection extends EsqlScalarFunction {
5151

5252
@FunctionInfo(
5353
returnType = "keyword",
54-
description = "Returns true if the direction of the source-to-destination-IPs is determined to be inbound, provided a list of internal networks.",
54+
description = "Returns the direction type (inbound, outbound, internal, external) given a source IP address, destination IP address, and a list of internal networks.",
5555
examples = @Example(file = "ip", tag = "networkDirectionSimple")
5656
)
5757
public NetworkDirection(

0 commit comments

Comments
 (0)