Skip to content

Attach a network to a jail

POST
/jail/{ctid}/networks
curl --request POST \
--url https://sylve.lan:8181/api/jail/1/networks \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "defaultGateway": true, "dhcp": true, "ip4": 1, "ip4Raw": "example", "ip4gw": 1, "ip4gwRaw": "example", "ip6": 1, "ip6Raw": "example", "ip6gw": 1, "ip6gwRaw": "example", "macId": 1, "macRaw": "example", "name": "example", "slaac": true, "switchName": "example", "vlan": 1 }'

Create a network attachment for an inactive jail. The jail must not inherit host networking.

ctid
required
integer
>= 1

Jail CTID

Network attachment request

Media typeapplication/json
object
defaultGateway
boolean
dhcp
boolean
ip4
integer
ip4Raw
string
ip4gw
integer
ip4gwRaw
string
ip6
integer
ip6Raw
string
ip6gw
integer
ip6gwRaw
string
macId
integer
macRaw
string
name
required
string
slaac
boolean
switchName
required
string
vlan
integer
Examplegenerated
{
"defaultGateway": true,
"dhcp": true,
"ip4": 1,
"ip4Raw": "example",
"ip4gw": 1,
"ip4gwRaw": "example",
"ip6": 1,
"ip6Raw": "example",
"ip6gw": 1,
"ip6gwRaw": "example",
"macId": 1,
"macRaw": "example",
"name": "example",
"slaac": true,
"switchName": "example",
"vlan": 1
}

Created

Media typeapplication/json
object
data
object
defaultGateway
boolean
dhcp
boolean
id
integer
ipv4GwId
integer
ipv4GwObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
ipv4Id
integer
ipv4Obj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
ipv6GwId
integer
ipv6GwObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
ipv6Id
integer
ipv6Obj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
jid
integer
macId
integer
macObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
manualSwitch
object
bridge
string
createdAt
string
id
integer
name
string
updatedAt
string
name
string
slaac
boolean
standardSwitch
object
address
string
address6
string
address6Id
integer
address6Obj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
addressId
integer
addressObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
bridgeMacMode
string
bridgeMacObject
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
bridgeMacObjectId
integer
bridgeMacSourcePort
string
bridgeName
string
createdAt
string
defaultRoute

DefaultRoute owns the IPv4 default route for static or DHCP addressing.

boolean
defaultRoute6

DefaultRoute6 owns the IPv6 default route for static or SLAAC addressing.

boolean
dhcp
boolean
disableBridgeOffloads

DisableBridgeOffloads keeps FreeBSD from changing bridge-member capabilities as transient tap and epair interfaces come and go. Sorts flapping issues (Please tell @hayzam if you faced flapping before/after enabling this option).

boolean
disableIPv6
boolean
gateway6AddressId
integer
gateway6AddressObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
gateway6Manual
string
gatewayAddressId
integer
gatewayAddressObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
gatewayManual
string
id
integer
mtu
integer
name
string
network6Id
integer
network6Manual
string
network6Obj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
networkId
integer
networkManual
string
networkObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
ports
Array<object>
object
id
integer
name
string
switch
object recursive
switchId
integer
private
boolean
slaac
boolean
updatedAt
string
vlan
integer
switchId
integer
switchType
string
vlan
integer
error
string
message
string
status
string
Examplegenerated
{
"data": {
"defaultGateway": true,
"dhcp": true,
"id": 1,
"ipv4GwId": 1,
"ipv4GwObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"ipv4Id": 1,
"ipv4Obj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"ipv6GwId": 1,
"ipv6GwObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"ipv6Id": 1,
"ipv6Obj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"jid": 1,
"macId": 1,
"macObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"manualSwitch": {
"bridge": "example",
"createdAt": "example",
"id": 1,
"name": "example",
"updatedAt": "example"
},
"name": "example",
"slaac": true,
"standardSwitch": {
"address": "example",
"address6": "example",
"address6Id": 1,
"address6Obj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"addressId": 1,
"addressObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"bridgeMacMode": "example",
"bridgeMacObject": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"bridgeMacObjectId": 1,
"bridgeMacSourcePort": "example",
"bridgeName": "example",
"createdAt": "example",
"defaultRoute": true,
"defaultRoute6": true,
"dhcp": true,
"disableBridgeOffloads": true,
"disableIPv6": true,
"gateway6AddressId": 1,
"gateway6AddressObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"gateway6Manual": "example",
"gatewayAddressId": 1,
"gatewayAddressObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"gatewayManual": "example",
"id": 1,
"mtu": 1,
"name": "example",
"network6Id": 1,
"network6Manual": "example",
"network6Obj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"networkId": 1,
"networkManual": "example",
"networkObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"ports": [
{
"id": 1,
"name": "example",
"switch": {},
"switchId": 1
}
],
"private": true,
"slaac": true,
"updatedAt": "example",
"vlan": 1
},
"switchId": 1,
"switchType": "example",
"vlan": 1
},
"error": "example",
"message": "example",
"status": "example"
}

Bad Request

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Unauthorized

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Forbidden

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Not Found

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Conflict

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Request Entity Too Large

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Internal Server Error

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Service Unavailable

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}