<?xml version="1.0" encoding="UTF-8"?>

<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://www.omg.org/spec/DDS-XML"
     xsi:schemaLocation="http://www.omg.org/spec/DDS-XML https://www.omg.org/spec/DDS-XML/20260301/dds-xml_system_definitions.xsd">
    
    <node_library name="MyNodeLibrary">
        <node name="Host_1">
            <hostname>Host1</hostname>
            <ipv4_address>192.168.1.1</ipv4_address>
            <mac_address>AA:AA:AA:AA:AA:AA</mac_address>
        </node>
        <node name="Host_2">
            <hostname>Host2</hostname>
            <ipv4_address>192.168.1.2</ipv4_address>
            <mac_address>BB:BB:BB:BB:BB:BB</mac_address>
        </node>
        <node name="Host_3">
            <hostname>Host3</hostname>
            <ipv4_address>192.168.1.3</ipv4_address>
            <mac_address>CC:CC:CC:CC:CC:CC</mac_address>
        </node>
        <node name="Host_4">
            <hostname>Host3</hostname>
            <ipv4_address>192.168.1.4</ipv4_address>
            <mac_address>DD:DD:DD:DD:DD:DD</mac_address>
        </node>
        <node name="Host_5">
            <hostname>Host3</hostname>
            <ipv4_address>192.168.1.5</ipv4_address>
            <mac_address>EE:EE:EE:EE:EE:EE</mac_address>
        </node>
    </node_library>

    <deployment_library name="MyDeploymentLibraryUdp">
        <deployment_scenario name="MyDeployment1">
            <deployment name="Deployment_Host_1">
                <node node_ref="MyNodeLibrary::Host_1" />
                <applications>
                    <application name="MyApp" application_ref="MyApplicationLibrary::Application_1" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_talker name="SquareWriterTalker_1"
                                    stream_name="SquareStream"
                                    datawriter_ref="MyApp::DomainParticipant_1::Publisher_1::SquareWriter_1">
                            <data_frame_specification>
                                <ipv4_tuple>
                                    <source_ip_address>0.0.0.0</source_ip_address>
                                    <destination_ip_address>239.255.255.1</destination_ip_address>
                                    <dscp>0</dscp>
                                    <protocol>17</protocol>
                                    <source_port>0</source_port>
                                    <destination_port>7421</destination_port>
                                </ipv4_tuple>
                            </data_frame_specification>
                            <traffic_specification>
                                <periodicity>
                                    <sec>0</sec>
                                    <nanosec>2000000</nanosec>
                                </periodicity>
                                <samples_per_period>1</samples_per_period>
                                <max_bytes_per_sample>1000</max_bytes_per_sample>
                                <transmission_selection>0</transmission_selection>
                                <time_aware>
                                    <earliest_transmit_offset>0</earliest_transmit_offset>
                                    <latest_transmit_offset>2000000</latest_transmit_offset>
                                    <jitter>5000</jitter>
                                </time_aware>
                            </traffic_specification>
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_talker>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="DeploymentHost_2">
                <node node_ref="MyNodeLibrary::Host_2" />
                <applications>
                    <application name="MyApp" application_ref="MyApplicationLibrary::Application_2" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_talker name="TriangleWriterTalker_2"
                                    stream_name="TriangleStream"
                                    datawriter_ref="MyApp::DomainParticipant_2::Publisher_2::TriangleWriter_2">
                            <data_frame_specification>
                                <ipv4_tuple>
                                    <source_ip_address>0.0.0.0</source_ip_address>
                                    <destination_ip_address>239.255.255.2</destination_ip_address>
                                    <dscp>0</dscp>
                                    <protocol>17</protocol>
                                    <source_port>0</source_port>
                                    <destination_port>7422</destination_port>
                                </ipv4_tuple>
                            </data_frame_specification>
                            <traffic_specification>
                                <periodicity>
                                    <sec>0</sec>
                                    <nanosec>2000000</nanosec>
                                </periodicity>
                                <samples_per_period>1</samples_per_period>
                                <max_bytes_per_sample>1000</max_bytes_per_sample>
                                <transmission_selection>0</transmission_selection>
                                <time_aware>
                                    <earliest_transmit_offset>0</earliest_transmit_offset>
                                    <latest_transmit_offset>2000000</latest_transmit_offset>
                                    <jitter>5000</jitter>
                                </time_aware>
                            </traffic_specification>
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_talker>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="Deployment_Host_3">
                <node node_ref="MyNodeLibrary::Host_3" />
                <applications>
                    <application name="MyApp" application_ref="MyApplicationLibrary::Application_3" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_listener name="SquareReaderListener_3"
                                    stream_name="SquareStream"
                                    datareader_ref="MyApp::DomainParticipant_3::Subscriber_3::SquareReader_3">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="Deployment_Host_4">
                <node node_ref="MyNodeLibrary::Host_4" />
                <applications>
                    <application name="MyApp" application_ref="MyApplicationLibrary::Application_4" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_listener name="TriangleReaderListener_4"
                                    stream_name="TriangleStream"
                                    datareader_ref="MyApp::DomainParticipant_4::Subscriber_4::TriangleReader_4">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="Deployment_Host_5">
                <node node_ref="MyNodeLibrary::Host_5" />
                <applications>
                    <application name="MyApp" application_ref="MyApplicationLibrary::Application_5" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_listener name="SquareReaderListener_5"
                                    stream_name="SquareStream"
                                    datareader_ref="MyApp::DomainParticipant_5::Subscriber_5::SquareReader_5">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                        <tsn_listener name="TriangleReaderListener_5"
                                    stream_name="TriangleStream"
                                    datareader_ref="MyApp::DomainParticipant_5::Subscriber_5::TriangleReader_5">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                    </tsn>
                </configuration>
            </deployment>
        </deployment_scenario>

    </deployment_library>

    <deployment_library name="MyDeploymentLibraryEthernet">
        <deployment_scenario name="MyDeployment2">

            <deployment name="Deployment_Host_1">
                <node node_ref="MyNodeLibrary::Host_1" />
                <applications>
                    <application name="App_1" application_ref="MyApplicationLibrary::Application_1" />
                    <application name="App_2" application_ref="MyApplicationLibrary::Application_1" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_talker name="SquareWriterTalker_1"
                                    stream_name="SquareStream"
                                    datawriter_ref="App_1::DomainParticipant_1::Publisher_1::SquareWriter_1">
                            <data_frame_specification>
                                <mac_addresses>
                                    <destination_mac_address>FF:FF:FF:FF:FF:FF</destination_mac_address>
                                    <source_mac_address>AA:AA:AA:AA:AA:AA</source_mac_address>
                                </mac_addresses>
                                <vlan_tag>
                                    <priority_code_point>3</priority_code_point>
                                    <vlan_id>2500</vlan_id>
                                </vlan_tag>
                            </data_frame_specification>
                            <traffic_specification>
                                <periodicity>
                                    <sec>0</sec>
                                    <nanosec>2000000</nanosec>
                                </periodicity>
                                <samples_per_period>1</samples_per_period>
                                <max_bytes_per_sample>1000</max_bytes_per_sample>
                                <transmission_selection>0</transmission_selection>
                                <time_aware>
                                    <earliest_transmit_offset>0</earliest_transmit_offset>
                                    <latest_transmit_offset>2000000</latest_transmit_offset>
                                    <jitter>5000</jitter>
                                </time_aware>
                            </traffic_specification>
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_talker>
                        <tsn_talker name="SquareWriterTalker_2"
                                    stream_name="SquareStream"
                                    datawriter_ref="App_2::DomainParticipant_1::Publisher_1::SquareWriter_1">
                            <data_frame_specification>
                                <mac_addresses>
                                    <destination_mac_address>FF:FF:FF:FF:FF:FF</destination_mac_address>
                                    <source_mac_address>AA:AA:AA:AA:AA:AA</source_mac_address>
                                </mac_addresses>
                                <vlan_tag>
                                    <priority_code_point>3</priority_code_point>
                                    <vlan_id>2500</vlan_id>
                                </vlan_tag>
                            </data_frame_specification>
                            <traffic_specification>
                                <periodicity>
                                    <sec>0</sec>
                                    <nanosec>2000000</nanosec>
                                </periodicity>
                                <samples_per_period>1</samples_per_period>
                                <max_bytes_per_sample>1000</max_bytes_per_sample>
                                <transmission_selection>0</transmission_selection>
                                <time_aware>
                                    <earliest_transmit_offset>0</earliest_transmit_offset>
                                    <latest_transmit_offset>2000000</latest_transmit_offset>
                                    <jitter>5000</jitter>
                                </time_aware>
                            </traffic_specification>
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_talker>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="DeploymentHost_2">
                <node node_ref="MyNodeLibrary::Host_2" />
                <applications>
                    <application name="App_2" application_ref="MyApplicationLibrary::Application_2" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_talker name="TriangleWriterTalker_2"
                                    stream_name="TriangleStream"
                                    datawriter_ref="MyApplicationLibrary::Application_2::DomainParticipant_2::Publisher_2::TriangleWriter_2">
                            <data_frame_specification>
                                <mac_addresses>
                                    <destination_mac_address>FF:FF:FF:FF:FF:FF</destination_mac_address>
                                    <source_mac_address>BB:BB:BB:BB:BB:BB</source_mac_address>
                                </mac_addresses>
                                <vlan_tag>
                                    <priority_code_point>3</priority_code_point>
                                    <vlan_id>2500</vlan_id>
                                </vlan_tag>
                            </data_frame_specification>
                            <traffic_specification>
                                <periodicity>
                                    <sec>0</sec>
                                    <nanosec>2000000</nanosec>
                                </periodicity>
                                <samples_per_period>1</samples_per_period>
                                <max_bytes_per_sample>1000</max_bytes_per_sample>
                                <transmission_selection>0</transmission_selection>
                                <time_aware>
                                    <earliest_transmit_offset>0</earliest_transmit_offset>
                                    <latest_transmit_offset>2000000</latest_transmit_offset>
                                    <jitter>5000</jitter>
                                </time_aware>
                            </traffic_specification>
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_talker>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="Deployment_Host_3">
                <node node_ref="MyNodeLibrary::Host_3" />
                <applications>
                    <application name="App_3" application_ref="MyApplicationLibrary::Application_3" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_listener name="SquareReaderListener_3"
                                        stream_name="SquareStream"
                                        datareader_ref="MyApplicationLibrary::Application_3::DomainParticipant_3::Subscriber_3::SquareReader_3">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="Deployment_Host_4">
                <node node_ref="MyNodeLibrary::Host_4" />
                <applications>
                    <application name="App_4" application_ref="MyApplicationLibrary::Application_4" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_listener name="TriangleReaderListener_4"
                                        stream_name="TriangleStream"
                                        datareader_ref="MyApplicationLibrary::Application_4::DomainParticipant_4::Subscriber_4::TriangleReader_4">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                    </tsn>
                </configuration>
            </deployment>
            <deployment name="Deployment_Host_5">
                <node node_ref="MyNodeLibrary::Host_5" />
                <applications>
                    <application name="App_5" application_ref="MyApplicationLibrary::Application_5" />
                </applications>
                <configuration>
                    <tsn>
                        <tsn_listener name="SquareReaderListener_5"
                                        stream_name="SquareStream"
                                        datareader_ref="MyApplicationLibrary::Application_5::DomainParticipant_5::Subscriber_5::SquareReader_5">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                        <tsn_listener name="TriangleReaderListener_5"
                                        stream_name="TriangleStream"
                                        datareader_ref="MyApplicationLibrary::Application_5::DomainParticipant_5::Subscriber_5::TriangleReader_5">
                            <network_requirements>
                                <num_seamless_trees>1</num_seamless_trees>
                                <max_latency>2000000</max_latency>
                            </network_requirements>
                        </tsn_listener>
                    </tsn>
                </configuration>
            </deployment>
        </deployment_scenario>
    </deployment_library>

</dds>
