envoyproxy/envoy

Need CEL convenience function: inIpRange()

Open

#32,170 opened on Feb 2, 2024

View on GitHub
 (4 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/celenhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Currently, Envoy's CEL functions are essentially what the mainline CEL repo provides. However, as more use cases pile up, it may be worthwhile to add some additional convenience functions (where sensible) to make configuration & processing faster in Envoy.

In the case of this issue, the function being requested is inIpRange(). We have attributes that contain IP data (source.address, destination.address, etc.). Often times, a user wants to check if the IP is in a range. Its clunky and error prone to do this with string matches. So the request is to add an inIpRange() CEL function to Envoy whose semantics are like inIpRange(source.address, '9.9.9.0/24')

cc @kyessenov @tyxia

Contributor guide