Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Titan » TTCN - Router(L2 and L3 discussion)
TTCN - Router [message #1801624] Wed, 23 January 2019 18:41 Go to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

Does TTCN support router (L3) testing ?

Regards - David
Re: TTCN - Router [message #1801654 is a reply to message #1801624] Thu, 24 January 2019 08:40 Go to previous messageGo to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi David,

TTCN-3 as a language is totally generic, universal and agnostic to the nature of the System Under Test; Titan tries to maintain this as much as possible.

Some years ago we have experimented with testing OSPF with TTCN-3/Titan and also with compiling Titan on a router directly for white-box testing of the router software ( of curse the condition for this is the router runs a Linux derivative as OS, but this is often satisfied).
As requirements were more heavily expressed in other areas , we have abandoned this line , but I see no reason why Titan and TTCN-3 could not be used for router testing,
assuming one creates the appropriate protocol modules and test ports.

Best regards
Elemer


Re: TTCN - Router [message #1801705 is a reply to message #1801654] Thu, 24 January 2019 21:29 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

Can this qualify as a protocol module for L2 router ?
https://github.com/eclipse/titan.core/blob/e157c63ddc88b3f822a96cdf018f9533c9f8807c/performance_test/SIPApplibPerfTest/src/EPTF_CLL_TransportIPL2_Definitions.ttcn

Regards - David
Re: TTCN - Router [message #1801731 is a reply to message #1801705] Fri, 25 January 2019 11:37 Go to previous messageGo to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi David,

not directly, but certainly you can take inspiration from it.
In broad terms the quoted protocol module was written with the intention of bypassing the TCP/UDP layer of the IP stack offered by the OS;
as such it receives/sends ethernet frames on the southbound interface and receives/sends TCP or UDP messages on the northbound interface.
It also handles ARP , that is translation between MAc and IP addresses.

We don't have ready, off the shelf protocol modules for L2 bridging or L3 routing functionality.


Best regards
Elemer




Re: TTCN - Router [message #1801751 is a reply to message #1801731] Fri, 25 January 2019 16:06 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

Thx. Typically Internet IP routing protocols usually includes the 3 usual suspects: RIP, OSPF and BGP.
We are interesting on the BGP.

Regards - David

[Updated on: Fri, 25 January 2019 16:07]

Report message to a moderator

Re: TTCN - Router [message #1802891 is a reply to message #1801751] Mon, 18 February 2019 14:32 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

Would you happen to still have the compiled version and API of OSPF with TTCN-3/Titan that you spoke previously?

If yes...could you send us the tar file and any pertaining doc ?

Thx - David

[Updated on: Mon, 18 February 2019 15:30]

Report message to a moderator

Re: TTCN - Router [message #1802925 is a reply to message #1802891] Tue, 19 February 2019 08:15 Go to previous messageGo to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi , David,

I'm sorry ; the code has been lost during years of migrations;
however it should not be more than a couple of days' work with RAW encoding.

Best regards
Elemer



Re: TTCN - Router [message #1802950 is a reply to message #1802925] Tue, 19 February 2019 13:51 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

Thx for your response, we found one but it's dated 2010:
http://t3devkit.gforge.inria.fr/doc/userref/userrefch1.html#x2-110001.3
https://gforge.inria.fr/frs/?group_id=587

Regards - David

[Updated on: Tue, 19 February 2019 13:54]

Report message to a moderator

Re: TTCN - Router [message #1803492 is a reply to message #1802950] Fri, 01 March 2019 15:23 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

We came across this long discussion on TTCN Titan Testport for socketCAN (https://www.eclipse.org/forums/index.php/m/1745150/?srch=router#msg_1745150).
would it be related to static route ?

Regards - David
Re: TTCN - Router [message #1803552 is a reply to message #1803492] Mon, 04 March 2019 07:36 Go to previous messageGo to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi David,

no, I'm afraid that discussion is not related to routing or static routes.

BR

Elemer
Re: TTCN - Router [message #1803987 is a reply to message #1803552] Thu, 14 March 2019 20:25 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

If I were to send a ICMP Echo to the OSPF router, the TTCN-3 structure representing an OSPF packet and test port would be as followed.
would I need to create a similar protocol packet and test ports for BGP ?

Regards - David

type record OSPFPacketType
{
UInt8 Version,
UInt8 Type,
UInt16 PacketLength,
UInt32 RouterID,
UInt32 AreaID,
UInt16 Checksum,
UInt8 InstanceID,
UInt8 Reserved,

octetstring PacketBody
};

// A port type used for communicating with an OSPF router

type port OSPFPort message
{
inout OSPFPacketType;
}
Re: TTCN - Router [message #1804089 is a reply to message #1803987] Mon, 18 March 2019 07:55 Go to previous messageGo to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi David,

first , some architectural advice:

it's always a good idea to separate the different protocol stacks:
-you will need at least two such stacks: an ICMP/IP/L2 and an OSPF/IP/L2; this means you will need two PTC's , one implementing ICMP behaviour , with an icmp port translated to LANL2,
and one implementing OSPF behaviour, with an ospf port translated to LANL2;

-for the first you can use the already available ICMP and IP protocol modules and the LANL2 test port
-for the second you will have to write an OSPF protocol module (with RAW codec instructions) , plus use the existing IP PM, and LANL2 test port

If you want to add BGP, you need to implement BGP types ( with RAW) and add a third protocol stack/component similar with the above

You should preferably use types declared in titan.ProtocolModules.COMMON/src/General_Types.ttcn
already decorated with RAW attributes.

The MTC can be used to orchestrate the behaviour of the two(three) components wia internal test ports.


I hope this helps.

BR

Elemer

Re: TTCN - Router [message #1805032 is a reply to message #1804089] Thu, 04 April 2019 17:10 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

While running test cases define in A.cfg, we had also to include test cases from B.cfg in [MODULE_PARAMETERS], otherwise we have a dynamic error.
Is it possible to run test case define in A.cfg without including B.cfg test cases in [MODULE_PARAMETERS] ......As of today, we put both A.cfg and B.cfg test cases in each pertaining [MODULE_PARAMETERS] to avoid dynamic error
when we run the command: ttcn3_start ./l2 ..../CONFIG/ICMP2ETH_n+1.cfg

Regards - David

[Updated on: Thu, 04 April 2019 17:14]

Report message to a moderator

Re: TTCN - Router [message #1805062 is a reply to message #1805032] Fri, 05 April 2019 06:48 Go to previous messageGo to next message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi David,

it would be easier to answer your question if I could see what's in your code and config;
however the answer is: yes, it is possible, you need to look at the logs and understand the role of the included parameters.

A generic advice:
Try to run the test cases one by one separately; every test case should work stand-alone, there should be no interference between test cases.
If it is , than that is wrong.
You should separate the test cases from each other; that usually requires a preamble to establish a certain state of the SUT (e.g. login) and a postamble
to take the SUT to a default state (e.g. logout)

I hope this helps

BR

Elemer





Re: TTCN - Router [message #1805582 is a reply to message #1804089] Wed, 17 April 2019 19:06 Go to previous messageGo to next message
David Laurent is currently offline David LaurentFriend
Messages: 68
Registered: September 2018
Member
Hi Elemer,

Based on your previous messages, we realized that ProtocolModules.ICMP (ICMP_Types.ttcn) and ICMPv6_Types.ttcn already have some RAW router record types defined:
- ICMP_RouterAdvertisement
- ICMP_RouterSolicitation
- ICMP_RouterAddressEntity

We can borrow them to implement BGP and OPSF protocol in a different branch ProtocolModules.BGP and ProtocolModules.OPSF ?

And add the BGP message header based on RFC 4271 section 4.1 - 4.3

Regards - David
Re: TTCN - Router [message #1805586 is a reply to message #1805582] Thu, 18 April 2019 07:03 Go to previous message
Elemer Lelik is currently offline Elemer LelikFriend
Messages: 1120
Registered: January 2015
Senior Member
Hi David,

sure thing, you should reuse as much as possible

BR

Elemer
Previous Topic:Install Titan on debian
Next Topic:Error at Run configuration
Goto Forum:
  


Current Time: Fri Apr 19 00:43:34 GMT 2024

Powered by FUDForum. Page generated in 0.02651 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top