Exemple #1
0
static int serialize_cc_pci(const struct serdes * instance,
                            char *                data,
                            const struct pci *    pci,
                            int                   offset)
{
        seq_num_t        seq;
        struct dt_cons * dt_cons;

        ASSERT(instance);
        ASSERT(data);
        ASSERT(pci);
        ASSERT(offset);

        dt_cons = instance->dt_cons;
        ASSERT(dt_cons);

        seq = pci_control_last_seq_num_rcvd(pci);
        memcpy(data + offset, &seq, CTRL_SEQ_NR);

        seq = pci_control_new_left_wind_edge(pci);
        memcpy(data + offset, &seq, dt_cons->seq_num_length);
        offset += dt_cons->seq_num_length;

        seq = pci_control_new_rt_wind_edge(pci);
        memcpy(data + offset, &seq, dt_cons->seq_num_length);
        offset += dt_cons->seq_num_length;

        seq = pci_control_my_left_wind_edge(pci);
        memcpy(data + offset, &seq, dt_cons->seq_num_length);
        offset += dt_cons->seq_num_length;

        seq = pci_control_my_rt_wind_edge(pci);
        memcpy(data + offset, &seq, dt_cons->seq_num_length);
        offset += dt_cons->seq_num_length;

        /* Add MyRcvRate here in the future */

        return 0;
}
Exemple #2
0
void dump_we(struct dtcp * dtcp, struct pci *  pci)
{
        struct dtp * dtp;
        seq_num_t    snd_rt_we;
        seq_num_t    snd_lf_we;
        seq_num_t    rcv_rt_we;
        seq_num_t    rcv_lf_we;
        seq_num_t    new_rt_we;
        seq_num_t    new_lf_we;
        seq_num_t    pci_seqn;
        seq_num_t    my_rt_we;
        seq_num_t    my_lf_we;
        seq_num_t    ack;

        ASSERT(dtcp);
        ASSERT(pci);

        dtp = dt_dtp(dtcp->parent);
        ASSERT(dtp);

        snd_rt_we = snd_rt_wind_edge(dtcp);
        snd_lf_we = dtcp_snd_lf_win(dtcp);
        rcv_rt_we = rcvr_rt_wind_edge(dtcp);
        rcv_lf_we = dt_sv_rcv_lft_win(dtcp->parent);
        new_rt_we = pci_control_new_rt_wind_edge(pci);
        new_lf_we = pci_control_new_left_wind_edge(pci);
        my_lf_we  = pci_control_my_left_wind_edge(pci);
        my_rt_we  = pci_control_my_rt_wind_edge(pci);
        pci_seqn  = pci_sequence_number_get(pci);
        ack       = pci_control_ack_seq_num(pci);

        LOG_DBG("SEQN: %u N/Ack: %u SndRWE: %u SndLWE: %u "
                "RcvRWE: %u RcvLWE: %u "
                "newRWE: %u newLWE: %u "
                "myRWE: %u myLWE: %u",
                pci_seqn, ack, snd_rt_we, snd_lf_we, rcv_rt_we, rcv_lf_we,
                new_rt_we, new_lf_we, my_rt_we, my_lf_we);
}