You will need to create your own SmartRest template that reflects your addition to the c8y_Network fragment.
Then you can use this template to update the c8y_Network fragment.
You do not need to change anything on the platform side or tell Cumulocity about your structure. You can just blindly send it.
JSON example:
{
"c8y_Network": {
"c8y_LAN1": {
...
},
"c8y_LAN2": {
...
},
"c8y_LAN3": {
...
},
"c8y_Wifi": {
...
},
}
}
The backend will not validate these structures. You application just needs to understand it. The default view for network in devicemanagement will not show your additions as it is not aware of this structure. You would need to have your own network plugin to visualise everything.
In cockpit you have certain widgets (e.g. asset properties) who will automatically detect any kind of structure in the device and there would be able to show this.
I suggest you take look at the implementation for the netcomm routers that use the C++ SDK https://bitbucket.org/m2m/cumulocity-agents-netcomm/src/master/
There are SmartRest templates (including one for c8y_Network) here: https://bitbucket.org/m2m/cumulocity-agents-netcomm/src/master/srtemplate.txt
The usage of this template is implemented in a lua plugin in that case: https://bitbucket.org/m2m/cumulocity-agents-netcomm/src/master/lua/net.lua