netgate-bfd API (19.02)

This YANG module provides a Netgate-defined data-model for Bidirectional Forwarding Detection (BFD) data.

Copyright 2017-2019 Rubicon Communications, LLC.

bfd-config

returns netgate.bfd.BfdConfig

get /data/netgate-bfd:bfd-config

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config

The bfd-config node contains BFD keys and session.

Responses

200

netgate.bfd.BfdConfig

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Response samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:bfd-config":
    {
    }
}

creates netgate.bfd.BfdConfig

post /data/netgate-bfd:bfd-config

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config

The bfd-config node contains BFD keys and session.

Request Body schema: application/yang-data+json

netgate.bfd.BfdConfig to be added to list

key-table
object (netgate.bfd.bfdconfig.KeyTable)
bfd-table
object (netgate.bfd.bfdconfig.BfdTable)

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "key-table":
    {
    },
  • "bfd-table":
    {
    }
}

creates or updates netgate.bfd.BfdConfig

put /data/netgate-bfd:bfd-config

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config

The bfd-config node contains BFD keys and session.

Request Body schema: application/yang-data+json

netgate.bfd.BfdConfig to be added or updated

netgate-bfd:bfd-config
object (netgate.bfd.BfdConfig)

Responses

201

Object created

204

Object modified

400

Internal error

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:bfd-config":
    {
    }
}

removes netgate.bfd.BfdConfig

delete /data/netgate-bfd:bfd-config

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config

The bfd-config node contains BFD keys and session.

Responses

204

Object deleted

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

returns netgate.bfd.bfdconfig.BfdTable

get /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Host BFD interface configuration table.

Responses

200

netgate.bfd.bfdconfig.BfdTable

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Response samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:bfd-table":
    {
    }
}

creates netgate.bfd.bfdconfig.BfdTable

post /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Host BFD interface configuration table.

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.BfdTable to be added to list

bfd-session
Array of objects (netgate.bfd.bfdconfig.bfdtable.BfdSession)

Each session has its own unique name.

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "bfd-session":
    [
    ]
}

creates or updates netgate.bfd.bfdconfig.BfdTable

put /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Host BFD interface configuration table.

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.BfdTable to be added or updated

netgate-bfd:bfd-table
object (netgate.bfd.bfdconfig.BfdTable)

Responses

201

Object created

204

Object modified

400

Internal error

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:bfd-table":
    {
    }
}

removes netgate.bfd.bfdconfig.BfdTable

delete /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table

Host BFD interface configuration table.

Responses

204

Object deleted

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

creates netgate.bfd.bfdconfig.bfdtable.BfdSession

post /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session

Each session has its own unique name.

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.bfdtable.BfdSession to be added to list

detect-multiplier
integer <int32>

The desired Detection Time multiplier for BFD Control packets on the local system. This variable MUST be a nonzero integer. This value is (roughly speaking, due to jitter) the number of packets that have to be missed in a row to declare the session to be down.

peer-ip-address
string

The session's peer IPv4 or IPv6 address.

enable
boolean

If true, BFD is enabled on this interface.

local-ip-address
string

The session's local IPv4 or IPv6 address.

name
string

This is the name of the BFD session.

required-min-rx
integer <int64>

This is the minimum interval, in microseconds, between received BFD Control packets that this system is capable of supporting, less any jitter applied by the sender. If this value is zero, the transmitting system does not want the remote system to send any periodic BFD Control packets.

desired-min-tx
integer <int64>

This is the minimum interval, in microseconds, that the local system would like to use when transmitting BFD Control packets, less any jitter applied. The value zero is reserved.

delayed
boolean

If true, authentication begins when a packet is received from the peer.

bfd-key-id
integer <int64>

The BFD key.

conf-key-id
integer <int64>

The conf authentication key id.

interface
string

The session's interface name.

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "detect-multiplier": 0,
  • "peer-ip-address": "string",
  • "enable": true,
  • "local-ip-address": "string",
  • "name": "string",
  • "required-min-rx": 0,
  • "desired-min-tx": 0,
  • "delayed": true,
  • "bfd-key-id": 0,
  • "conf-key-id": 0,
  • "interface": "string"
}

returns netgate.bfd.bfdconfig.bfdtable.BfdSession

get /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Each session has its own unique name.

path Parameters
name
required
string

Id of bfd-session

Responses

200

netgate.bfd.bfdconfig.bfdtable.BfdSession

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session=%7Bname%7D"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Response samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:bfd-session":
    {
    }
}

creates netgate.bfd.bfdconfig.bfdtable.BfdSession

post /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Each session has its own unique name.

path Parameters
name
required
string

Id of bfd-session

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.bfdtable.BfdSession to be added to list

detect-multiplier
integer <int32>

The desired Detection Time multiplier for BFD Control packets on the local system. This variable MUST be a nonzero integer. This value is (roughly speaking, due to jitter) the number of packets that have to be missed in a row to declare the session to be down.

peer-ip-address
string

The session's peer IPv4 or IPv6 address.

enable
boolean

If true, BFD is enabled on this interface.

local-ip-address
string

The session's local IPv4 or IPv6 address.

name
string

This is the name of the BFD session.

required-min-rx
integer <int64>

This is the minimum interval, in microseconds, between received BFD Control packets that this system is capable of supporting, less any jitter applied by the sender. If this value is zero, the transmitting system does not want the remote system to send any periodic BFD Control packets.

desired-min-tx
integer <int64>

This is the minimum interval, in microseconds, that the local system would like to use when transmitting BFD Control packets, less any jitter applied. The value zero is reserved.

delayed
boolean

If true, authentication begins when a packet is received from the peer.

bfd-key-id
integer <int64>

The BFD key.

conf-key-id
integer <int64>

The conf authentication key id.

interface
string

The session's interface name.

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "detect-multiplier": 0,
  • "peer-ip-address": "string",
  • "enable": true,
  • "local-ip-address": "string",
  • "name": "string",
  • "required-min-rx": 0,
  • "desired-min-tx": 0,
  • "delayed": true,
  • "bfd-key-id": 0,
  • "conf-key-id": 0,
  • "interface": "string"
}

creates or updates netgate.bfd.bfdconfig.bfdtable.BfdSession

put /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Each session has its own unique name.

path Parameters
name
required
string

Id of bfd-session

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.bfdtable.BfdSession to be added or updated

netgate-bfd:bfd-session
object (netgate.bfd.bfdconfig.bfdtable.BfdSession)

Responses

201

Object created

204

Object modified

400

Internal error

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:bfd-session":
    {
    }
}

removes netgate.bfd.bfdconfig.bfdtable.BfdSession

delete /data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session={name}

Each session has its own unique name.

path Parameters
name
required
string

Id of bfd-session

Responses

204

Object deleted

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:bfd-table/netgate-bfd:bfd-session=%7Bname%7D"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

returns netgate.bfd.bfdconfig.KeyTable

get /data/netgate-bfd:bfd-config/netgate-bfd:key-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table

This table contains BFD Conf Keys.

Responses

200

netgate.bfd.bfdconfig.KeyTable

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Response samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:key-table":
    {
    }
}

creates netgate.bfd.bfdconfig.KeyTable

post /data/netgate-bfd:bfd-config/netgate-bfd:key-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table

This table contains BFD Conf Keys.

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.KeyTable to be added to list

key-entry
Array of objects (netgate.bfd.bfdconfig.keytable.KeyEntry)

BFD Conf Key Entry.

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "key-entry":
    [
    ]
}

creates or updates netgate.bfd.bfdconfig.KeyTable

put /data/netgate-bfd:bfd-config/netgate-bfd:key-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table

This table contains BFD Conf Keys.

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.KeyTable to be added or updated

netgate-bfd:key-table
object (netgate.bfd.bfdconfig.KeyTable)

Responses

201

Object created

204

Object modified

400

Internal error

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:key-table":
    {
    }
}

removes netgate.bfd.bfdconfig.KeyTable

delete /data/netgate-bfd:bfd-config/netgate-bfd:key-table

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table

This table contains BFD Conf Keys.

Responses

204

Object deleted

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

creates netgate.bfd.bfdconfig.keytable.KeyEntry

post /data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry

BFD Conf Key Entry.

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.keytable.KeyEntry to be added to list

secret
string

This is the hex encoded secret with maximum length 20 bytes.

type
string (netgate.bfd.BfdAuthKeyType)
Enum:"keyed-sha1" "meticulous-keyed-sha1"
conf-key-id
integer <int64>

This is the unique integer Id of the BFD key.

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "secret": "string",
  • "type": "keyed-sha1",
  • "conf-key-id": 0
}

returns netgate.bfd.bfdconfig.keytable.KeyEntry

get /data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry={conf-key-id}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry={conf-key-id}

BFD Conf Key Entry.

path Parameters
conf-key-id
required
integer <int64>

Id of key-entry

Responses

200

netgate.bfd.bfdconfig.keytable.KeyEntry

400

Internal error

Request samples

Copy
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "http://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry=%7Bconf-key-id%7D"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Response samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:key-entry":
    {
    }
}

creates netgate.bfd.bfdconfig.keytable.KeyEntry

post /data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry={conf-key-id}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry={conf-key-id}

BFD Conf Key Entry.

path Parameters
conf-key-id
required
integer <int64>

Id of key-entry

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.keytable.KeyEntry to be added to list

secret
string

This is the hex encoded secret with maximum length 20 bytes.

type
string (netgate.bfd.BfdAuthKeyType)
Enum:"keyed-sha1" "meticulous-keyed-sha1"
conf-key-id
integer <int64>

This is the unique integer Id of the BFD key.

Responses

201

Object created

400

Internal error

409

Object already exists

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "secret": "string",
  • "type": "keyed-sha1",
  • "conf-key-id": 0
}

creates or updates netgate.bfd.bfdconfig.keytable.KeyEntry

put /data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry={conf-key-id}

Example URL

https://hostname/restconf/data/netgate-bfd:bfd-config/netgate-bfd:key-table/netgate-bfd:key-entry={conf-key-id}

BFD Conf Key Entry.

path Parameters
conf-key-id
required
integer <int64>

Id of key-entry

Request Body schema: application/yang-data+json

netgate.bfd.bfdconfig.keytable.KeyEntry to be added or updated

netgate-bfd:key-entry
object (netgate.bfd.bfdconfig.keytable.KeyEntry)

Responses

201

Object created

204

Object modified

400

Internal error

Request samples

application/yang-data+json
Copy
Expand all Collapse all
{
  • "netgate-bfd:key-entry":
    {
    }