Set up TSN network on LS1028 ARDB switch using NETCONF/YANG protocol

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Set up TSN network on LS1028 ARDB switch using NETCONF/YANG protocol

6,838 Views
asanson
Contributor I

Hello dear community, 

One more time I need your help because I'm stuck. I'm currently working with LS1028 ARDB switches for their TSN features and I would like to configure them using the NETCONF/YANG protocol.

I followed what is written on this doc at the chapter 18 : https://www.nxp.com/docs/en/user-guide/OPEN-LINUX-IND-UM-1-10.pdf

I succeeded to connect my netopeer2-cli (my computer) to the netopeer2-server (the switch). Now, I would to configure some TSN standards using the NETCONG/YANG protocol. For that, followed exactly what is written on the section 18.4.8 of the above documentation. Also I decided to use already existing .xml files I found here : https://github.com/real-time-edge-sw/real-time-edge-sysrepo/tree/master/Instances

But know, I don't know where I have to place theses files... On the client side ? The server side ?

For example, if I place the file ietf-ip-cfg.xml on the /home/tmp/ repository of the client I have the following error when I execute this command :

> edit-config --target running --config=/home/tmp/ietf-ip-cfg.xml
cmd_editconfig: Unable to open the local datastore file "home/tmp/ietf-ip-cfg.xml" (No such file or directory).

This error occurs no matter where my file is located. 

Do you have an idea to fix this error ? Do you know where I can find the "local datastore" ?

Thanks a lot for your help ! And thanks for reading me until the end !

Sincerely, 

Alexander

 

 

0 Kudos
11 Replies

6,461 Views
xinliwang
Contributor III

Hi, @asanson 

I have fixed the problems that we discussed by rebuilding the kernel. But I found another problem by running edit-config --target running --config=qbv-eno0-enable.xml

the result shows that:

xinliwang_0-1658820104389.png

Then I check the ieee802-dot1q-sched@2018-09-10.yang

I found this file doesn't have the element "gate-parameter-table". I wonder if you have successfully configure the QBV through the qbv-eno0-enable.xml file?

Beside I check the lastest version ieee802-dot1q-sched.yang file on https://github.com/YangModels/yang/blob/main/standard/ieee/draft/802.1/Qcw/ieee802-dot1q-sched.yang. It surely have the "gate-parameter-table" I wonder if this is the point?

Sincerely, 

Xinli

0 Kudos

6,455 Views
asanson
Contributor I

Hi @xinliwang !

I just checked your issue and I admit that this strange... Your ieee802-dot1q-sched.yang file as the container gate-parameter-table (line 111). So your server should be able to understand the element "gate-parameter-table". Where is located ieee802-dot1q-sched.yang file on your server side ? Are sure it is located here : /etc/sysrepo/yang/ ?

Also, what does your file qbv-eno0-enable.xml look like ? Try with this one : I'm sure it works ! https://github.com/real-time-edge-sw/real-time-edge-sysrepo/blob/master/Instances/qbv-eno0-enable.xm...

You will see the client is calling urn:ieee:std:802.1Q:yang:ieee802-dot1q-sched file (line 2). It means you need to have this file at the right place on your server side. 

If it still doesn't work, i will send you my file ieee802-dot1q-sched.yang.

Best regards, 

asanson

0 Kudos

6,449 Views
xinliwang
Contributor III

Hi, 

The file attached is my ieee802-dot1q-sched.yang file. I didn't find the gate-parameter-table in it. i wonder if your ieee802-dot1q-sched.yang is same as mine? 

 

0 Kudos

6,443 Views
asanson
Contributor I

Indeed you don't have the container gate parameter table in it. That's completely normal you have an error when you send the file qbv-eno0-enable.xml because it mentionne an element gate-parameter-table. Your server is currently unable to understand and interpret this element. That's why you have an error. 

You have to modify your attached file. Take an exemple on this file yang/ieee802-dot1q-sched.yang at main · YangModels/yang · GitHub

It implements the parameter you want (line 111).

 

0 Kudos

6,620 Views
xinliwang
Contributor III

Hi, asanson

Like you didi I followed what is written on this doc at the chapter 18 : https://www.nxp.com/docs/en/user-guide/OPEN-LINUX-IND-UM-1-10.pdf.

But I could not connect my netopeer2-cli (my computer) to the netopeer2-server (the switch). Here is what it printed on my ubuntu

xinliwang_0-1657518439829.png

Do you have any ideas how to solve this problem?

Beside the user-guide shows that the before starting, make sure that sysrepod,sysrepo-plugind, sysrepo-tsn and netopeer2-server are running on the board. How do I make sure it runs all these functions?

0 Kudos

6,615 Views
asanson
Contributor I

Hi @xinliwang !

Yeah, I already had this problem. I don't know the exact reason but I have several hypothesis.

- First, check that the IPv4 adress of your netopeer2-cli belongs to same sub-network as your netopeer2-server.

- Then, plug an Ethernet cable on the interface eno0 (MAC0) of your board (not the interfaces of the switch swp0 to swp3).

- Finally, reboot your board. 

If you follow these instructions, it is supposed to work. You don't need to run netopeer2-server when your board has boot. Indeed, netopeer2-server is running when your board is booting. You can check that here : /etc/init.d/S91netoper2-server.

Normaly, if you have the lastest version of openil running on your board, sysrepod,sysrepo-plugindsysrepo-tsn and netopeer2-server are already installed on your board. You can check it by searching on the file system of the board. For exemple on /ect/sysrepo.

I hope this answer will solve your problem. If it doesn't solve the problem, let me know.

Finally I have a question for you. Do you know how can I configure a VLAN interface using NETCONF/YANG protocole ? I can't see the good file on this Github...
 sysrepo-tsn/Instances at master · openil/sysrepo-tsn · GitHub

Sincerely, 

asanson

 

0 Kudos

6,608 Views
xinliwang
Contributor III

Hi, asanson

Thank you for your reply. I followed the steps you mentioned and tried again. But it didn't work. 

Here I use yocto version other than openil.  I checked the  /etc/init.d/S91netoper2-server file and found out it sure running after reboot. But I still not sure wether it running successfully or not. So I tried to  manually execute the netopeer-server at path /usr/bin/netopeer2-server. Here is the log down below.

xinliwang_0-1657593839320.png

you can see there are some ERRs.

I think it might beacuse of losing some modules. Then i tried sysrepoctl -l

xinliwang_1-1657594021429.png

It seems no modules were loaded?

It might be the kernal problems for yocto version? Can you show me the log on your board after do  sysrepoctl -l and netopeer2-server command?

For your questions, I will tried after I can connect the server and client.

Sincerely, 

xinli

0 Kudos

6,599 Views
asanson
Contributor I

Hey @xinliwang !

I don't know exactly what is your problem but I can help you by sending you my logs.

But before that, I think your Yocto version isn't configured well. 

Indeed, according to your logs after running sysrepoctl -l,  I can see that no YANG modules are installed in sysrepo... What do you have on /etc/sysrepo/yang/ and /etc/sysrepo/data/ ? In my case, I have lot of .yang files in /etc/sysrepo/yang/ 

Here is my logs after running netopeer2-server -d -v 2 (watch the attached files in the following order A1, A2, A3).

My logs after running sysrepoctl -l are in the attached file B1.

I really hope it will help you. 

Please, let me know if you find the solution.

Sincerelly, 

asanson

 

0 Kudos

6,585 Views
xinliwang
Contributor III

Hi, @asanson 

Thank you so much my friend. I think you are right that my Yocto version isn't configured well. 

Indeed, my logs shows that no YANG modules are installed in sysrepo. So I tried to install it manually since I was not to able to change the kernel.

After installed all .yang files I got the logs after running netopeer2-server -d -v2 and  sysrepoctl -l .

You can see the logs after running sysrepoctl -l ( attached file B1)are same as yours but for netopeer2-server -d -v2 ( attached file A1 A2 A3) are different.

xinliwang_1-1657691141179.png

xinliwang_0-1657691112900.png

It seems that the server is not able to listen to 0.0.0.0 port 830 ? Do you have any ideas that why permission denied and how do I fix it?

Another question, I check your logs that there are still some errors like "Module "ietf-yang-library@2018-01-17" in another revision "2019-01-04" already implemented". Is this error doesn't affect the netopeer2-server?  

Sincerelly, 

Xinli

0 Kudos

6,454 Views
asanson
Contributor I

Hey @xinliwang !

Did you fix this problem ? How did you do for your server to listen to right IP adress (not 0.0.0.0) ? 

Regarding the errors in my logs, I can ensure you that it doesn't affect the netopeer2-server.

Sincerely, 

asanson

0 Kudos

6,450 Views
xinliwang
Contributor III

I think the key point of the error is the kernel version that I used to run yocto 2.0 on my board.

After that , I asked my colleague to build 2.2 version and it was fixed.

Now, on my board the netopeer-server can run well and it still listen to (0,0,0,0) IP adress. But this time it can bind it without permission denied.

Besides, for your vlan question mentioned before, I think you can check ietf-vlan-cfg.xml file and set up br1 bridge and swp2 on your board(maybe need to change mac addr also). I didn't try but I think it may be a way. 

0 Kudos