Unknown protocol: id

211 views
Skip to first unread message

khalid.mo...@gmail.com

unread,
Jul 24, 2021, 1:32:43 PM7/24/21
to OMNeT++ Users
Hi dear Alfonso,

For several days I have been working on Simu5g and integrating a passive optical network(PON) protocol with it for Fiber Wireless(FiWi) 5G scenario; I have made the same copy of the PPP protocol just changing some fields. And every step was ok at the simu5g module. And I need to change the packet from PON protocol to PPP protocol and vice versa.  like

server<- - - -UPF - - - PPP- - -PON- - - - - -PPP- - - - - -gNB- - - ->user

During simulation, it generates this error. when I convert the PON message to PPP 
Unknown protocol: id = 44, name = ppp -- in module (inet::Ppp3) SingleCell.upf.pppIfp.ppp3 

I have also seen ProtocolGroup.cc file there is no int-number for PPP at ProtocolGroup::pppprotocol("pppprotocol", {.......}....etc. 

Could you please guide me How to resolve this issue?
Bundle of Thanks ...

khalid.mo...@gmail.com

unread,
Jul 26, 2021, 3:16:21 AM7/26/21
to OMNeT++ Users
Hello dear Alfonso,
I am stuck, please guide me. 

I have not found ppp protocol id in ProtocolGroup.cc. How do I know the PPP protocol id? 
Actually, I want to replace my PON protocol id with a PPP protocol id value for sending messages to the server-side from PON module.  
I have created two modules of PON (OLT and ONU).

server<- - - -UPF - - - PPP- - -PonOLT - - - - - - - - PonONU- - - - - -PPP- - - - - -gNB- - - ->user

First, I have pushed my pon protocol header at the PonONU side then I have popped my PON protocol headers at PonOLT from the packet. then want to insert ppp protocol headers and trailers using encapsulate function like encapsulate( packet), but it generates errors at PonOLT.  

like  
packet->popAtFront<PonUsFrame>();
 packet->popAtBack<PonTrailer>(Pon_TRAILER_LENGTH);
encapsulate(packet)

encapsulate(Packet *packet)
{
    auto pppHeader = makeShared<PppHeader>();
    pppHeader->setProtocol(ProtocolGroup::pppprotocol.getProtocolNumber(packet->getTag<PacketProtocolTag>()->getProtocol())); 
//    pppHeader->setProtocol(ProtocolGroup::pppprotocol.getProtocolNumber(&Protocol::ppp));  //try to insert direct id of ppp
    packet->insertAtFront(pppHeader);
    auto pppTrailer = makeShared<PppTrailer>();
    packet->insertAtBack(pppTrailer);
    packet->addTagIfAbsent<PacketProtocolTag>()->setProtocol(&Protocol::ppp);
    pppHeader->setProtocol(ProtocolGroup::pppprotocol.getProtocolNumber(&Protocol::ppp));
}

if I use 
   pppHeader->setProtocol(ProtocolGroup::pppprotocol.getProtocolNumber(packet->getTag<PacketProtocolTag>()->getProtocol())); 
it genrates  error " Tag 'inet::PacketProtocolTag' is absent -- in module"

if I use 
    pppHeader->setProtocol(ProtocolGroup::pppprotocol.getProtocolNumber(&Protocol::ppp));  //direct put value of ppp
it genrates error Unknown protocol: id = 44, name = ppp  in module 

Please guide me how to solve this issue?

Alfonso Ariza Quintana

unread,
Jul 26, 2021, 5:10:25 AM7/26/21
to omn...@googlegroups.com
The problem is the protocol that you want to encapsulate

pppHeader->setProtocol, this must have the encapsulate protocol, 

if you use ProtocolGroup::pppprotocol.getProtocolNumber, the valid protocols that can be encapsulate must be
  { 0x0021, &Protocol::ipv4 },
    { 0x0057, &Protocol::ipv6 },
    { 0x0281, &Protocol::mpls },
    { 0x39FC, &Protocol::flooding },          // INET specific non-standard protocol
    { 0x39FD, &Protocol::probabilistic },     // INET specific non-standard protocol
    { 0x39FE, &Protocol::wiseRoute },         // INET specific non-standard protocol
    { 0x39FF, &Protocol::nextHopForwarding }, // INET specific non-standard protocol

You try to encapsulate ppp over ppp, and this is forbidden.


In your case, the UPF and gNB, should include the tag with the protocol that they are using, packet->addTagIfabsent<PacketProtocolTag>() with the protocol. If the protocol is different of ipv4, ipv6, mpls, flooding ....., you will need to include it in the table "ProtocolGroup::pppprotocol.getProtocolNumber"




De: omn...@googlegroups.com <omn...@googlegroups.com> en nombre de khalid.mo...@gmail.com <khalid.mo...@gmail.com>
Enviado: lunes, 26 de julio de 2021 9:16
Para: OMNeT++ Users <omn...@googlegroups.com>
Asunto: [Omnetpp-l] Re: Unknown protocol: id
 
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/omnetpp/b36ee820-95fe-4a2f-9c88-d5f9440434f1n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages