Project

General

Profile

Multicast-ideas-updated » Flowchart.svg

Sven Eckelmann, 07/16/2017 09:35 PM

 
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="185cm" height="64cm" viewBox="-2440 -467 3696 1264" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Background">
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="580" y="-360">
<tspan x="580" y="-360">packet</tspan>
</text>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="776.963,-280 853.926,-241.518 776.963,-203.037 700,-241.518 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="776.963" y="-237.618">
<tspan x="776.963" y="-237.618">is_mcast_IP</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="775.271,-180 930.542,-111.703 775.271,-43.4065 620,-111.703 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="775.271" y="-115.803">
<tspan x="775.271" y="-115.803">is_IPv6_mcast_transient ||</tspan>
<tspan x="775.271" y="-99.8032">is_IPv4_mcast_non_link_local</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="781.613,0 883.226,50.8066 781.613,101.613 680,50.8066 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="781.613" y="54.7066">
<tspan x="781.613" y="54.7066">mcast_entry_exists</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="541.663,180 623.326,220.832 541.663,261.663 460,220.832 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="541.663" y="224.732">
<tspan x="541.663" y="224.732">threshold_up</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="477.3" y="40" width="148.3" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="551.45" y="62.9">
<tspan x="551.45" y="62.9">mcast_entry_create</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="200" width="154.45" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="317.225" y="222.9">
<tspan x="317.225" y="222.9">build_tracker_packet</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="220" y="260" width="186.55" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="313.275" y="282.9">
<tspan x="313.275" y="282.9">route_tracker_packet (3x)</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="320" width="141.6" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="310.8" y="342.9">
<tspan x="310.8" y="342.9">start_grace_period</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="534.706,300 629.412,342.092 534.706,384.183 440,342.092 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="534.706" y="345.992">
<tspan x="534.706" y="345.992">mcast_is_active</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="920" y="460" width="85.5" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="962.75" y="482.9">
<tspan x="962.75" y="482.9">broadcast</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="700" y="200" width="152.8" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="776.4" y="222.9">
<tspan x="776.4" y="222.9">mcast_entry_update</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="543.513,420 647.026,471.757 543.513,523.513 440,471.757 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="543.513" y="475.657">
<tspan x="543.513" y="475.657">MCA_listener_exists</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="696.75" y="320" width="150.5" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="772" y="342.9">
<tspan x="772" y="342.9">route_mcast_packet</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" x1="640" y1="-360" x2="715.526" y2="-360"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="707.762,-355 717.762,-360 707.762,-365 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="853.926" y1="-241.518" x2="935.528" y2="-241.027"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="927.734,-236.074 937.764,-241.013 927.794,-246.074 "/>
</g>
<g>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="930.542,-111.703 930.542,-100 962.75,-100 962.75,454.561 "/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="957.75,446.797 962.75,456.797 967.75,446.797 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="940" y="-260" width="40" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="960" y="-237.1">
<tspan x="960" y="-237.1">...</tspan>
</text>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="880" y="-260">
<tspan x="880" y="-260">yes</tspan>
</text>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="776.964" y1="-203.036" x2="775.6" y2="-184.46"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="771.182,-192.569 775.436,-182.23 781.155,-191.837 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="775.272" y1="-43.4064" x2="780.967" y2="-4.42515"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="774.898,-11.3847 781.291,-2.21258 784.792,-12.8304 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="680" y1="50.8066" x2="630.071" y2="49.6074"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="637.953,44.7952 627.835,49.5537 637.712,54.7924 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="781.614" y1="101.613" x2="777.486" y2="194.557"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="772.835,186.579 777.386,196.791 782.825,187.023 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="551.45" y1="78" x2="542.091" y2="175.548"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="537.855,167.342 541.878,177.774 547.81,168.297 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="647.026" y1="471.756" x2="915.529" y2="478.881"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="907.636,483.674 917.765,478.941 907.901,473.677 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="629.412" y1="342.092" x2="691.283" y2="340.75"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="683.629,345.917 693.519,340.702 683.412,335.92 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="534.706" y1="384.184" x2="542.446" y2="415.657"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="535.737,409.312 542.98,417.829 545.447,406.924 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="543.514" y1="523.514" x2="544.652" y2="554.53"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="539.371,546.954 544.734,556.764 549.364,546.588 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="382.6" y1="340.718" x2="435.529" y2="341.985"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="427.648,346.798 437.765,342.039 427.887,336.801 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="312.45" y1="298.995" x2="311.809" y2="314.537"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="307.133,306.573 311.717,316.771 317.125,306.985 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="315.909" y1="238.995" x2="314.885" y2="254.542"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="310.406,246.467 314.738,256.774 320.384,247.124 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="460" y1="220.832" x2="399.925" y2="220.061"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="407.752,215.161 397.689,220.032 407.624,225.16 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="180" y="0" width="85.7778" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="188.578" y1="0" x2="188.578" y2="40"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="180" y1="4" x2="265.778" y2="4"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="227.178" y="26">
<tspan x="227.178" y="26">Tracker_DB</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="698.994" y1="219.926" x2="627.798" y2="220.778"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="635.501,215.686 625.562,220.805 635.621,225.685 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="720" y="560">
<tspan x="720" y="560">CONST: MIN, MAX, DEFAULT, UNIT</tspan>
<tspan x="720" y="581.223">THR_COUNT: 1, INT_MAX, 5, #</tspan>
<tspan x="720" y="602.446">THR_IVAL: 100, INT_MAX, 5000, ms</tspan>
<tspan x="720" y="623.669">GRACE_PERIOD: 0, INT_MAX, 25, ms</tspan>
<tspan x="720" y="644.892"></tspan>
<tspan x="720" y="666.116">'threshold_high': threshold_count / THR_IVAL &gt;= THR_COUNT</tspan>
<tspan x="720" y="687.339">'threshold_low': threshold_count / THR_IVAL &lt; THR_COUNT</tspan>
<tspan x="720" y="708.562">'threshold_up': 'threshold_low' -&gt; 'threshold_high'</tspan>
<tspan x="720" y="729.785">'threshold_down': 'threshold_high' -&gt; 'threshold_low'</tspan>
<tspan x="720" y="751.008">'grace_period_finished': grace_period_start &gt;= GRACE_PERIOD</tspan>
<tspan x="720" y="772.231">'mcast_is_active': 'threshold_high' &amp;&amp; 'grace_period_finished'</tspan>
<tspan x="720" y="793.454"></tspan>
</text>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="541.664" y1="261.664" x2="535.505" y2="295.6"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="531.972,287.068 535.105,297.8 541.811,288.854 "/>
</g>
<g>
<path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 737.938 -380 L 809.688,-380 C 819.594,-380 827.625,-371.046 827.625,-360 C 827.625,-348.954 819.594,-340 809.688,-340 L 737.938,-340 C 728.031,-340 720,-348.954 720,-360 C 720,-371.046 728.031,-380 737.938,-380z"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="773.812" y="-356">
<tspan x="773.812" y="-356">softif_recv</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="774.639" y1="-339.023" x2="776.788" y2="-284.469"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="771.486,-292.03 776.876,-282.234 781.478,-292.423 "/>
</g>
<text font-size="28.2222" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="320" y="-440">
<tspan x="320" y="-440">MCAST Sender</tspan>
</text>
<text font-size="28.2222" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-300" y="-440">
<tspan x="-300" y="-440">MCAST Tracker</tspan>
</text>
<text font-size="28.2222" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-920" y="-440">
<tspan x="-920" y="-440">MCAST Announce</tspan>
</text>
<text font-size="28.2222" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1820" y="-440">
<tspan x="-1820" y="-440">MCAST Listener</tspan>
</text>
<text font-size="28.2222" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2440" y="-440">
<tspan x="-2440" y="-440">MCAST Receiver</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="800" y="-180">
<tspan x="800" y="-180">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="740" y="-20">
<tspan x="740" y="-20">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="920" y="-60">
<tspan x="920" y="-60">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="660" y="40">
<tspan x="660" y="40">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="800" y="160">
<tspan x="800" y="160">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="420" y="200">
<tspan x="420" y="200">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="560" y="280">
<tspan x="560" y="280">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="560" y="420">
<tspan x="560" y="420">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="640" y="320">
<tspan x="640" y="320">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="680" y="460">
<tspan x="680" y="460">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="560" y="540">
<tspan x="560" y="540">no</tspan>
</text>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-280" y="-180" width="163.3" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-198.35" y="-157.1">
<tspan x="-198.35" y="-157.1">mcast_entries_update</tspan>
</text>
</g>
<g>
<path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M -262.35 -380 L -111.75,-380 C -90.9565,-380 -74.1,-371.046 -74.1,-360 C -74.1,-348.954 -90.9565,-340 -111.75,-340 L -262.35,-340 C -283.144,-340 -300,-348.954 -300,-360 C -300,-371.046 -283.144,-380 -262.35,-380z"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-187.05" y="-356">
<tspan x="-187.05" y="-356">timer(tracker_interval)</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-300" y="-40" width="204.8" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-197.6" y="-17.1">
<tspan x="-197.6" y="-17.1">build_tracker_packet_bundle</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-280" y="100" width="156.75" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-201.625" y="122.9">
<tspan x="-201.625" y="122.9">route_tracker_packet</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-188.242" y1="-339" x2="-196.965" y2="-185.384"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-201.517,-193.419 -197.092,-183.152 -191.533,-192.852 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-198.243" y1="-140.996" x2="-197.731" y2="-45.4757"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-202.773,-53.2128 -197.719,-43.2397 -192.773,-53.2663 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-198.175" y1="-0.996338" x2="-200.921" y2="94.526"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-205.696,86.6216 -200.986,96.7612 -195.7,86.909 "/>
</g>
<g>
<path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M -886.55 -380 L -752.75,-380 C -734.276,-380 -719.3,-371.046 -719.3,-360 C -719.3,-348.954 -734.276,-340 -752.75,-340 L -886.55,-340 C -905.024,-340 -920,-348.954 -920,-360 C -920,-371.046 -905.024,-380 -886.55,-380z"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-819.65" y="-356">
<tspan x="-819.65" y="-356">timer(ogm_interval)</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-880" y="-260" width="100.1" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-829.95" y="-237.1">
<tspan x="-829.95" y="-237.1">create_OGM</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-880" y="-160" width="100.1" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-829.95" y="-137.1">
<tspan x="-829.95" y="-137.1">attach_MCA</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-880" y="-40" width="100.1" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-829.95" y="-17.1">
<tspan x="-829.95" y="-17.1">send_OGM</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-606.25" y="-180" width="86.25" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-597.625" y1="-180" x2="-597.625" y2="-140"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-606.25" y1="-176" x2="-520" y2="-176"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-558.812" y="-154">
<tspan x="-558.812" y="-154">MCA_DB</tspan>
</text>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -778.905 -20.5357 C -668.955,-19.5357 -733.741,-130.301 -611.646,-149.602"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-618.534,-143.451 -609.438,-149.951 -620.096,-153.329 "/>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -778.895 -20.5357 C -668.945,-19.5357 -794.254,-60 -505.436,-60"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-513.2,-55 -503.2,-60 -513.2,-65 "/>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -778.9 -20.5357 C -668.95,-19.5357 -814.286,60 -525.468,60"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-533.232,65 -523.232,60 -533.232,55 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" x1="-778.904" y1="-20.7961" x2="-645.471" y2="-20.263"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-653.255,-15.2941 -643.235,-20.2541 -653.215,-25.294 "/>
</g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M -580 -260 C -574.024,-260 -556.666,-226.666 -540,-220 C -523.334,-213.334 -510.316,-221.25 -500,-220 C -489.684,-218.75 -471.982,-169.75 -460,-160 C -448.018,-150.25 -425.898,-133.5 -420,-120 C -414.102,-106.5 -437.274,-78.9166 -439.624,-60 C -441.976,-41.0834 -420,-30 -420,-20 C -420,-10 -413.334,3.33334 -420,20 C -426.666,36.6666 -425.898,70.8334 -425.898,87.5 C -425.898,104.167 -473.794,111 -486.898,115.5 C -500,120 -537.046,108.083 -555.898,105.5 C -574.748,102.917 -607.546,86.0834 -624.898,78.5 C -642.248,70.9166 -650.046,48.25 -655.898,38.5 C -661.748,28.75 -645.982,-63.5834 -660,-80 C -674.018,-96.4166 -701.482,-103.75 -700,-120 C -698.518,-136.25 -691.316,-168.75 -680,-180 C -668.684,-191.25 -619.816,-188.083 -620,-200 C -620.184,-211.916 -622.982,-232.584 -620,-240 C -617.018,-247.416 -585.976,-260 -580,-260"/>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -412.744 -60 C -366.034,-60 -421.502,-19.1707 -303.574,-20.1342"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-311.297,-15.0709 -301.338,-20.1525 -311.379,-25.0706 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-821.467" y1="-339.009" x2="-827.833" y2="-265.458"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-832.145,-273.624 -828.026,-263.231 -822.182,-272.762 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-829.95" y1="-221.029" x2="-829.95" y2="-165.443"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-834.95,-173.207 -829.95,-163.207 -824.95,-173.207 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-829.95" y1="-121.005" x2="-829.95" y2="-45.4673"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-834.95,-53.2312 -829.95,-43.2312 -824.95,-53.2312 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-360" y="-40">
<tspan x="-360" y="-40">read</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M 179.036 20 C 58.9917,20 103.403,-19.4767 -89.725,-20.4541"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-81.9359,-25.4147 -91.961,-20.4654 -81.9865,-15.4148 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="20" y="-40">
<tspan x="20" y="-40">read</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M 266.663 20 C 386.619,20 493.924,-128.759 731.745,19.68"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="722.511,19.8107 733.642,20.864 727.806,11.3275 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="440" y="-60">
<tspan x="440" y="-60">read</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M 476.328 59.8215 C 384.878,60.8215 239.988,121.004 240.03,45.4758"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="245.026,53.2425 240.031,43.2397 235.026,53.237 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="340" y="100">
<tspan x="340" y="100">create</tspan>
</text>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-500" y="-80" width="86.25" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-491.375" y1="-80" x2="-491.375" y2="-40"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-500" y1="-76" x2="-413.75" y2="-76"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-452.562" y="-54">
<tspan x="-452.562" y="-54">MCA_DB</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-640" y="-40" width="86.25" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-631.375" y1="-40" x2="-631.375" y2="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-640" y1="-36" x2="-553.75" y2="-36"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-592.562" y="-14">
<tspan x="-592.562" y="-14">MCA_DB</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-520" y="40" width="86.25" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-511.375" y1="40" x2="-511.375" y2="80"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-520" y1="44" x2="-433.75" y2="44"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-472.562" y="66">
<tspan x="-472.562" y="66">MCA_DB</tspan>
</text>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -418.928 -39.1739 C -359.304,20.8261 -230.028,643.432 435.668,472.866"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="429.388,479.637 437.834,472.311 426.906,469.95 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="0" y="440">
<tspan x="0" y="440">read</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M 740.759 198.997 C 564.359,99.9973 101.993,181 219.126,44.3951"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="217.868,53.5437 220.582,42.6976 210.277,47.0344 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="280" y="160">
<tspan x="280" y="160">update</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -420.264 -38.9933 C -180.64,221.007 -418.23,197.738 234.526,216.609"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="226.621,221.383 236.761,216.674 226.91,211.387 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="0" y="200">
<tspan x="0" y="200">read</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-760" y="60">
<tspan x="-760" y="60">distribute</tspan>
</text>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1279.12" y="240.438" width="182.222" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1260.9" y1="240.438" x2="-1260.9" y2="280.438"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1279.12" y1="244.438" x2="-1096.9" y2="244.438"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1178.9" y="266.438">
<tspan x="-1178.9" y="266.438">Mcast_Listener_DB_local</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1279.12" y="300.438" width="193.444" height="40" rx="0" ry="0"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1259.78" y1="300.438" x2="-1259.78" y2="340.438"/>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1279.12" y1="304.438" x2="-1085.68" y2="304.438"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1172.73" y="326.438">
<tspan x="-1172.73" y="326.438">Mcast_Listener_DB_bridge</tspan>
</text>
</g>
<g>
<path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M -1784.46 -380 L -1642.31,-380 C -1622.69,-380 -1606.78,-371.046 -1606.78,-360 C -1606.78,-348.954 -1622.69,-340 -1642.31,-340 L -1784.46,-340 C -1804.09,-340 -1820,-348.954 -1820,-360 C -1820,-371.046 -1804.09,-380 -1784.46,-380z"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1713.39" y="-356">
<tspan x="-1713.39" y="-356">mcast_group_change</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1799.12" y="300.438" width="185.15" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1706.55" y="323.338">
<tspan x="-1706.55" y="323.338">update_mcast_DB_bridge</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1450.29" y1="-30.7242" x2="-1449.2" y2="34.9679"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1454.33,27.2874 -1449.17,37.2036 -1444.33,27.1225 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1620.57" y1="-75.1434" x2="-1543.6" y2="-75.1434"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1551.36,-70.1434 -1541.36,-75.1434 -1551.36,-80.1434 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1709.46" y1="-168.674" x2="-1710.21" y2="-124.471"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1715.08,-132.319 -1710.25,-122.236 -1705.08,-132.149 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1599.12" y="-99.5626">
<tspan x="-1599.12" y="-99.5626">local</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1779.12" y="0.4375">
<tspan x="-1779.12" y="0.4375">bridge</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1095.9 260.438 C -1049.19,260.438 -1003.41,-139.583 -885.477,-140.546"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-893.2,-135.483 -883.241,-140.565 -893.282,-145.483 "/>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1084.68 320.438 C -1037.97,320.438 -1003.38,-139.583 -885.456,-140.547"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-893.179,-135.483 -883.22,-140.565 -893.261,-145.483 "/>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1442.42 79.4363 C -1429.35,120.437 -1233.31,139.441 -1168.26,235.736"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1176.75,232.101 -1167.01,237.588 -1168.46,226.503 "/>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1612.97 320.073 C -1465.54,321.073 -1289.42,421.437 -1177.68,343.985"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1181.22,352.517 -1175.85,342.711 -1186.91,344.299 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1299.12" y="140.437">
<tspan x="-1299.12" y="140.437">delete</tspan>
</text>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="-1710.29,-120 -1620.57,-75.1434 -1710.29,-30.2868 -1800,-75.1434 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1710.29" y="-71.2434">
<tspan x="-1710.29" y="-71.2434">local or bridge?</tspan>
</text>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1439.12" y="0.4375">
<tspan x="-1439.12" y="0.4375">leave</tspan>
</text>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="-1709.41,160.437 -1619.7,205.294 -1709.41,250.151 -1799.12,205.294 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1709.41" y="209.194">
<tspan x="-1709.41" y="209.194">join or leave?</tspan>
</text>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1339.12" y="-99.5626">
<tspan x="-1339.12" y="-99.5626">join</tspan>
</text>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1710.29" y1="-30.2868" x2="-1709.43" y2="155.965"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1714.47,148.224 -1709.42,158.201 -1704.47,148.179 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1619.7" y1="205.294" x2="-1564.59" y2="203.341"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1572.17,208.613 -1562.35,203.262 -1572.53,198.619 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1559.12" y="40.4374" width="220.65" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1448.8" y="63.3374">
<tspan x="-1448.8" y="63.3374">delete_mcast_DB_local_entry</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1361.45" y1="-75.1434" x2="-1284.59" y2="-77.3709"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1292.2,-72.1481 -1282.35,-77.4356 -1292.49,-82.1439 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1559.12" y="180.437" width="209.35" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1454.45" y="203.337">
<tspan x="-1454.45" y="203.337">add_mcast_DB_local_entry</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1279.12" y="-99.5626" width="209.35" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1174.45" y="-76.6626">
<tspan x="-1174.45" y="-76.6626">add_mcast_DB_local_entry</tspan>
</text>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="-1450.29,-119.563 -1361.45,-75.1435 -1450.29,-30.7244 -1539.12,-75.1435 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1450.29" y="-71.2435">
<tspan x="-1450.29" y="-71.2435">join or leave?</tspan>
</text>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1168.07 -60.5598 C -1154.99,-19.5596 -1092.25,79.4656 -1143.3,235.217"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1145.64,226.281 -1144,237.341 -1136.13,229.396 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1179.12" y="60.4374">
<tspan x="-1179.12" y="60.4374">add</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1619.12" y="180.437">
<tspan x="-1619.12" y="180.437">leave</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1448.09 219.371 C -1435.02,260.372 -1487.69,320.438 -1284.6,320.438"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1292.37,325.438 -1282.37,320.438 -1292.37,315.438 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1439.12" y="380.438">
<tspan x="-1439.12" y="380.438">add</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1399.12" y="300.438">
<tspan x="-1399.12" y="300.438">delete</tspan>
</text>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1709.41" y1="250.15" x2="-1707.56" y2="294.966"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1712.88,287.416 -1707.47,297.201 -1702.88,287.003 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1759.12" y="280.438">
<tspan x="-1759.12" y="280.438">join</tspan>
</text>
<g>
<path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M -2280.72 -380 L -2203.62,-380 C -2192.98,-380 -2184.35,-371.046 -2184.35,-360 C -2184.35,-348.954 -2192.98,-340 -2203.62,-340 L -2280.72,-340 C -2291.37,-340 -2300,-348.954 -2300,-360 C -2300,-371.046 -2291.37,-380 -2280.72,-380z"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2242.18" y="-356">
<tspan x="-2242.18" y="-356">hardif_recv</tspan>
</text>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2440" y="-360">
<tspan x="-2440" y="-360">packet</tspan>
</text>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" x1="-2380" y1="-360" x2="-2304.47" y2="-360"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2312.24,-355 -2302.24,-360 -2312.24,-365 "/>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="-2237.14,-280 -2134.27,-228.568 -2237.14,-177.137 -2340,-228.568 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2237.14" y="-224.668">
<tspan x="-2237.14" y="-224.668">is_optimized_mcast</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-2134.28" y1="-228.568" x2="-2065.46" y2="-223.044"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2073.6,-218.681 -2063.23,-222.865 -2072.8,-228.649 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-2240.85" y1="-339.023" x2="-2237.42" y2="-284.463"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2242.9,-291.898 -2237.28,-282.232 -2232.92,-292.526 "/>
</g>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="-2244.84,-120 -2149.67,-72.4184 -2244.84,-24.8368 -2340,-72.4184 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2244.84" y="-68.5184">
<tspan x="-2244.84" y="-68.5184">is_mcast_listener</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-2237.14" y1="-177.137" x2="-2244.24" y2="-124.432"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2248.16,-132.794 -2244.54,-122.216 -2238.25,-131.459 "/>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-2149.68" y1="-72.4184" x2="-2085.59" y2="-76.8271"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2092.99,-71.3061 -2083.36,-76.9805 -2093.68,-81.2825 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-2080.12" y="-100" width="110.4" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2024.93" y="-77.1">
<tspan x="-2024.93" y="-77.1">copy_to_softif</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-2244.84" y1="-24.8368" x2="-2244.77" y2="94.5466"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2249.77,86.7858 -2244.76,96.7827 -2239.77,86.7796 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-2320" y="100" width="150.5" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2244.75" y="122.9">
<tspan x="-2244.75" y="122.9">route_mcast_packet</tspan>
</text>
</g>
<g>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2024.92,-61.0043 -2024.92,100 -2165.03,100 "/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2157.26,95 -2167.26,100 -2157.26,105 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-2060" y="-240" width="40" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2040" y="-217.1">
<tspan x="-2040" y="-217.1">...</tspan>
</text>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2120" y="-240">
<tspan x="-2120" y="-240">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2240" y="40">
<tspan x="-2240" y="40">no</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2280" y="-140">
<tspan x="-2280" y="-140">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-2140" y="-40">
<tspan x="-2140" y="-40">yes</tspan>
</text>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1148.35 341.402 C -1183.76,501.402 -1740,480 -1860,400 C -1980,320 -1768.43,-282.772 -2189.17,-96.9967"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2184.09,-104.707 -2191.22,-96.0935 -2180.05,-95.5587 "/>
</g>
<g>
<path style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 20; stroke: #000000" d="M -1194.89 239.435 C -1443.32,118.997 -1557.79,135.476 -1740,80 C -1922.21,24.524 -1918.52,-287.315 -2199.63,-102.193"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-2195.89,-110.639 -2201.5,-100.963 -2190.39,-102.287 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1920" y="-100">
<tspan x="-1920" y="-100">read</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1639.12" y="440.438">
<tspan x="-1639.12" y="440.438">read</tspan>
</text>
<g>
<polygon style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" points="-1709.46,-305.874 -1544.82,-237.273 -1709.46,-168.673 -1874.1,-237.273 "/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1709.46" y="-241.373">
<tspan x="-1709.46" y="-241.373">is_IPv6_mcast_transient</tspan>
<tspan x="-1709.46" y="-225.373">|| is_IPv4_mcast_non_link_local</tspan>
</text>
</g>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1712.72" y1="-339.011" x2="-1711.8" y2="-310.432"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1717.05,-318.032 -1711.73,-308.197 -1707.05,-318.352 "/>
</g>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1760" y="-140">
<tspan x="-1760" y="-140">yes</tspan>
</text>
<text font-size="16.9785" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1540" y="-260">
<tspan x="-1540" y="-260">no</tspan>
</text>
<g>
<line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="-1544.82" y1="-237.274" x2="-1485.43" y2="-239.749"/>
<polyline style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" points="-1492.98,-234.43 -1483.19,-239.843 -1493.39,-244.422 "/>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="-1480" y="-260" width="49.15" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="-1455.42" y="-237.1">
<tspan x="-1455.42" y="-237.1">void</tspan>
</text>
</g>
<g>
<rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="520" y="560" width="51.1" height="38" rx="0" ry="0"/>
<text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="545.55" y="582.9">
<tspan x="545.55" y="582.9">drop</tspan>
</text>
</g>
</g>
</svg>
(2-2/3)