Error queueOut with sixlowpan/802.15.4

28 views
Skip to first unread message

Julen_UPV/EHU

unread,
Jul 19, 2016, 1:27:01 PM7/19/16
to OMNeT++ Users
Hi all!

First of all sorry for my english. 
Im making a work in omnet++ for university in which im using sixlowpan and 802.15.4. Im trying to do the next scenario:

network NetDoubleStack

{

    @display("bgb=676,413");

    types:

        channel ethline extends DatarateChannel

        {

            delay = 50ns;

            datarate = 100Mbps;

        }

    submodules:

        channelControl: ChannelControl {

            parameters:

                @display("p=60,50;i=misc/sun");

        }

        configurator: FlatNetworkConfigurator6 {

            parameters:

                @display("p=60,120");

        }

        LMN: HostIPv6over802154 {

            parameters:

                @display("p=185,140;i=device/pc3");

        }

        R1: Router6_802154v4 {

            parameters:

                @display("p=211,211");

        }

        CN1: StandardHost6v2 {

            @display("p=416,198");

        }

    connections:

        CN1.ethg++ <--> ethline <--> R1.ethg++;

}


LMN is the basic node  "HostIPv6over802154" and CN1 is  "StandardHost6" without 6lowpan in the network layer. I think that the problem become with R1 router. It is the next one:

module NodeBase6_802154v4

{

    parameters:

        @display("bgb=623,479");

        @node;

        @labels(node,ethernet-node,wireless-node);

        int numRadios = default(0);               // the number of radios in the router. by default no wireless

        int numPcapRecorders = default(0); // no of PcapRecorders.

        string mobilityType = default("StationaryMobility");

        xml routingTable = default(xml("<routingTable/>"));

        bool IPForward = default(true);

    gates:

        input radioIn6low @directIn;

        inout ethg[] @labels(EtherFrame-conn);

    submodules:

        notificationBoard: NotificationBoard {

            parameters:

                @display("p=53,155;is=s");

        }


        // optional mobility module. Required only if wireless cards are present

        mobility: <mobilityType> like IMobility if mobilityType != "" && numRadios > 0 {

            parameters:

                @display("p=53,111");

        }


        // network layer

        networkLayer: NetworkLayer6v5 {

            parameters:

                @display("p=329,287;q=queue");

                gates:

                ifIn[sizeof(ethg)+1];

                ifOut[sizeof(ethg)+1];                

        }


        routingTable6: RoutingTable6 {

            parameters:

                @display("p=53,225;is=s");

                isRouter = IPForward;

                routingTable = routingTable;

        }


        // linklayer

        interfaceTable: InterfaceTable {

            parameters:

                @display("p=53,287;is=s");

        }


        pcapRecorder[numPcapRecorders]: PcapRecorder {

            @display("p=53,338,r,10");

        }


        eth[sizeof(ethg)]: <default("EthernetInterface")> like IWiredNic {

            parameters:

                @display("p=282,406,row,90;q=txQueue");

        }

        lrwpan: Ieee802154csmaNic {

            parameters:

                @display("p=494,406;q=queue;i=block/ifcard");

        }

        sixlowpan: _6lowpan {

            @display("p=464,307;is=s");

            gates:

                fromIPv6[1];

                toIPv6[1];

                fromMac[1];

                toMac[1];


        }

    connections allowunconnected:

        for i=0..sizeof(ethg)-1 {

            ethg[i] <--> eth[i].phys;

            eth[i].upperLayerOut --> networkLayer.ifIn[i];

            eth[i].upperLayerIn <-- networkLayer.ifOut[i];

        }

        //802.15.4 connection

        radioIn6low --> lrwpan.radioIn6low;

        lrwpan.upperLayerOut --> sixlowpan.fromMac[0];

        lrwpan.upperLayerIn <-- sixlowpan.toMac[0];

        sixlowpan.toIPv6[0] --> networkLayer.ifIn++;

        sixlowpan.fromIPv6[0] <-- networkLayer.ifOut++;

}

And finally i use the NetworkLayer6but I 've remove from this 6LoWPAN, because i have it outside.
 
I configure ini file with mack address for any interface, and when i run the next error appear on "R1.networklayer.ipv6":

No gate index specified when accessing vector gate `queueOut'.

I read a lot about this in this forum but i can fix it. I try to put manually ifIn and ifOut number of interface instead of "++" but nothing was fixed. I change sixlowpan array size to one, and tested thousands of combinations of this, i don't know where is the problem. I debbuged it and problems comes when i need to send a NSPacket, in the send function of this, when the nextgateindex is "-1".

Im new with omnet++ and i don't understand very well what is happened with this error, all of little help that anyone can give me can suppose a lot for me.

Thanks in advance and sorry again for my english.

Julen

Florian Kauer

unread,
Jul 20, 2016, 2:59:12 AM7/20/16
to omn...@googlegroups.com
Hi Julen,
what is the code that you use? As far as I remember, 6LoWPAN is not
included in INET.

Greetings,
Florian

On 19.07.2016 19:27, Julen_UPV/EHU wrote:
> Hi all!
>
> First of all sorry for my english.
> Im making a work in omnet++ for university in which im using sixlowpan
> and 802.15.4. Im trying to do the next scenario:
>
> *network* NetDoubleStack
>
> {
>
> *@display*("bgb=676,413");
>
> *types*:
>
> *channel* ethline *extends* DatarateChannel
>
> {
>
> delay = 50ns;
>
> datarate = 100Mbps;
>
> }
>
> *submodules*:
>
> channelControl: ChannelControl {
>
> *parameters*:
>
> *@display*("p=60,50;i=misc/sun");
>
> }
>
> configurator: FlatNetworkConfigurator6 {
>
> *parameters*:
>
> *@display*("p=60,120");
>
> }
>
> LMN: HostIPv6over802154 {
>
> *parameters*:
>
> *@display*("p=185,140;i=device/pc3");
>
> }
>
> R1: Router6_802154v4 {
>
> *parameters*:
>
> *@display*("p=211,211");
>
> }
>
> CN1: StandardHost6v2 {
>
> *@display*("p=416,198");
>
> }
>
> *connections*:
>
> CN1.ethg++ *<-->* ethline *<-->* R1.ethg++;
>
> }
>
>
> LMN is the basic node "HostIPv6over802154" and CN1 is "StandardHost6"
> without 6lowpan in the network layer. I think that the problem become
> with R1 router. It is the next one:
>
> *module* NodeBase6_802154v4
>
> {
>
> *parameters*:
>
> *@display*("bgb=623,479");
>
> *@node*;
>
> *@labels*(node,ethernet-node,wireless-node);
>
> *int*numRadios = *default*(0); /// the number of radios in the
> router. by default no wireless/
>
> *int* numPcapRecorders = *default*(0); /// no of PcapRecorders./
>
> *string* mobilityType = *default*("StationaryMobility");
>
> *xml* routingTable = *default*(*xml*("<routingTable/>"));
>
> *bool* IPForward = *default*(true);
>
> *gates*:
>
> *input* radioIn6low *@directIn*;
>
> *inout* ethg[] *@labels*(EtherFrame-conn);
>
> *submodules*:
>
> notificationBoard: NotificationBoard {
>
> *parameters*:
>
> *@display*("p=53,155;is=s");
>
> }
>
>
> /// optional mobility module. Required only if wireless cards
> are present/
>
> mobility: <mobilityType> *like* IMobility *if*
> mobilityType != "" && numRadios > 0 {
>
> *parameters*:
>
> *@display*("p=53,111");
>
> }
>
>
> /// network layer/
>
> networkLayer: NetworkLayer6v5 {
>
> *parameters*:
>
> *@display*("p=329,287;q=queue");
>
> *gates*:
>
> ifIn[*sizeof*(ethg)+1];
>
> ifOut[*sizeof*(ethg)+1];
>
> }
>
>
> routingTable6: RoutingTable6 {
>
> *parameters*:
>
> *@display*("p=53,225;is=s");
>
> isRouter = IPForward;
>
> routingTable = routingTable;
>
> }
>
>
> /// linklayer/
>
> interfaceTable: InterfaceTable {
>
> *parameters*:
>
> *@display*("p=53,287;is=s");
>
> }
>
>
> pcapRecorder[numPcapRecorders]: PcapRecorder {
>
> *@display*("p=53,338,r,10");
>
> }
>
>
> eth[*sizeof*(ethg)]: <*default*("EthernetInterface")>
> *like* IWiredNic {
>
> *parameters*:
>
> *@display*("p=282,406,row,90;q=txQueue");
>
> }
>
> lrwpan: Ieee802154csmaNic {
>
> *parameters*:
>
> *@display*("p=494,406;q=queue;i=block/ifcard");
>
> }
>
> sixlowpan: _6lowpan {
>
> *@display*("p=464,307;is=s");
>
> *gates*:
>
> fromIPv6[1];
>
> toIPv6[1];
>
> fromMac[1];
>
> toMac[1];
>
>
> }
>
> *connections**allowunconnected*:
>
> *for* i=0..*sizeof*(ethg)-1 {
>
> ethg[i] *<-->* eth[i].phys;
>
> eth[i].upperLayerOut *-->* networkLayer.ifIn[i];
>
> eth[i].upperLayerIn *<--* networkLayer.ifOut[i];
>
> }
>
> ///802.15.4 connection/
>
> radioIn6low *-->* lrwpan.radioIn6low;
>
> lrwpan.upperLayerOut *-->* sixlowpan.fromMac[0];
>
> lrwpan.upperLayerIn *<--* sixlowpan.toMac[0];
>
> sixlowpan.toIPv6[0] *-->* networkLayer.ifIn++;
>
> sixlowpan.fromIPv6[0] *<--* networkLayer.ifOut++;
>
> }
>
> And finally i use the NetworkLayer6but I 've remove from this 6LoWPAN,
> because i have it outside.
> I configure ini file with mack address for any interface, and when i run
> the next error appear on "R1.networklayer.ipv6":
>
> /No gate index specified when accessing vector gate `queueOut'./
>
> I read a lot about this in this forum but i can fix it. I try to put
> manually ifIn and ifOut number of interface instead of "++" but nothing
> was fixed. I change sixlowpan array size to one, and tested thousands of
> combinations of this, i don't know where is the problem. I debbuged it
> and problems comes when i need to send a NSPacket, in the send function
> of this, when the nextgateindex is "-1".
>
> Im new with omnet++ and i don't understand very well what is happened
> with this error, all of little help that anyone can give me can suppose
> a lot for me.
>
> Thanks in advance and sorry again for my english.
>
> Julen
>
> --
> 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
> <mailto:omnetpp+u...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/omnetpp.
> For more options, visit https://groups.google.com/d/optout.

Julen_UPV/EHU

unread,
Jul 20, 2016, 9:52:20 AM7/20/16
to OMNeT++ Users
Hi Florian,

Im using inetmanet2.0 of this branch: https://github.com/michaelkirsche/6lowpan4omnet-diy
Thanks in advance!
Julen
Reply all
Reply to author
Forward
0 new messages