docs: update policy document

This commit is contained in:
ISHIDA Wataru
2016-04-08 15:17:18 +09:00
committed by FUJITA Tomonori
parent 938c4ca453
commit 310be31d88
9 changed files with 634 additions and 1532 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 62 KiB

+76 -24
View File
@@ -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.
![Announcement processing model implemented by the Route Server](./policy-rs.png)
```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
Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

+117
View File
@@ -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

+195
View File
@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

+246
View File
@@ -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