25Gbps transmission rate

146 views
Skip to first unread message

Charis Ch

unread,
Dec 5, 2016, 10:28:19 AM12/5/16
to OMNeT++ Users
Hi! I try to implement a channel with 25Gbps and I subclassed from EtherLink:

channel Eth25G extends EtherLink
{
    datarate = 25Gbps;
}

But I get this error, because I think that this new channel is not compatible with EtherMACFullDuplex:
Error in module (inet::EtherMACFullDuplex)... during network initialization: Invalid transmission rate 2.5e+10 bps.

Any ideas?

Alfonso Ariza Quintana

unread,
Dec 5, 2016, 1:03:25 PM12/5/16
to omn...@googlegroups.com

You need to modify a bit the source code.

In the file

Ethernet.h

 

Before at

#define FOURTY_GIGABIT_ETHERNET_TXRATE       40000000000.0   /* 40 Gbit/sec (in bit/s) */

 

Include something like

#define TWENTY_FIVE_GIGABIT_ETHERNET_TXRATE  25000000000.0   /* 25 Gbit/sec (in bit/s) */

 

In the file EtherMACBase.h

change

    enum {

        NUM_OF_ETHERDESCRS = 6

    };

to

    enum {

        NUM_OF_ETHERDESCRS = 7

    };

And in the file EtherMACBase.cc

Include in etherDescrs your new descriptor

const EtherMACBase::EtherDescr EtherMACBase::etherDescrs[NUM_OF_ETHERDESCRS] = {

    {

        ETHERNET_TXRATE,

        0.5 / ETHERNET_TXRATE,

        MIN_ETHERNET_FRAME_BYTES,

        0,

        0,

        MIN_ETHERNET_FRAME_BYTES,

        MIN_ETHERNET_FRAME_BYTES,

        512 / ETHERNET_TXRATE,

        2500    /*m*/ / SPEED_OF_LIGHT_IN_CABLE

    },

    {

        FAST_ETHERNET_TXRATE,

        0.5 / FAST_ETHERNET_TXRATE,

        MIN_ETHERNET_FRAME_BYTES,

        0,

        0,

        MIN_ETHERNET_FRAME_BYTES,

        MIN_ETHERNET_FRAME_BYTES,

        512 / FAST_ETHERNET_TXRATE,

        250    /*m*/ / SPEED_OF_LIGHT_IN_CABLE

    },

    {

        GIGABIT_ETHERNET_TXRATE,

        0.5 / GIGABIT_ETHERNET_TXRATE,

        MIN_ETHERNET_FRAME_BYTES,

        MAX_PACKETBURST,

        GIGABIT_MAX_BURST_BYTES,

        GIGABIT_MIN_FRAME_BYTES_WITH_EXT,

        MIN_ETHERNET_FRAME_BYTES,

        4096 / GIGABIT_ETHERNET_TXRATE,

        250    /*m*/ / SPEED_OF_LIGHT_IN_CABLE

    },

    {

        FAST_GIGABIT_ETHERNET_TXRATE,

        0.5 / FAST_GIGABIT_ETHERNET_TXRATE,

        MIN_ETHERNET_FRAME_BYTES,

        0,

        0,

        -1,    // half-duplex is not supported

        0,

        0.0,

        0.0

    },

    {

        TWENTY_FIVE_GIGABIT_ETHERNET_TXRATE,

        0.5 / TWENTY_FIVE_GIGABIT_ETHERNET_TXRATE, 

        MIN_ETHERNET_FRAME_BYTES,

        0,

        0,

        -1,    // half-duplex is not supported

        0,

        0.0,

        0.0

    },

 

    {

        FOURTY_GIGABIT_ETHERNET_TXRATE,

        0.5 / FOURTY_GIGABIT_ETHERNET_TXRATE,

        MIN_ETHERNET_FRAME_BYTES,

        0,

        0,

        -1,    // half-duplex is not supported

        0,

        0.0,

        0.0

    },

    {

        HUNDRED_GIGABIT_ETHERNET_TXRATE,

        0.5 / HUNDRED_GIGABIT_ETHERNET_TXRATE,

        MIN_ETHERNET_FRAME_BYTES,

        0,

        0,

        -1,    // half-duplex is not supported

        0,

        0.0,

        0.0

--
You received this message because you are subscribed to the Google Groups "OMNeT++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+u...@googlegroups.com.
Visit this group at https://groups.google.com/group/omnetpp.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages