YANG module to fully support the controls of the urpf VPP plugin via TNSR.
Copyright 2024 Rubicon Communications, LLC.
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-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)) }
{- "netgate-urpf:urpf-config": {
- "netgate-urpf:urpf-filter": [
- {
- "netgate-urpf:mode": "loose",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:interface": "string",
- "netgate-urpf:address-family": "ipv4",
- "netgate-urpf:direction": "in"
}
]
}
}
Urpf plugin configuration
netgate.urpf.UrpfConfig to be added to list
Array of objects (netgate.urpf.urpfconfig.UrpfFilter) Filter instance |
{- "netgate-urpf:urpf-filter": [
- {
- "netgate-urpf:mode": "loose",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:interface": "string",
- "netgate-urpf:address-family": "ipv4",
- "netgate-urpf:direction": "in"
}
]
}
Urpf plugin configuration
netgate.urpf.UrpfConfig to be added or updated
object (netgate.urpf.UrpfConfig) Urpf plugin configuration |
{- "netgate-urpf:urpf-config": {
- "netgate-urpf:urpf-filter": [
- {
- "netgate-urpf:mode": "loose",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:interface": "string",
- "netgate-urpf:address-family": "ipv4",
- "netgate-urpf:direction": "in"
}
]
}
}
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-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)) }
Filter instance
netgate.urpf.urpfconfig.UrpfFilter to be added to list
netgate-urpf:mode | string (netgate.urpf.UrpfMode) Enum: "loose" "strict" |
netgate-urpf:vrf | string VRF name |
netgate-urpf:interface | string Interface name |
netgate-urpf:address-family | string (netgate.common.IpAddressFamily) Enum: "ipv4" "ipv6" |
netgate-urpf:direction | string (netgate.common.TrafficDirectionOneway) Enum: "in" "out" |
{- "netgate-urpf:mode": "loose",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:interface": "string",
- "netgate-urpf:address-family": "ipv4",
- "netgate-urpf:direction": "in"
}
Filter instance
interface required | string Id of urpf-filter |
address-family required | string Id of urpf-filter |
direction required | string Id of urpf-filter |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-config/urpf-filter=%7Binterface%7D,%7Baddress-family%7D,%7Bdirection%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)) }
{- "netgate-urpf:urpf-filter": {
- "netgate-urpf:mode": "loose",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:interface": "string",
- "netgate-urpf:address-family": "ipv4",
- "netgate-urpf:direction": "in"
}
}
Filter instance
interface required | string Id of urpf-filter |
address-family required | string Id of urpf-filter |
direction required | string Id of urpf-filter |
netgate.urpf.urpfconfig.UrpfFilter to be added or updated
object (netgate.urpf.urpfconfig.UrpfFilter) Filter instance |
{- "netgate-urpf:urpf-filter": {
- "netgate-urpf:mode": "loose",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:interface": "string",
- "netgate-urpf:address-family": "ipv4",
- "netgate-urpf:direction": "in"
}
}
Filter instance
interface required | string Id of urpf-filter |
address-family required | string Id of urpf-filter |
direction required | string Id of urpf-filter |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-config/urpf-filter=%7Binterface%7D,%7Baddress-family%7D,%7Bdirection%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)) }
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-state" 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)) }
{- "netgate-urpf:urpf-state": {
- "netgate-urpf:urpf-filter": [
- {
- "netgate-urpf:filter": [
- {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
], - "netgate-urpf:interface": "string"
}
]
}
}
Uprf state.
netgate.urpf.UrpfState to be added to list
Array of objects (netgate.urpf.urpfstate.UrpfFilter) |
{- "netgate-urpf:urpf-filter": [
- {
- "netgate-urpf:filter": [
- {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
], - "netgate-urpf:interface": "string"
}
]
}
Uprf state.
netgate.urpf.UrpfState to be added or updated
object (netgate.urpf.UrpfState) Uprf state. |
{- "netgate-urpf:urpf-state": {
- "netgate-urpf:urpf-filter": [
- {
- "netgate-urpf:filter": [
- {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
], - "netgate-urpf:interface": "string"
}
]
}
}
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-state" 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.urpf.urpfstate.UrpfFilter
netgate.urpf.urpfstate.UrpfFilter to be added to list
Array of objects (netgate.urpf.urpfstate.urpffilter.Filter) | |
netgate-urpf:interface | string Interface |
{- "netgate-urpf:filter": [
- {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
], - "netgate-urpf:interface": "string"
}
returns netgate.urpf.urpfstate.UrpfFilter
interface required | string Id of urpf-filter |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-state/urpf-filter=%7Binterface%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)) }
{- "netgate-urpf:urpf-filter": {
- "netgate-urpf:filter": [
- {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
], - "netgate-urpf:interface": "string"
}
}
creates or updates netgate.urpf.urpfstate.UrpfFilter
interface required | string Id of urpf-filter |
netgate.urpf.urpfstate.UrpfFilter to be added or updated
object (netgate.urpf.urpfstate.UrpfFilter) |
{- "netgate-urpf:urpf-filter": {
- "netgate-urpf:filter": [
- {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
], - "netgate-urpf:interface": "string"
}
}
removes netgate.urpf.urpfstate.UrpfFilter
interface required | string Id of urpf-filter |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-state/urpf-filter=%7Binterface%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)) }
creates netgate.urpf.urpfstate.urpffilter.Filter
interface required | string Id of urpf-filter |
netgate.urpf.urpfstate.urpffilter.Filter to be added to list
netgate-urpf:mode | string Loose or Strict |
netgate-urpf:vrf | string VRF name |
netgate-urpf:address-family | string AF |
netgate-urpf:direction | string In or Out |
{- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
returns netgate.urpf.urpfstate.urpffilter.Filter
interface required | string Id of urpf-filter |
address-family required | string Id of filter |
direction required | string Id of filter |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-state/urpf-filter=%7Binterface%7D/filter=%7Baddress-family%7D,%7Bdirection%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)) }
{- "netgate-urpf:filter": {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
}
creates or updates netgate.urpf.urpfstate.urpffilter.Filter
interface required | string Id of urpf-filter |
address-family required | string Id of filter |
direction required | string Id of filter |
netgate.urpf.urpfstate.urpffilter.Filter to be added or updated
object (netgate.urpf.urpfstate.urpffilter.Filter) |
{- "netgate-urpf:filter": {
- "netgate-urpf:mode": "string",
- "netgate-urpf:vrf": "string",
- "netgate-urpf:address-family": "string",
- "netgate-urpf:direction": "string"
}
}
removes netgate.urpf.urpfstate.urpffilter.Filter
interface required | string Id of urpf-filter |
address-family required | string Id of filter |
direction required | string Id of filter |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "http://hostname/restconf/data/netgate-urpf:urpf-state/urpf-filter=%7Binterface%7D/filter=%7Baddress-family%7D,%7Bdirection%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)) }