docs: update policy document
|
After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 62 KiB |
@@ -8,27 +8,78 @@ We explain the overview firstly, then the details,
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Assumed that you finished [Getting Started](https://github.com/osrg/gobgp/blob/master/docs/sources/getting-started.md). Also [Route Server](https://github.com/osrg/gobgp/blob/master/docs/sources/route-server.md) is plus because we use Route Server setup for an example configuration.
|
||||
Assumed that you finished [Getting Started](https://github.com/osrg/gobgp/blob/master/docs/sources/getting-started.md).
|
||||
|
||||
## Overview
|
||||
## Contents
|
||||
- [Overview](#overview)
|
||||
- [Policy Model](#model)
|
||||
- [Route Server Policy Model](#rs-model)
|
||||
- [Policy Structure](#policy)
|
||||
- [Policy Configuration](#configuration)
|
||||
|
||||
### How policies works with RIBs
|
||||
|
||||
There are three categories for policies: **Import**, **Export** and **In** policies.
|
||||
## <a name="overview"> Overview
|
||||
|
||||
Policy is a way to control how BGP routes inserted to RIB or advertised to
|
||||
peers. Policy has two parts, **Condition** and **Action**.
|
||||
When a policy is configured, **Action** is applied to routes which meet **Condition**
|
||||
before routes proceed to next step.
|
||||
|
||||
GoBGP supports **Condition** like `prefix`, `neighbor`(source/destination of the route),
|
||||
`aspath` etc.., and **Action** like `accept`, `reject`, `MED/aspath/community manipulation`
|
||||
etc...
|
||||
|
||||
You can configure policy by configuration file, CLI or gRPC API.
|
||||
|
||||
## <a name="model"> Policy Model
|
||||
|
||||
The following figure shows how policy works in normal BGP configuration.
|
||||
|
||||
<p align="center">
|
||||
<img src="./policy.png" alt="policy model"/>
|
||||
</p>
|
||||
|
||||
There are **Import** and **Export** policy. **Import** policy is invoked
|
||||
before best path calculation and pushing routes to RIB.
|
||||
**Export** policy is invoked after that.
|
||||
|
||||
You can check each policy by the following commands.
|
||||
|
||||
```shell
|
||||
$ gobgp global policy import
|
||||
$ gobgp global policy export
|
||||
```
|
||||
|
||||
## <a name="rs-model"> Route Server Policy Model
|
||||
|
||||
The following figure shows how policy works in [route server BGP configuration](https://github.com/osrg/gobgp/blob/master/docs/sources/route-server.md).
|
||||
|
||||
<p align="center">
|
||||
<img src="./rs-policy.png" alt="Announcement processing model implemented by the route server"/>
|
||||
</p>
|
||||
|
||||
In route server mode, adding to **Import** and **Export**, we have **In** policy.
|
||||
|
||||
**Import** and **Export** policies are defined with respect to the
|
||||
local routing table. The **Import** policy defines what routes will be
|
||||
imported into its local RIBs. The **Export** policy defines what
|
||||
routes will be exported from its local RIBs. **In** polices are
|
||||
defined with respect to a peer in only Route Server setup. The **In**
|
||||
policy defines what routes will go to other peers' local routing tables.
|
||||
defined with respect to a peer. The **In** policy defines what routes will go
|
||||
to other peers' local routing tables.
|
||||
|
||||
The following figure shows how **Import**, **Export**, and **In**
|
||||
policies work with RIBs in Route Server setup.
|
||||
You can check each policy by the following commands.
|
||||
|
||||

|
||||
```shell
|
||||
$ gobgp neighbor <neighbor-addr> policy in
|
||||
$ gobgp neighbor <neighbor-addr> policy import
|
||||
$ gobgp neighbor <neighbor-addr> policy export
|
||||
```
|
||||
|
||||
### What's a policy?
|
||||
## <a name="policy"> Policy Stracture
|
||||
|
||||
<p align="center">
|
||||
<img src="./policy-component.png" alt="policy component"/>
|
||||
</p>
|
||||
|
||||
A policy consists of statements. Each statement has condition(s) and action(s).
|
||||
|
||||
@@ -40,6 +91,7 @@ Conditions are categorized into attributes below:
|
||||
- aspath length
|
||||
- community
|
||||
- extended community
|
||||
- rpki validation result
|
||||
|
||||
Actions are categorized into attributes below:
|
||||
|
||||
@@ -48,7 +100,7 @@ Actions are categorized into attributes below:
|
||||
- add/subtract or replace MED value
|
||||
- prepend AS number in the AS_PATH attribute
|
||||
|
||||
All the condition(s) in the statement are true, the action(s) in the statement are executed.
|
||||
If All condition in the statement are true, the action(s) in the statement are executed.
|
||||
|
||||
A condition can have multiple values. For example, you can define a prefix
|
||||
condition that has 10.20.0.0/16, 10.30.3.0/24, and 10.30.4.0/24. You can specify
|
||||
@@ -58,11 +110,19 @@ false. In this case, you can specify either:
|
||||
- true if a route matches any of 10.20.0.0/16, 10.30.3.0/24, and 10.30.4.0/24.
|
||||
- true if a route matches none of 10.20.0.0/16, 10.30.3.0/24, and 10.30.4.0/24.
|
||||
|
||||
The details will be explained in the following sections. If you
|
||||
quickly check out what policy configuration looks like, skip the next
|
||||
sections to go to the last section.
|
||||
You can check policy configuration by the following commands.
|
||||
|
||||
## The details of steps to define policies
|
||||
```shell
|
||||
$ gobgp policy
|
||||
$ gobgp policy statement
|
||||
$ gobgp policy prefix
|
||||
$ gobgp policy neighbor
|
||||
$ gobgp policy as-path
|
||||
$ gobgp policy community
|
||||
$ gobgp policy ext-community
|
||||
```
|
||||
|
||||
## <a name="configuration"> Policy Configuration
|
||||
|
||||
GoBGP's configuration file has two parts named **DefinedSets** and **PolicyDefinitions** as its policy configuration. **DefinedSets** part defines conditions. **PolicyDefinitions** defines policies based on actions and these conditions.
|
||||
|
||||
@@ -701,16 +761,8 @@ The ApplyPolicy has 6 elements.
|
||||
| DefaultInPolicy | action when the route doesn't match any policy:<br> "accept-route" or "reject-route". default is "accept-route" | "reject-route" |
|
||||
|
||||
|
||||
## Simple configuration example
|
||||
|
||||
A policy consists of a match and an action. A match defines if an
|
||||
action will be applied to a route. For now, GoBGP uses only the source
|
||||
of a peer and a prefix as match conditions. Only dropping and
|
||||
accepting are supported as an action.
|
||||
|
||||
This example the configuration in [Route
|
||||
Server](https://github.com/osrg/gobgp/blob/master/docs/sources/route-server.md)
|
||||
with one more peer (IP:10.0.255.3, AS:65001).
|
||||
## Policy Configuration Example
|
||||
|
||||
Neighbor 10.0.255.1 advertises 10.33.0.0/16 and 10.3.0.0/16 routes. We
|
||||
define an import policy for neighbor 10.0.255.2 that drops
|
||||
|
||||
|
After Width: | Height: | Size: 52 KiB |
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="460.32" height="373.987" viewBox="0, 0, 460.32, 373.987">
|
||||
<g id="Layer_1" transform="translate(-80.877, -61.824)">
|
||||
<g>
|
||||
<path d="M264.117,94.923 L358.883,94.923 L358.883,410.077 L264.117,410.077 L264.117,94.923 z" fill="#3473E3" fill-opacity="0.146"/>
|
||||
<path d="M264.117,94.923 L358.883,94.923 L358.883,410.077 L264.117,410.077 L264.117,94.923 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.571" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M311.5,286.5 C292.722,286.5 277.5,271.278 277.5,252.5 C277.5,233.722 292.722,218.5 311.5,218.5 C330.278,218.5 345.5,233.722 345.5,252.5 C345.5,271.278 330.278,286.5 311.5,286.5 z" fill="#FFFFFF"/>
|
||||
<path d="M311.5,286.5 C292.722,286.5 277.5,271.278 277.5,252.5 C277.5,233.722 292.722,218.5 311.5,218.5 C330.278,218.5 345.5,233.722 345.5,252.5 C345.5,271.278 330.278,286.5 311.5,286.5 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M238.008,274.906 L217.017,252.5 L238.008,230.094 z" fill="#FFAB00"/>
|
||||
<path d="M238.008,274.906 L217.017,252.5 L238.008,230.094 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M196.025,230.094 L217.017,252.5 L196.025,274.906 z" fill="#FFAB00"/>
|
||||
<path d="M196.025,230.094 L217.017,252.5 L196.025,274.906 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M426.975,274.906 L405.983,252.5 L426.975,230.094 z" fill="#FFAB00"/>
|
||||
<path d="M426.975,274.906 L405.983,252.5 L426.975,230.094 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M384.992,230.094 L405.983,252.5 L384.992,274.906 z" fill="#FFAB00"/>
|
||||
<path d="M384.992,230.094 L405.983,252.5 L384.992,274.906 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M82.377,96.324 L177.144,96.324 L177.144,411.477 L82.377,411.477 L82.377,96.324 z" fill="#3473E3" fill-opacity="0.146"/>
|
||||
<path d="M82.377,96.324 L177.144,96.324 L177.144,411.477 L82.377,411.477 L82.377,96.324 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.571" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M129.761,182.311 C110.983,182.311 95.761,167.088 95.761,148.311 C95.761,129.533 110.983,114.311 129.761,114.311 C148.538,114.311 163.761,129.533 163.761,148.311 C163.761,167.088 148.538,182.311 129.761,182.311 z" fill="#FC5B5B"/>
|
||||
<path d="M129.761,182.311 C110.983,182.311 95.761,167.088 95.761,148.311 C95.761,129.533 110.983,114.311 129.761,114.311 C148.538,114.311 163.761,129.533 163.761,148.311 C163.761,167.088 148.538,182.311 129.761,182.311 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M129.761,287.311 C110.983,287.311 95.761,272.088 95.761,253.311 C95.761,234.533 110.983,219.311 129.761,219.311 C148.538,219.311 163.761,234.533 163.761,253.311 C163.761,272.088 148.538,287.311 129.761,287.311 z" fill="#5780F2"/>
|
||||
<path d="M129.761,287.311 C110.983,287.311 95.761,272.088 95.761,253.311 C95.761,234.533 110.983,219.311 129.761,219.311 C148.538,219.311 163.761,234.533 163.761,253.311 C163.761,272.088 148.538,287.311 129.761,287.311 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M129.761,397.311 C110.983,397.311 95.761,382.088 95.761,363.311 C95.761,344.533 110.983,329.311 129.761,329.311 C148.538,329.311 163.761,344.533 163.761,363.311 C163.761,382.088 148.538,397.311 129.761,397.311 z" fill="#34E367"/>
|
||||
<path d="M129.761,397.311 C110.983,397.311 95.761,382.088 95.761,363.311 C95.761,344.533 110.983,329.311 129.761,329.311 C148.538,329.311 163.761,344.533 163.761,363.311 C163.761,382.088 148.538,397.311 129.761,397.311 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 129.261, 147.811)">
|
||||
<tspan x="-7.878" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">A</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 129.479, 252.811)">
|
||||
<tspan x="-8.096" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">B</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 129.905, 362.811)">
|
||||
<tspan x="-8.521" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">C</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 129.905, 76.234)">
|
||||
<tspan x="-34.695" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#363636">Adj-IN</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M445.15,95.324 L539.917,95.324 L539.917,410.477 L445.15,410.477 L445.15,95.324 z" fill="#3473E3" fill-opacity="0.146"/>
|
||||
<path d="M445.15,95.324 L539.917,95.324 L539.917,410.477 L445.15,410.477 L445.15,95.324 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.571" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M492.534,182.901 C473.756,182.901 458.534,167.678 458.534,148.901 C458.534,130.123 473.756,114.901 492.534,114.901 C511.311,114.901 526.534,130.123 526.534,148.901 C526.534,167.678 511.311,182.901 492.534,182.901 z" fill="#FC5B5B"/>
|
||||
<path d="M492.534,182.901 C473.756,182.901 458.534,167.678 458.534,148.901 C458.534,130.123 473.756,114.901 492.534,114.901 C511.311,114.901 526.534,130.123 526.534,148.901 C526.534,167.678 511.311,182.901 492.534,182.901 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M492.534,286.901 C473.756,286.901 458.534,271.678 458.534,252.901 C458.534,234.123 473.756,218.901 492.534,218.901 C511.311,218.901 526.534,234.123 526.534,252.901 C526.534,271.678 511.311,286.901 492.534,286.901 z" fill="#5780F2"/>
|
||||
<path d="M492.534,286.901 C473.756,286.901 458.534,271.678 458.534,252.901 C458.534,234.123 473.756,218.901 492.534,218.901 C511.311,218.901 526.534,234.123 526.534,252.901 C526.534,271.678 511.311,286.901 492.534,286.901 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M492.534,396.901 C473.756,396.901 458.534,381.678 458.534,362.901 C458.534,344.123 473.756,328.901 492.534,328.901 C511.311,328.901 526.534,344.123 526.534,362.901 C526.534,381.678 511.311,396.901 492.534,396.901 z" fill="#34E367"/>
|
||||
<path d="M492.534,396.901 C473.756,396.901 458.534,381.678 458.534,362.901 C458.534,344.123 473.756,328.901 492.534,328.901 C511.311,328.901 526.534,344.123 526.534,362.901 C526.534,381.678 511.311,396.901 492.534,396.901 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 492.034, 147.401)">
|
||||
<tspan x="-7.878" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">A</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 492.034, 252.4)">
|
||||
<tspan x="-8.096" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">B</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 492.034, 362.291)">
|
||||
<tspan x="-8.521" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">C</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 492.034, 76.119)">
|
||||
<tspan x="-47.277" y="7.705" font-family="HelveticaNeue-Bold" font-size="23" fill="#363636">Adj-OUT</tspan>
|
||||
</text>
|
||||
<path d="M164.557,149.901 L196.025,253.311" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M163.761,363.311 L196.025,253.311" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M163.761,253.311 L196.025,253.311" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M238.008,252.589 L277.5,252.5" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M345.5,253.311 L384.992,253.311" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M426.381,252.5 L458.645,252.5" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M426.381,252.5 L458.534,148.901" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M426.381,252.5 L458.534,362.901" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<text transform="matrix(1, 0, 0, 1, 310.601, 76.119)">
|
||||
<tspan x="-19.792" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#363636">RIB</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M187.241,112.587 L246.792,112.587 L246.792,393.214 L187.241,393.214 L187.241,112.587 z" fill="#FBAB00" fill-opacity="0.182"/>
|
||||
<path d="M187.241,112.587 L246.792,112.587 L246.792,393.214 L187.241,393.214 L187.241,112.587 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M375.42,112.587 L434.971,112.587 L434.971,393.214 L375.42,393.214 L375.42,112.587 z" fill="#FBAB00" fill-opacity="0.182"/>
|
||||
<path d="M375.42,112.587 L434.971,112.587 L434.971,393.214 L375.42,393.214 L375.42,112.587 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 216.517, 416.311)">
|
||||
<tspan x="-25.312" y="-3.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Import</tspan>
|
||||
<tspan x="-23.096" y="15.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Policy</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 404.696, 416.311)">
|
||||
<tspan x="-25.184" y="-3.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Export</tspan>
|
||||
<tspan x="-23.096" y="15.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Policy</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.6 KiB |
@@ -0,0 +1,195 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="717.356" height="530.298" viewBox="0, 0, 717.356, 530.298">
|
||||
<g id="Layer_1" transform="translate(-9.234, -15.25)">
|
||||
<g>
|
||||
<path d="M10.734,16.75 L163.734,16.75 L163.734,326.75 L10.734,326.75 L10.734,16.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M10.734,16.75 L163.734,16.75 L163.734,326.75 L10.734,326.75 L10.734,16.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M179.734,16.75 L332.734,16.75 L332.734,163.75 L179.734,163.75 L179.734,16.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M179.734,16.75 L332.734,16.75 L332.734,163.75 L179.734,163.75 L179.734,16.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M188.734,49.75 L323.734,49.75 L323.734,93.75 L188.734,93.75 L188.734,49.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M188.734,49.75 L323.734,49.75 L323.734,93.75 L188.734,93.75 L188.734,49.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 242.038, 66.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Condition</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M188.734,107.75 L323.734,107.75 L323.734,152.75 L188.734,152.75 L188.734,107.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M188.734,107.75 L323.734,107.75 L323.734,152.75 L188.734,152.75 L188.734,107.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 235.429, 126.25)">
|
||||
<tspan x="-42.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Action</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 242.429, 32.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Statement</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M19.734,48.75 L154.734,48.75 L154.734,114.75 L19.734,114.75 L19.734,48.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M19.734,48.75 L154.734,48.75 L154.734,114.75 L19.734,114.75 L19.734,48.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 74.038, 66.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Statement</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M19.734,126.75 L154.734,126.75 L154.734,192.75 L19.734,192.75 L19.734,126.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M19.734,126.75 L154.734,126.75 L154.734,192.75 L19.734,192.75 L19.734,126.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 74.038, 144.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Statement</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M19.734,251.126 L154.734,251.126 L154.734,317.126 L19.734,317.126 L19.734,251.126 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M19.734,251.126 L154.734,251.126 L154.734,317.126 L19.734,317.126 L19.734,251.126 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 74.038, 269.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Statement</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 52.429, 34.25)">
|
||||
<tspan x="-27.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Policy</tspan>
|
||||
</text>
|
||||
<text transform="matrix(-0, -1, 1, -0, 95.853, 222.75)">
|
||||
<tspan x="-13.877" y="-6.38" font-family="HelveticaNeue-Bold" font-size="22" fill="#363636">…</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M349.734,16.75 L522.734,16.75 L522.734,163.75 L349.734,163.75 L349.734,16.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M349.734,16.75 L522.734,16.75 L522.734,163.75 L349.734,163.75 L349.734,16.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<path d="M353.03,509.618 L353.03,508.375" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
<text transform="matrix(1, 0, 0, 1, 412.429, 32.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Condition</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 437.136, 99.25)">
|
||||
<tspan x="-80.293" y="-41" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- prefix-set-name</tspan>
|
||||
<tspan x="-80.293" y="-26" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- neighbor-set-name</tspan>
|
||||
<tspan x="-80.293" y="-11" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- community-set-name</tspan>
|
||||
<tspan x="-80.293" y="4" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- ext-community-set-name</tspan>
|
||||
<tspan x="-80.293" y="19" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- as-path-set-name</tspan>
|
||||
<tspan x="-80.293" y="34" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- as-path-length</tspan>
|
||||
<tspan x="-80.293" y="49" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- rpki-validation-result</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M535.583,16.75 L726.089,16.75 L726.089,545.048 L535.583,545.048 L535.583,16.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M535.583,16.75 L726.089,16.75 L726.089,545.048 L535.583,545.048 L535.583,16.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M349.734,183.75 L522.734,183.75 L522.734,291.503 L349.734,291.503 L349.734,183.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M349.734,183.75 L522.734,183.75 L522.734,291.503 L349.734,291.503 L349.734,183.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 412.429, 199.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Action</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 437.136, 249.003)">
|
||||
<tspan x="-80.293" y="-26" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- accept/reject</tspan>
|
||||
<tspan x="-80.293" y="-11" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- add/remove community/</tspan>
|
||||
<tspan x="-80.293" y="4" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">ext-community</tspan>
|
||||
<tspan x="-80.293" y="19" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- prepend as-path</tspan>
|
||||
<tspan x="-80.293" y="34" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">- manipulate MED</tspan>
|
||||
</text>
|
||||
<path d="M154.734,78.75 L179.734,78.75" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
<path d="M323.734,72.527 L349.734,39.527" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
<path d="M323.734,129.75 L349.734,205.75" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M547.466,46.75 L713.843,46.75 L713.843,134.75 L547.466,134.75 L547.466,46.75 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M547.466,46.75 L713.843,46.75 L713.843,134.75 L547.466,134.75 L547.466,46.75 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 602.144, 61.25)">
|
||||
<tspan x="-47.935" y="6" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Prefix Sets</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M554.705,77.007 L702.846,76.978 L702.853,105.237 L554.712,105.266 L554.705,77.007 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M554.705,77.007 L702.846,76.978 L702.853,105.237 L554.712,105.266 L554.705,77.007 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 595.312, 92.627)">
|
||||
<tspan x="-35.867" y="-0.13" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">prefix-set</tspan>
|
||||
</text>
|
||||
<text transform="matrix(-0, -1, 1, -0, 640.615, 116.373)">
|
||||
<tspan x="-13.877" y="-10.105" font-family="HelveticaNeue-Bold" font-size="22" fill="#363636">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 590.91, 32.25)">
|
||||
<tspan x="-49.195" y="4" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Defined Sets</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M547.466,145.46 L713.843,145.46 L713.843,233.46 L547.466,233.46 L547.466,145.46 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M547.466,145.46 L713.843,145.46 L713.843,233.46 L547.466,233.46 L547.466,145.46 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 618.683, 160.648)">
|
||||
<tspan x="-64.474" y="5.312" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Neighbor Sets</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M554.705,175.717 L702.846,175.688 L702.853,203.947 L554.712,203.976 L554.705,175.717 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M554.705,175.717 L702.846,175.688 L702.853,203.947 L554.712,203.976 L554.705,175.717 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 615.332, 194.707)">
|
||||
<tspan x="-55.888" y="-3.5" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">neighbor-set</tspan>
|
||||
</text>
|
||||
<text transform="matrix(-0, -1, 1, -0, 640.615, 215.084)">
|
||||
<tspan x="-13.877" y="-10.105" font-family="HelveticaNeue-Bold" font-size="22" fill="#363636">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M547.466,245.709 L713.843,245.709 L713.843,333.709 L547.466,333.709 L547.466,245.709 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M547.466,245.709 L713.843,245.709 L713.843,333.709 L547.466,333.709 L547.466,245.709 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 631.74, 260.897)">
|
||||
<tspan x="-77.531" y="5.312" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Community Sets</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M554.705,275.966 L702.846,275.937 L702.853,304.196 L554.712,304.225 L554.705,275.966 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M554.705,275.966 L702.846,275.937 L702.853,304.196 L554.712,304.225 L554.705,275.966 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 618.814, 294.956)">
|
||||
<tspan x="-59.369" y="-3.5" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">community-set</tspan>
|
||||
</text>
|
||||
<text transform="matrix(-0, -1, 1, -0, 640.615, 315.333)">
|
||||
<tspan x="-13.877" y="-10.105" font-family="HelveticaNeue-Bold" font-size="22" fill="#363636">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M547.466,345.595 L713.843,345.595 L713.843,433.595 L547.466,433.595 L547.466,345.595 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M547.466,345.595 L713.843,345.595 L713.843,433.595 L547.466,433.595 L547.466,345.595 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 631.55, 369.595)">
|
||||
<tspan x="-78.209" y="-3.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">ExtCommunity Sets</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M553.839,375.852 L702.63,375.819 L702.636,404.079 L553.845,404.112 L553.839,375.852 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M553.839,375.852 L702.63,375.819 L702.636,404.079 L553.845,404.112 L553.839,375.852 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 616.341, 402.342)">
|
||||
<tspan x="-58.39" y="-11" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">ext-community-set</tspan>
|
||||
</text>
|
||||
<text transform="matrix(-0, -1, 1, -0, 638.401, 415.219)">
|
||||
<tspan x="-13.877" y="-6.38" font-family="HelveticaNeue-Bold" font-size="22" fill="#363636">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M547.466,445.148 L713.843,445.148 L713.843,533.148 L547.466,533.148 L547.466,445.148 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M547.466,445.148 L713.843,445.148 L713.843,533.148 L547.466,533.148 L547.466,445.148 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 602.144, 459.648)">
|
||||
<tspan x="-47.935" y="6" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">AsPath Sets</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M554.705,475.405 L702.846,475.376 L702.853,503.635 L554.712,503.664 L554.705,475.405 z" fill="#FFFFFF" fill-opacity="0.182"/>
|
||||
<path d="M554.705,475.405 L702.846,475.376 L702.853,503.635 L554.712,503.664 L554.705,475.405 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 595.312, 491.024)">
|
||||
<tspan x="-35.867" y="-0.13" font-family="HelveticaNeue-Bold" font-size="12" fill="#363636">as-path-set</tspan>
|
||||
</text>
|
||||
<text transform="matrix(-0, -1, 1, -0, 640.615, 514.771)">
|
||||
<tspan x="-13.877" y="-10.105" font-family="HelveticaNeue-Bold" font-size="22" fill="#363636">…</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<path d="M522.466,56.027 L547.466,56.027" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 69 KiB |
@@ -0,0 +1,246 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="595.068" height="385.215" viewBox="0, 0, 595.068, 385.215">
|
||||
<g id="Layer_1" transform="translate(4, -227.785)">
|
||||
<g>
|
||||
<path d="M134.191,280.158 L193.741,280.158 L193.741,560.784 L134.191,560.784 L134.191,280.158 z" fill="#FBAB00" fill-opacity="0.182"/>
|
||||
<path d="M134.191,280.158 L193.741,280.158 L193.741,560.784 L134.191,560.784 L134.191,280.158 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M469.953,261.285 L564.719,261.285 L564.719,576.439 L469.953,576.439 L469.953,261.285 z" fill="#3473E3" fill-opacity="0.146"/>
|
||||
<path d="M469.953,261.285 L564.719,261.285 L564.719,576.439 L469.953,576.439 L469.953,261.285 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.571" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M29.358,261.875 L124.125,261.875 L124.125,577.029 L29.358,577.029 L29.358,261.875 z" fill="#3473E3" fill-opacity="0.146"/>
|
||||
<path d="M29.358,261.875 L124.125,261.875 L124.125,577.029 L29.358,577.029 L29.358,261.875 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.571" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M296.941,261.875 L391.707,261.875 L391.707,577.029 L296.941,577.029 L296.941,261.875 z" fill="#3473E3" fill-opacity="0.146"/>
|
||||
<path d="M296.941,261.875 L391.707,261.875 L391.707,577.029 L296.941,577.029 L296.941,261.875 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.571" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M76.742,347.862 C57.964,347.862 42.742,332.639 42.742,313.862 C42.742,295.084 57.964,279.862 76.742,279.862 C95.519,279.862 110.742,295.084 110.742,313.862 C110.742,332.639 95.519,347.862 76.742,347.862 z" fill="#FC5B5B"/>
|
||||
<path d="M76.742,347.862 C57.964,347.862 42.742,332.639 42.742,313.862 C42.742,295.084 57.964,279.862 76.742,279.862 C95.519,279.862 110.742,295.084 110.742,313.862 C110.742,332.639 95.519,347.862 76.742,347.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M76.742,452.862 C57.964,452.862 42.742,437.639 42.742,418.862 C42.742,400.084 57.964,384.862 76.742,384.862 C95.519,384.862 110.742,400.084 110.742,418.862 C110.742,437.639 95.519,452.862 76.742,452.862 z" fill="#5780F2"/>
|
||||
<path d="M76.742,452.862 C57.964,452.862 42.742,437.639 42.742,418.862 C42.742,400.084 57.964,384.862 76.742,384.862 C95.519,384.862 110.742,400.084 110.742,418.862 C110.742,437.639 95.519,452.862 76.742,452.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M76.742,562.862 C57.964,562.862 42.742,547.639 42.742,528.862 C42.742,510.084 57.964,494.862 76.742,494.862 C95.519,494.862 110.742,510.084 110.742,528.862 C110.742,547.639 95.519,562.862 76.742,562.862 z" fill="#34E367"/>
|
||||
<path d="M76.742,562.862 C57.964,562.862 42.742,547.639 42.742,528.862 C42.742,510.084 57.964,494.862 76.742,494.862 C95.519,494.862 110.742,510.084 110.742,528.862 C110.742,547.639 95.519,562.862 76.742,562.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M277.647,441.267 L256.655,418.862 L277.647,396.456 z" fill="#FBAB00"/>
|
||||
<path d="M277.647,441.267 L256.655,418.862 L277.647,396.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M235.664,396.456 L256.655,418.862 L235.664,441.267 z" fill="#FBAB00"/>
|
||||
<path d="M235.664,396.456 L256.655,418.862 L235.664,441.267 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M276.647,336.267 L255.655,313.862 L276.647,291.456 z" fill="#FBAB00"/>
|
||||
<path d="M276.647,336.267 L255.655,313.862 L276.647,291.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M234.664,291.456 L255.655,313.862 L234.664,336.267 z" fill="#FBAB00"/>
|
||||
<path d="M234.664,291.456 L255.655,313.862 L234.664,336.267 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M277.647,551.268 L256.655,528.862 L277.647,506.456 z" fill="#FBAB00"/>
|
||||
<path d="M277.647,551.268 L256.655,528.862 L277.647,506.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M235.664,506.456 L256.655,528.862 L235.664,551.268 z" fill="#FBAB00"/>
|
||||
<path d="M235.664,506.456 L256.655,528.862 L235.664,551.268 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M452.828,441.267 L431.836,418.862 L452.828,396.456 z" fill="#FBAB00"/>
|
||||
<path d="M452.828,441.267 L431.836,418.862 L452.828,396.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M410.844,396.456 L431.836,418.862 L410.844,441.267 z" fill="#FBAB00"/>
|
||||
<path d="M410.844,396.456 L431.836,418.862 L410.844,441.267 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M451.828,336.268 L430.836,313.862 L451.828,291.456 z" fill="#FBAB00"/>
|
||||
<path d="M451.828,336.268 L430.836,313.862 L451.828,291.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M409.844,291.456 L430.836,313.862 L409.844,336.268 z" fill="#FBAB00"/>
|
||||
<path d="M409.844,291.456 L430.836,313.862 L409.844,336.268 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M452.242,551.267 L431.25,528.862 L452.242,506.456 z" fill="#FBAB00"/>
|
||||
<path d="M452.242,551.267 L431.25,528.862 L452.242,506.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M410.258,506.456 L431.25,528.862 L410.258,551.267 z" fill="#FBAB00"/>
|
||||
<path d="M410.258,506.456 L431.25,528.862 L410.258,551.267 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M343.742,348.862 C324.964,348.862 309.742,333.639 309.742,314.862 C309.742,296.084 324.964,280.862 343.742,280.862 C362.519,280.862 377.742,296.084 377.742,314.862 C377.742,333.639 362.519,348.862 343.742,348.862 z" fill="#FC5B5B"/>
|
||||
<path d="M343.742,348.862 C324.964,348.862 309.742,333.639 309.742,314.862 C309.742,296.084 324.964,280.862 343.742,280.862 C362.519,280.862 377.742,296.084 377.742,314.862 C377.742,333.639 362.519,348.862 343.742,348.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M343.742,452.862 C324.964,452.862 309.742,437.639 309.742,418.862 C309.742,400.084 324.964,384.862 343.742,384.862 C362.519,384.862 377.742,400.084 377.742,418.862 C377.742,437.639 362.519,452.862 343.742,452.862 z" fill="#5780F2"/>
|
||||
<path d="M343.742,452.862 C324.964,452.862 309.742,437.639 309.742,418.862 C309.742,400.084 324.964,384.862 343.742,384.862 C362.519,384.862 377.742,400.084 377.742,418.862 C377.742,437.639 362.519,452.862 343.742,452.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M343.742,562.862 C324.964,562.862 309.742,547.639 309.742,528.862 C309.742,510.084 324.964,494.862 343.742,494.862 C362.519,494.862 377.742,510.084 377.742,528.862 C377.742,547.639 362.519,562.862 343.742,562.862 z" fill="#34E367"/>
|
||||
<path d="M343.742,562.862 C324.964,562.862 309.742,547.639 309.742,528.862 C309.742,510.084 324.964,494.862 343.742,494.862 C362.519,494.862 377.742,510.084 377.742,528.862 C377.742,547.639 362.519,562.862 343.742,562.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M185.328,441.268 L164.336,418.862 L185.328,396.456 z" fill="#FBAB00"/>
|
||||
<path d="M185.328,441.268 L164.336,418.862 L185.328,396.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M143.344,396.456 L164.336,418.862 L143.344,441.268 z" fill="#FBAB00"/>
|
||||
<path d="M143.344,396.456 L164.336,418.862 L143.344,441.268 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M184.958,336.268 L163.966,313.862 L184.958,291.456 z" fill="#FFAB00"/>
|
||||
<path d="M184.958,336.268 L163.966,313.862 L184.958,291.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M142.974,291.456 L163.966,313.862 L142.974,336.268 z" fill="#FFAB00"/>
|
||||
<path d="M142.974,291.456 L163.966,313.862 L142.974,336.268 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path d="M185.328,551.268 L164.336,528.862 L185.328,506.456 z" fill="#FBAB00"/>
|
||||
<path d="M185.328,551.268 L164.336,528.862 L185.328,506.456 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M143.344,506.456 L164.336,528.862 L143.344,551.268 z" fill="#FBAB00"/>
|
||||
<path d="M143.344,506.456 L164.336,528.862 L143.344,551.268 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M110.742,528.862 L142.974,528.862" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M185.742,528.862 L236.25,418.689" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M185.742,528.862 L234.836,314.081" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M111.245,419.822 L143.477,419.822" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M111.245,315.266 L143.477,315.266" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M278.233,314.081 L309.742,313.862" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M278.647,418.971 L310.156,418.752" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M278.647,528.862 L310.156,528.643" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<g>
|
||||
<path d="M517.336,348.862 C498.558,348.862 483.336,333.639 483.336,314.862 C483.336,296.084 498.558,280.862 517.336,280.862 C536.114,280.862 551.336,296.084 551.336,314.862 C551.336,333.639 536.114,348.862 517.336,348.862 z" fill="#FC5B5B"/>
|
||||
<path d="M517.336,348.862 C498.558,348.862 483.336,333.639 483.336,314.862 C483.336,296.084 498.558,280.862 517.336,280.862 C536.114,280.862 551.336,296.084 551.336,314.862 C551.336,333.639 536.114,348.862 517.336,348.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M517.336,452.862 C498.558,452.862 483.336,437.639 483.336,418.862 C483.336,400.084 498.558,384.862 517.336,384.862 C536.114,384.862 551.336,400.084 551.336,418.862 C551.336,437.639 536.114,452.862 517.336,452.862 z" fill="#5780F2"/>
|
||||
<path d="M517.336,452.862 C498.558,452.862 483.336,437.639 483.336,418.862 C483.336,400.084 498.558,384.862 517.336,384.862 C536.114,384.862 551.336,400.084 551.336,418.862 C551.336,437.639 536.114,452.862 517.336,452.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M517.336,562.862 C498.558,562.862 483.336,547.639 483.336,528.862 C483.336,510.084 498.558,494.862 517.336,494.862 C536.114,494.862 551.336,510.084 551.336,528.862 C551.336,547.639 536.114,562.862 517.336,562.862 z" fill="#34E367"/>
|
||||
<path d="M517.336,562.862 C498.558,562.862 483.336,547.639 483.336,528.862 C483.336,510.084 498.558,494.862 517.336,494.862 C536.114,494.862 551.336,510.084 551.336,528.862 C551.336,547.639 536.114,562.862 517.336,562.862 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
</g>
|
||||
<path d="M451.828,314.081 L483.336,313.862" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M452.242,418.971 L483.75,418.752" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M452.242,528.862 L483.75,528.643" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M377.742,314.3 L409.25,314.081" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M377.662,419.025 L409.17,418.806" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M377.742,530.229 L409.25,530.01" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M185.328,315.266 L236.25,418.689" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M185.328,315.266 L236.25,530.01" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M185.742,419.822 L234.836,314.081" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M185.742,419.822 L236.25,530.01" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<g>
|
||||
<path d="M226.88,280.158 L286.431,280.158 L286.431,560.784 L226.88,560.784 L226.88,280.158 z" fill="#FBAB00" fill-opacity="0.182"/>
|
||||
<path d="M226.88,280.158 L286.431,280.158 L286.431,560.784 L226.88,560.784 L226.88,280.158 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M401.061,280.158 L460.611,280.158 L460.611,560.784 L401.061,560.784 L401.061,280.158 z" fill="#FBAB00" fill-opacity="0.182"/>
|
||||
<path d="M401.061,280.158 L460.611,280.158 L460.611,560.784 L401.061,560.784 L401.061,280.158 z" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="0.457" stroke-dasharray="3,2"/>
|
||||
</g>
|
||||
<text transform="matrix(1, 0, 0, 1, 76.242, 313.362)">
|
||||
<tspan x="-7.878" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">A</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 343.824, 313.362)">
|
||||
<tspan x="-7.878" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">A</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 516.836, 313.362)">
|
||||
<tspan x="-7.878" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">A</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 76.46, 418.362)">
|
||||
<tspan x="-8.096" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">B</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 343.824, 418.362)">
|
||||
<tspan x="-8.096" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">B</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 516.836, 418.362)">
|
||||
<tspan x="-8.096" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">B</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 76.886, 528.362)">
|
||||
<tspan x="-8.521" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">C</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 343.667, 528.252)">
|
||||
<tspan x="-8.521" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">C</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 516.836, 528.252)">
|
||||
<tspan x="-8.521" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#FFFFFF">C</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 76.886, 241.785)">
|
||||
<tspan x="-34.695" y="8" font-family="HelveticaNeue-Bold" font-size="23" fill="#363636">Adj-IN</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 345.024, 242.08)">
|
||||
<tspan x="-44.919" y="7.705" font-family="HelveticaNeue-Bold" font-size="23" fill="#363636">Loc-RIB</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 516.836, 242.08)">
|
||||
<tspan x="-47.277" y="7.705" font-family="HelveticaNeue-Bold" font-size="23" fill="#363636">Adj-OUT</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 163.836, 592.5)">
|
||||
<tspan x="-7.104" y="-3.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">In</tspan>
|
||||
<tspan x="-23.096" y="15.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Policy</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 255.155, 592.5)">
|
||||
<tspan x="-25.312" y="-3.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Import</tspan>
|
||||
<tspan x="-23.096" y="15.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Policy</tspan>
|
||||
</text>
|
||||
<text transform="matrix(1, 0, 0, 1, 431.336, 593.5)">
|
||||
<tspan x="-25.184" y="-3.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Export</tspan>
|
||||
<tspan x="-23.096" y="15.5" font-family="HelveticaNeue-Bold" font-size="16" fill="#363636">Policy</tspan>
|
||||
</text>
|
||||
<g>
|
||||
<path d="M2.5,315.266 L25.733,315.266" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M25.733,318.266 L33.733,315.266 L25.733,312.266 z" fill="#000000" fill-opacity="1" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M2.5,420.471 L25.733,420.471" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M25.733,423.471 L33.733,420.471 L25.733,417.471 z" fill="#000000" fill-opacity="1" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M2.5,528.752 L25.733,528.752" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M25.733,531.752 L33.733,528.752 L25.733,525.752 z" fill="#000000" fill-opacity="1" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M553.336,315.156 L576.568,315.156" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M576.568,318.156 L584.568,315.156 L576.568,312.156 z" fill="#000000" fill-opacity="1" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M553.336,420.362 L576.568,420.362" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M576.568,423.362 L584.568,420.362 L576.568,417.362 z" fill="#000000" fill-opacity="1" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M553.336,528.643 L576.568,528.643" fill-opacity="0" stroke="#000000" stroke-width="1"/>
|
||||
<path d="M576.568,531.643 L584.568,528.643 L576.568,525.643 z" fill="#000000" fill-opacity="1" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |