Patch and Howto: docsis_server 3.5 Option 122 (MTA provisioning) |

You are here

Patch and Howto: docsis_server 3.5 Option 122 (MTA provisioning)

11 posts / 0 new
Last post
Patch and Howto: docsis_server 3.5 Option 122 (MTA provisioning)

Hi All,

I love the docsis_server and i invested much time to get things run.

Now I get docsis_server 3.5 run with option 122 (MTA-support). Therfore i added some tricky patches.
So i can do provisioning of Arris TM502B with SIP-load. (GUPI-MTA provisioning flow)

On this board you can find i good howto with dhcpd:
Follow this instruction to set the correct Configfile-Settings.

This works great, but i want to use docsis_server instead of dhcpd.

My english is not realy perfect, but i try to explain you how it works:

First i patched the dhcp-options.c file so mta's are identified as modems. This makes it easy to
give the mta its subnet and configurationfile like cablemodems.
Second i patched the mysql-config_opts.c so the opt_dtype MTAIP and MTAR are working now.
For cablemodem only MTAIP is used to set the TSP's DHCP (Option 122, suboption 1).
It is tricky to use the table config_opt_macs for this, because you may not want to set this option
to every modem. In this case you MUST set cfg_id to 1! Example:

macaddr: 001596354770
opt_id: 1
opt_type: 122
opt_dtype: MTAIP
sub_opt: 0
comment: TSP's primary DHCP-Server

If you want to disable the MTA for this device put for opt_value here.

For the MTA-Subnet you have to set Option 122 Suboption 3 and 6.
This is very easy now: Choose MTAR as opt_dtype in table config_opts and fill in the FQDN of your Server
and comma-separated the Keberos REALM. Example:

server_id :1
opt_id : 6 <- your cmts_vlan/subnet for MTA's
opt_type: 122
opt_dtype : MTAR
opt_value: docsis_server_35.bridacom.lab,BASIC.1
sub_opt: 0
comment: MTA-ProvisioningServer,REALM

This value will be splittet in suboption 3 and 6.

Thats all!

Here you can download the patched files for docsis_server 3.5:

In the files i added some comments too.

Copy the files in the src-directory and compile again.
Remember to restart the docsis_server after change these options in the database.

Have fun!


runs fine with packetcable

Hi Michael,

thank you very much for your patch, it runs fine with packetcable.

best regards


Hi Benedikt,

glad to hear that someone is using it!

Thank you for the feedback!


Thanks by the patch

Hi Michael:

After Many test, finally I get that docsis server work wiht MTA support, but I made a hibryd between docsis_server(CM) and dhcpd(CPE, MTA).
I made a little changes in the info of the tables config_opts and config_opts_macs, because I have the configuration of different subnets in the same gateway. This is the changes that I made:

mysql> select * from config_opts;
| server_id | opt_id | opt_type | opt_dtype | opt_value | sub_opt | comment |
| 1 | 1 | 54 | IP | | 0 | Lease Server IP |
| 1 | 1 | 6 | 2IP | | 0 | DNS Servers |
| 1 | 1 | 15 | CHAR | | 0 | Domain Name |
| 1 | 1 | 2 | INT32 | -7200 | 0 | Time Offset |
| 1 | 1 | 4 | IP | | 0 | Time Server |
| 1 | 1 | 7 | IP | | 0 | Log Server |
| 1 | 1 | 66 | CHAR | | 0 | Tftp Server |
| 1 | 1 | 122 | MTA-REALM |,BASIC.1 | 0 | MTA-ProvisioningServer,REALM |
Note: In the last line the opt_id is the same that the other options.

mysql> select * from config_opts_macs;
| macaddr | opt_id | opt_type | opt_dtype | opt_value | sub_opt | comment |
| 0015967319dc | 1 | 122 | MTA-IP | | 0 | |
Note: the opt_value is the dhcpd server

The tests was made with Arris MTA model TM402G


hi cuisini it's realy a

hi cuisini

it's realy a good idea.
so your cmts had set to ip helper in 2 ip address?

ip helper
ip helper

right ? if isc dhcpd get cm dhcp request , does isc dhcpd will set NAK back? or do nothing ?

Hi Sonny

Yes, I have 2 helper-address:
ip helper -> for HOST
ip helper ->for CM

when the docsis server is provisionning to cm-mac, active the option 122 and the suboption 3 and 6, this information is send to dhcpd. In the dhcpd i have the class mta configured that receive the suboption 3 and 6, and give the ip to mta of the network mta. Not set to NAK back.




Good to hear!

Thanks for your response!


Can support shared-network

Dear micabu
can it support shared-network ?

because my last time using , can't setting the cmts_ip different with gateway.

example :

CM subnet cmts_ip
CPE subnet cmts_ip

because the cmts can't assign different giaddr between cable modem and cpe that what i tesing cmts.


Hi Sonny, sorry for the late

Hi Sonny,

sorry for the late reply!

Docsis_server only supports one primary gi_address on the cmts.
So all DHCP-Requests should come from this gi address.
To configure use the "gi-address primary" comand or simular on your cmts.

Hope this helps.



thanks you Michael in

thanks you Michael
in layer-3 cmts , cm will use primary ip address become gi_address.
cpe will use secondy ip address become gi_address.

but if in layer-2 cmts , cm and cpe will use the same gi_address , that why i ask this function.
and if have muti isp , will need this function too(include client class).

anyway , thanks your ans .

Arris EMTS- OP122

Please send me your contact details regarding a project

Log in or register to post comments