コード例 #1
0
    int aecp_controller_state_machine::ether_frame_init(uint64_t end_station_mac, struct jdksavdecc_frame *cmd_frame, uint16_t len)
    {
        /*** Offset to write the field to ***/
        size_t ether_frame_pos = 0;
        jdksavdecc_frame_init(cmd_frame);

        /**************************************** Ethernet Frame *************************************/
        cmd_frame->ethertype = JDKSAVDECC_AVTP_ETHERTYPE;
        utility::convert_uint64_to_eui48(net_interface_ref->mac_addr(), cmd_frame->src_address.value);
        utility::convert_uint64_to_eui48(end_station_mac, cmd_frame->dest_address.value);
		cmd_frame->length = len;

        /****************** Fill frame payload with Ethernet frame information ****************/
        jdksavdecc_frame_write(cmd_frame, cmd_frame->payload, ether_frame_pos, ETHER_HDR_SIZE);

        return 0;
    }
コード例 #2
0
ファイル: aecp.cpp プロジェクト: AVnu/avdecc-lib
    int aecp::ether_frame_init(end_station *end_station, struct jdksavdecc_frame *ether_frame)
    {
        /*** Offset to write the field to ***/
        size_t ether_frame_pos = 0x0;
        jdksavdecc_frame_init(ether_frame);

        /************************************************ Ethernet Frame *************************************/
        ether_frame->ethertype = JDKSAVDECC_AVTP_ETHERTYPE;
        utility::convert_uint64_to_eui48(net_interface_ref->get_mac(), ether_frame->src_address.value);
        utility::convert_uint64_to_eui48(end_station->get_mac(), ether_frame->dest_address.value);
        ether_frame->length = AECP_FRAME_LEN; // Length of AECP packet is 64 bytes

        /*********************** Fill frame payload with Ethernet frame information ********************/
        jdksavdecc_frame_write(ether_frame, ether_frame->payload, ether_frame_pos, ETHER_HDR_SIZE);

        return 0;
    }
コード例 #3
0
    int acmp_controller_state_machine::ether_frame_init(struct jdksavdecc_frame *cmd_frame)
    {
        /*** Offset to write the field to ***/
        size_t ether_frame_pos = 0;
        jdksavdecc_frame_init(cmd_frame);

        /************************************************************ Ethernet Frame ********************************************************/
        cmd_frame->ethertype = JDKSAVDECC_AVTP_ETHERTYPE;
        utility->convert_uint64_to_eui48(net_interface_ref->mac_addr(), cmd_frame->src_address.value); // Send from the Controller MAC address
        cmd_frame->dest_address = jdksavdecc_multicast_adp_acmp; // Send to the ACMP multicast destination MAC address
        cmd_frame->length = ACMP_FRAME_LEN; // Length of ACMP packet is 70 bytes

        /****************** Fill frame payload with Ethernet frame information ****************/
        jdksavdecc_frame_write(cmd_frame, cmd_frame->payload, ether_frame_pos, ETHER_HDR_SIZE);

        return 0;
    }
コード例 #4
0
void acmp_frame_init_2( struct jdksavdecc_frame *frame )
{
        jdksavdecc_frame_init( frame );
        memcpy( frame->src_address.value, net.m_my_mac, 6 );
}
コード例 #5
0
void acmp_frame_init( void )
{
        jdksavdecc_frame_init( &acmp_frame );
        memcpy( acmp_frame.src_address.value, net.m_my_mac, 6 );
}