Commit 7101fdc6 authored by garciay's avatar garciay
Browse files

Implement TC_6RD_B4_BF_BV_001

parent 2619644a
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -54,14 +54,19 @@ module Ats6RD_Functions {
         * @verdict Unchanged
         */
        function f_cf01Up() runs on SixRDComponent {
            var integer v_hosts;
            var integer v_host;
            
            // Connect port
            if (vc_brComponent != null) { 
                connect(vc_brComponent:brPort, self:brPort);
            }
            if (vc_hostComponent != null) { 
                connect(vc_hostComponent:ipv6Port, self:ipv6HostPort); 
                connect(vc_hostComponent:ipv4Port, self:ipv4HostPort); 
            if (vc_hostComponents != null) {
                v_hosts := lengthof(vc_hostComponents);
                for (v_host:=0; v_host<v_hosts; v_host:=v_host + 1) {
                    connect(vc_hostComponents[v_host]:ipv6Port, self:ipv6HostPort); 
                    connect(vc_hostComponents[v_host]:ipv4Port, self:ipv4HostPort); 
                }
            } 
            if (vc_dhcpv4Component != null) { 
                connect(vc_dhcpv4Component:dhcpv4Port, self:dhcpv4Port);
+3 −1
Original line number Diff line number Diff line
@@ -47,11 +47,13 @@ module Ats6RD_Interfaces {
            /** BR component reference */
            var BRComponent vc_brComponent := null;
            /** Host component reference */
            var HostComponent vc_hostComponent := null;
            var HostComponents vc_hostComponents := null;
            /** DHCPv4 component reference */
            var DHCPv4Component vc_dhcpv4Component := null;
        } // End of component SixRDComponent
        
        type record of HostComponent HostComponents;
        
    } // End of group mtcDesc
    
    group componentDesc {
+9 −1
Original line number Diff line number Diff line
@@ -5,6 +5,14 @@
 */
module Ats6RD_Pics {
    
    // LibCommon
    /**
     * @desc The host acts as a B4 device itself
     */
    modulepar boolean PICS_HOST_IS_B4 := false;
    
    /**
     * @desc The host acts as a customer device
     */
    modulepar boolean PICS_HOST_IS_B4_DEVICES := false;
    
} // End of module Ats6RD_Pics
 No newline at end of file
+36 −0
Original line number Diff line number Diff line
@@ -6,6 +6,42 @@
module Ats6RD_Pixits {
    
    // LibCommon
    import from LibCommon_DataStrings {
        const c_4ZeroBytes, c_16ZeroBytes
    };
    
    // LibIPv6
    import from LibIpv6_CommonRfcs_TypesAndValues {
        type Ipv4Address, Ipv6Address 
    };
    
    // Ats6RD
    import from Ats6RD_TypesAndValues all;
    
    /**
     * @desc Indicates the IPv6 address of the B4 equipment
     */
    modulepar Ipv6Address PX_B4_ADDRESS := c_16ZeroBytes;
    
    /**
     * @desc Indicates the IPv6 address of the RR equipment
     */
    modulepar Ipv4Address PX_BR_GW_ADDRESS := c_4ZeroBytes;
    
    /**
     * @desc Defines a list of IPv6 host services
     */
    modulepar HostV6Descriptions PX_HOST_V6_LIST_B4 := {
        {
            srcAddress  := c_16ZeroBytes, // Containing source address indicating a private IPv4 address
            srcPort     := 3372,
            dstAddress  := c_16ZeroBytes, // Containing destination address indicating a public IPv4 address from multiple hosts
            dstPort     := 80,
            payload     := {
                rawPayload := 'CAFEDECA'O // TODO To be enhanced
            }
        } // Host #0
        // TODO Could be extended 
    } // End of modulepar PX_HOST_V6_LIST_B4
    
} // End of module Ats6RD_Pixits
 No newline at end of file
+27 −0
Original line number Diff line number Diff line
@@ -5,6 +5,33 @@
 */
module Ats6RD_Templates {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    
    // LibIPv6
    import from LibIpv6_Interface_TypesAndValues all;
    import from LibIpv6_CommonRfcs_TypesAndValues all;
    import from LibIpv6_Interface_Templates all;
    
    // AtsCommon
    import from AtsCommon_Tcp_Rfc793_TypesAndValues all;
    
            /**
             *  @param  p_src Binary IPv4 address associated with the
             *          test component.
             *  @param  p_dst Binary IPv6 address associated with NUT.
             *  @param  p_ipv6Packet Tunneled IPv6 packet
            */
            template (present) Ipv4Packet mw_ipv4Packet_tcp(
                UInt8 p_protocol,
                template (present) Ipv4Address p_src,
                template (present) Ipv4Address p_dst
            ) := {
                ipv4Hdr := mw_ipv4Hdr_protocol_srcDst(p_protocol, p_src, p_dst),
                ipv4Payload := {
                    rawPacket := ?
                }
            }
            
    
} // End of module Ats6RD_Templates
 No newline at end of file
Loading