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

Vendor Specific QOS (24/25.43) not decoding properly. #38

Closed
ctdearborn opened this issue Jun 24, 2015 · 10 comments
Closed

Vendor Specific QOS (24/25.43) not decoding properly. #38

ctdearborn opened this issue Jun 24, 2015 · 10 comments
Assignees
Labels

Comments

@ctdearborn
Copy link

When decoding the hex value of a vendor specific QoS TLV, I get the right information, but when decoding the text, the value I get does not make sense, and does not encode back to the same hex values, as well as truncates the rest of the TLVs (in my case, another vendor specific qos TLV and a service class name TLV) .
For example:
[Type:25] 19:4C:01:02:00:0D:06:01:07:07:01:05:08:04:00:0F:A0:00:0C:02:00:00:0D:02:00:C8:0E:04:00:00:00:00:2B:11:08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01:2B:0F:08:03:00:00:0C:04:08:00:00:00:14:00:00:00:01:04:08:65:4D:54:41:2D:44:53:00

Split out:
25: 19:4C
25.1: 01:02:00:0D
25.6: 06:01:07
25.7: 07:01:05:
25.8: 08:04:00:0F:A0:00:
25.12: 0C:02:00:00:
25.13: 0D:02:00:C8:
25.14: 0E:04:00:00:00:00
25.43: 2B:11:08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01
25.43: 2B:0F:08:03:00:00:0C:04:08:00:00:00:14:00:00:00:01
25.4: 04:08:65:4D:54:41:2D:44:53:00

What it looks like in text:
DownstreamServiceFlow {
ServiceFlowReference 13; /* TLV: [25.1]/
ServiceClassName eMTA-DS; /
TLV: [25.4]/
QualityOfServiceParameterSetType 07; /
TLV: [25.6]/
TrafficPriority 5; /
TLV: [25.7]/
MaxSubstainedTrafficRate 1024000; /
TLV: [25.8]/
TimeoutForActiveQoS 0; /
TLV: [25.12]/
TimeoutForAdmittedQoS 200; /
TLV: [25.13]/
TimeoutForAdmittedQoS 0; /
TLV: [25.14]/
VendorSpecificQoS 134414336; /
TLV: [25.43]*/
}

@mgarcia01752
Copy link
Collaborator

We will take a look at this. I think we need to fix the Dictionary. Also in a few weeks, we will have an online TLV Dictionary Editor so that you can Edit or Add TLVs

@mgarcia01752 mgarcia01752 self-assigned this Jun 25, 2015
@mgarcia01752
Copy link
Collaborator

Thanks for the Feedback!!!

Download TLV Dictionary - Click View Raw

Replace db/dictionary.sqlite with download file.

Can you reply back if this fixes the problem. If not can you provide your configuration file.

@ctdearborn
Copy link
Author

Better! The first TLV43 shows up properly, but the second is still gone, as is the TLV after the two tlv 43's.
DownstreamServiceFlow {
ServiceFlowReference 13; /* TLV: [25.1]/
ServiceClassName eMTA-DS; /
TLV: [25.4]/
QualityOfServiceParameterSetType 07; /
TLV: [25.6]/
TrafficPriority 5; /
TLV: [25.7]/
MaxSubstainedTrafficRate 1024000; /
TLV: [25.8]/
TimeoutForActiveQoS 0; /
TLV: [25.12]/
TimeoutForAdmittedQoS 200; /
TLV: [25.13]/
TimeoutForAdmittedQoS 0; /
TLV: [25.14]/
VendorSpecificQoS 08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01; /
TLV: [25.43]*/
}

I’ve attached my binary file to this email.

From: Maurice Garcia [mailto:[email protected]]
Sent: Thursday, June 25, 2015 8:23 AM
To: Comcast/Oscar
Cc: Colin Dearborn
Subject: Re: [Oscar] Vendor Specific QOS (24/25.43) not decoding properly. (#38)

Thanks for the Feedback!!!

Download TLV Dictionary - Click View Rawhttps://github.com/Comcast/Oscar/blob/UpdateDictionary/db/dictionary.sqlite

Replace db/dictionary.sqlite with download file.

Can you reply back if this fixes the problem. If not can you provide your configuration file.


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-115274741.

@ctdearborn
Copy link
Author

Apparently, the file gets stripped from email. :) Here's a link:
https://drive.google.com/file/d/0B5tjPaWyLCu1OER3MEZqTmtlelk/view?usp=sharing

@mgarcia01752
Copy link
Collaborator

OK, I see the problem.

[Type:25] 19:4C:01:02:00:0D:06:01:07:07:01:05:08:04:00:0F:A0:00:0C:02:00:00:0D:02:00:C8:0E:04:00:00:00:00:2B:11:08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01:2B:0F:08:03:00:00:0C:04:08:00:00:00:14:00:00:00:01:04:08:65:4D:54:41:2D:44:53:00

[Type:25] 19:4C:
01:02:00:0D:
06:01:07:
07:01:05:
08:04:00:0F:A0:00:
0C:02:00:00:
0D:02:00:C8:
0E:04:00:00:00:00:
2B:11:08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01:
You are missing this -> 2B:0F:08:03:00:00:0C:04:08:00:00:00:14:00:00:00:01:
04:08:65:4D:54:41:2D:44:53:00

 DownstreamServiceFlow  {
     ServiceFlowReference 13;    /* TLV: [25.1]*/
     ServiceClassName eMTA-DS;   /* TLV: [25.4]*/
     QualityOfServiceParameterSetType 07;    /* TLV: [25.6]*/
     TrafficPriority 5;  /* TLV: [25.7]*/
     MaxSubstainedTrafficRate 1024000;   /* TLV: [25.8]*/
     TimeoutForActiveQoS 0;  /* TLV: [25.12]*/
     TimeoutForAdmittedQoS 200;  /* TLV: [25.13]*/
     TimeoutForAdmittedQoS 0;    /* TLV: [25.14]*/
     VendorSpecificQoS 08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01;   /* TLV: [25.43]*/
}

There is a No Max Instance Rule in the dictionary, so it must be ignoring it. Give me a few hours to fix

@mgarcia01752
Copy link
Collaborator

Download 2.1.3.1-beta.1

Please Reply back to thread if it worked

@ctdearborn
Copy link
Author

Almost. Still missing the service class name TLV that is immediately after the second vendor specific TLV.

docsis decode of the service flow:
DsServiceFlow
{
DsServiceFlowRef 13;
QosParamSetType 7;
TrafficPriority 5;
MaxRateSustained 1024000;
ActQosParamsTimeout 0;
AdmQosParamsTimeout 200;
MaxDsLatency 0;
GenericTLV TlvCode 43 TlvLength 17 TlvValue 0x08030000ca301001080000001e00000001;
GenericTLV TlvCode 43 TlvLength 15 TlvValue 0x080300000c04080000001400000001;
ServiceClassName "eMTA-DS";
}

Oscar decode:
DownstreamServiceFlow {
ServiceFlowReference 13; /* TLV: [25.1]/
ServiceClassName eMTA-DS; /
TLV: [25.4]/
QualityOfServiceParameterSetType 07; /
TLV: [25.6]/
TrafficPriority 5; /
TLV: [25.7]/
MaxSubstainedTrafficRate 1024000; /
TLV: [25.8]/
TimeoutForActiveQoS 0; /
TLV: [25.12]/
TimeoutForAdmittedQoS 200; /
TLV: [25.13]/
TimeoutForAdmittedQoS 0; /
TLV: [25.14]/
VendorSpecificQoS 08:03:00:00:CA:30:10:01:08:00:00:00:1E:00:00:00:01; /
TLV: [25.43]/
VendorSpecificQoS 08:03:00:00:0C:04:08:00:00:00:14:00:00:00:01; /
TLV: [25.43]*/
}

@mgarcia01752
Copy link
Collaborator

It's there? The order may not be preserved on the decode.

@ctdearborn
Copy link
Author

So it is. Was expecting order to be preserved. :)
👍
Thanks!!

@mgarcia01752
Copy link
Collaborator

Top Level TLV are preserved, the SubTLV are Ordered. I will fix that next. BTW, keep checking back, we are building an OnlineApp, which will be available in a couple of weeks that will allow you to add your own custom TLV without having to wait for an update from us. Also create custom Vendor TLV like the ones above.

TLV Dictionary Wiki

mgarcia01752 pushed a commit that referenced this issue Jun 26, 2015
- Issue-38 -> #38
- Fixed TLV 25.14 TLV Name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants