# `ipPrefix`

## Description

Return the CIDR subnet for a given IP address and subnet size.

## Syntax

Like many functions in DataPrime, `ipPrefix` supports [two notations](https://coralogix.com/docs/dataprime/language-reference/functions-reference/index.md), **function** and **method** notation. These interchangeable forms allow flexibility in how you structure expressions.

```dataprime
ipPrefix(ip: string, subnetSize: number): string
```

```dataprime
(ip: string).ipPrefix(subnetSize: number): string
```

## Arguments

| Name       | Type   | Required | Description                                                              |
| ---------- | ------ | -------- | ------------------------------------------------------------------------ |
| ip         | string | **true** | The IP address to process                                                |
| subnetSize | number | **true** | Number of mask bits in the subnet, e.g. `10` produces a `/10` CIDR range |

## Example

**Use case: Derive the subnet from an IP address**

Compute the subnet for a given IP when the number of mask bits is known.

### Example data

```json
{
    "ip": "155.123.7.4"
}
```

### Example query

```dataprime
create ip_subnet from ipPrefix(ip, 10)
```

```dataprime
create ip_subnet from ip.ipPrefix(10)
```

### Example output

```json
{
    "ip": "155.123.7.4",
    "ip_subnet": "155.64.0.0/10"
}
```
