Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CBS Qdisc config fail with i218-LM #19

Open
maxmbed opened this issue Sep 10, 2020 · 6 comments
Open

CBS Qdisc config fail with i218-LM #19

maxmbed opened this issue Sep 10, 2020 · 6 comments

Comments

@maxmbed
Copy link

maxmbed commented Sep 10, 2020

Hi,

I am getting stuck at the configuration of CBS Qdisc as shown below:

$ sudo tc qdisc add dev $DEV parent root handle 6666 mqprio \
>         num_tc 3 \
>         map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
>         queues 1@0 1@1 2@2 \
>         hw 0
RTNETLINK answers: Operation not supported

I am using the intel i218-LM chip. Would it be possible the error is raised due to lack of support on i218-LM ?

System: Debian 10, kernel v4.19.0-10-amd64

@vcgomes
Copy link
Collaborator

vcgomes commented Sep 10, 2020

Yeah. I agree that the naming scheme doesn't make much sense, but Intel i218-LM is not based on Intel i210. It's even from another family, i.e. it uses the e1000e driver. I am sorry.

@maxmbed
Copy link
Author

maxmbed commented Sep 11, 2020

Thanks for quick reply.

But I am bit confuse. In datasheet of i218-LM, chapter 11 mentions support of 802.1AS "to ensure that synchronization
requirements are met for time sensitive applications, such as audio and video"

So why do we need this Qdsic configuration ? Is it because AVB requires "higher level" of time sensitive criteria ?

@vcgomes
Copy link
Collaborator

vcgomes commented Sep 11, 2020

Oh, sorry. I must have written my last comment before coffee. I completely missed that you were only interested in mqprio, and not the rest (CBS, ETF). It seems that I218 only has two queues, so the mqprio configuration should be different. Something like this might work:

$ sudo tc qdisc add dev $DEV parent root handle 6666 mqprio \ num_tc 2 \ map 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 \ queues 1@0 1@1\ hw 0

Just be aware, that as I said earlier, i218 doesn't have hardware support for offloading the other qdiscs.

Sorry about the confusion.

@maxmbed
Copy link
Author

maxmbed commented Sep 15, 2020

Hi,
Indeed, I sees i218 support two Rx & Tx queue in datasheet. Thanks for your feedback.

I tried to setup the qdsic mqprio using your command sample but it didn't work (RTNETLINK answers: Operation not supported). Have tried to change parameters but there is a lack of knowledge on my end to understand how to set things for my NIC. Especially about map priorities. man tc-mqprio didn't help to understand P0 -> P15 parameters. If you do you have any links or docs about this, feel free to share.

I might input some confusion on my request too:
Initially, I wanted to set an AVB talker but with only audio capability and I believe I would require to set both MQPRIO, CBS and ETF qdisc. Isn't that correct to fulfill AVB ? Or some qdisc can be omitted here ?

@elabbing
Copy link

elabbing commented Feb 14, 2021

Hi, maybe this could help you:
jeez/iproute2#1 (comment)

@edersondisouza
Copy link
Collaborator

Hi @maxmbed ,

Initially, I wanted to set an AVB talker but with only audio capability and I believe I would require to set both MQPRIO, CBS and ETF qdisc. Isn't that correct to fulfill AVB ? Or some qdisc can be omitted here ?

Well, CBS and ETF are the ones that do the job regarding AVB - MQPRIO is there so that AVB traffic can be sent to the right qdisc (CBS and/or ETF).

In theory, you can use only CBS or ETF, or both (as suggested in the AVB part of this tutorial), depends on your use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants