1{
2    "unicast" : "10.0.2.15",
3    "diagnosis" : "0x55",
4    "logging" :
5    {
6        "level" : "debug",
7        "console" : "true",
8        "file" : { "enable" : "true", "path" : "/home/someip/another-file.log" },
9        "dlt" : "false",
10        "version" : {
11            "enable" : "false",
12            "interval" : "15"
13        }
14    },
15    "watchdog" :
16    {
17        "enable" : "true",
18        "timeout" : "1234",
19        "allowed_missing_pongs" : "7"
20    },
21    "file-permissions" :
22    {
23        "permissions-shm" : "0444",
24        "permissions-uds" : "0222"
25    },
26    "supports_selective_broadcasts" :
27    [
28       "160.160.160.160"
29    ],
30    "tracing" :
31    {
32        "enable" : "true",
33        "sd_enable" : "true",
34        "channels" :
35        [
36            {
37                "name" : "testname",
38                "id" : "testid"
39            },
40            {
41                "name" : "testname2",
42                "id" : "testid2"
43            },
44            {
45                "name" : "testname3",
46                "id" : "testid3"
47            },
48            {
49                "name" : "testname4",
50                "id" : "testid4"
51            }
52        ],
53        "filters" :
54        [
55            {
56               "channel" : "testname",
57               "matches" : [ "0x1111", 2222 ],
58               "type" : "positive"
59            },
60            {
61               "channel" : "testname2",
62               "matches" : [ "0x3333", 4444 ],
63               "type" : "negative"
64            },
65            {
66               "channel" : "testname3",
67               "matches" : [ "0x1111", { "service" : "0x3333", "instance" : "0xffff", "method" : "0x8888" } ],
68               "type" : "negative"
69            },
70            {
71               "channel" : "testname4",
72               "matches" :
73               {
74                    "from" :
75                    {
76                        "service" : "0x1111",
77                        "instance" : "0x0001",
78                        "method" : "0xffff"
79                    },
80                    "to" :
81                    {
82                        "service" : "0x3333",
83                        "instance" : "0x0001",
84                        "method" : "0x8888"
85                    }
86                },
87               "type" : "negative"
88            }
89        ]
90    },
91    "applications" :
92    [
93        {
94            "name" : "my_application",
95            "id" : "0x7788",
96            "max_dispatchers" : "25",
97            "max_dispatch_time" : "1234",
98            "threads" : "12",
99            "request_debounce_time" : "5000",
100            "plugins" :
101            [
102                {
103                    "name" : "testlibraryname",
104                    "type" : "application_plugin"
105                },
106                {
107                    "name" : "wrongtestlibraryname",
108                    "type" : "intentionally_wrong_plugin"
109                }
110            ]
111        },
112        {
113            "name" : "other_application",
114            "id" : "0x9933",
115            "threads" : "0",
116            "threads" : "256",
117            "request_debounce_time" : "10001"
118        }
119    ],
120    "services" :
121    [
122        {
123            "service" : "0x1234",
124            "instance" : "0x0022",
125            "unicast" : "local",
126            "reliable" : { "port" : "30506", "enable-magic-cookies" : "true" },
127            "unreliable" : "31000",
128            "events" :
129            [
130                {
131                    "event" : "0x0778",
132                    "is_field" : "false"
133                },
134                {
135                    "event" : "0x779",
136                    "is_field" : "true"
137                },
138                {
139                    "event" : "0x77A",
140                    "is_field" : "false"
141                }
142            ],
143            "eventgroups" :
144            [
145                {
146                    "eventgroup" : "0x4567",
147                    "multicast" : "225.226.227.228",
148                    "events" : [ "0x778", "0x779" ]
149                },
150                {
151                    "eventgroup" : "0x4569",
152                    "multicast" : "225.227.227.228",
153                    "events" : [ "0x779", "0x77A" ]
154                },
155                {
156                    "eventgroup" : "0x4569",
157                    "multicast" : "225.222.227.228",
158                    "events" : [ "0x778", "0x77A" ]
159                }
160            ]
161        },
162        {
163            "service" : "0x1234",
164            "instance" : "0x0023",
165            "reliable" : "30503"
166        },
167        {
168            "service" : "0x2277",
169            "instance" : "0x0022",
170            "reliable" : { "port" : "30505" },
171            "unreliable" : "31001"
172        },
173        {
174            "service" : "0x2266",
175            "instance" : "0x0022",
176            "reliable" : "30505",
177            "unreliable" : "30507"
178        },
179        {
180            "service" : "0x4466",
181            "instance" : "0x0321",
182            "unicast" : "10.0.2.23",
183            "reliable" : "30506",
184            "unreliable" : "30444"
185        },
186        {
187            "service" : "0x3333",
188            "instance" : "0x1"
189        },
190        {
191            "service" : "0x7809",
192            "instance" : "0x1",
193            "multicast" :
194            {
195                "address" : "224.212.244.225",
196                "port" : "1234"
197            },
198            "eventgroups" :
199            [
200                {
201                    "eventgroup" : "0x1111",
202                    "threshold" : "8",
203                    "is_multicast" : "true",
204                    "events" : [ "0x778", "0x77A" ]
205                }
206            ]
207        },
208        {
209            "service" : "0x3555",
210            "instance" : "0x1",
211            "protocol" : "other"
212        }
213    ],
214    "internal_services" :
215    [
216        {
217            "first" : "0xF100",
218            "last" : "0xF109"
219        },
220        {
221            "first" : {
222                "service" : "0xF300",
223                "instance" : "0x1"
224            },
225            "last" : {
226                "service" : "0xF300",
227                "instance" : "0x10"
228            }
229        }
230    ],
231    "clients" :
232    [
233        {
234            "reliable_remote_ports"   : { "first" : "30500", "last" : "30599" },
235            "unreliable_remote_ports" : { "first" : "30500", "last" : "30599" },
236            "reliable_client_ports"   : { "first" : "30491", "last" : "30499" },
237            "unreliable_client_ports" : { "first" : "30491", "last" : "30499" }
238        },
239        {
240            "reliable_remote_ports"   : { "first" : "31500", "last" : "31599" },
241            "unreliable_remote_ports" : { "first" : "31500", "last" : "31599" },
242            "reliable_client_ports"   : { "first" : "31491", "last" : "31499" },
243            "unreliable_client_ports" : { "first" : "31491", "last" : "31499" }
244        },
245        {
246            "reliable_remote_ports"   : { "first" : "32500", "last" : "32599" },
247            "unreliable_remote_ports" : { "first" : "32500", "last" : "32599" },
248            "reliable_client_ports"   : { "first" : "32491", "last" : "32499" },
249            "unreliable_client_ports" : { "first" : "32491", "last" : "32499" }
250        },
251        {
252            "service" : "0x8888",
253            "instance" : "0x1",
254            "unreliable" : [ "0x11", "0x10" ],
255            "reliable" : [ "0x11", "0x10" ]
256        },
257        {
258            "service" : "8888",
259            "instance" : "1",
260            "unreliable" : [ 40000, 40001 ],
261            "reliable" : [ 40000, 40001 ]
262        }
263    ],
264    "tcp-restart-aborts-max" : "15",
265    "tcp-connect-time-max" : "10000",
266    "max-payload-size-local" : "15000",
267    "max-payload-size-reliable" : "17000",
268    "buffer-shrink-threshold" : "11",
269    "payload-sizes":
270    [
271        {
272            "unicast":"10.10.10.10",
273            "ports":
274            [
275                {
276                    "port":"7777",
277                    "max-payload-size":"14999"
278                }
279            ]
280        },
281        {
282            "unicast":"10.10.10.11",
283            "ports":
284            [
285                {
286                    "port":"7778",
287                    "max-payload-size":"15001"
288                }
289            ]
290        }
291    ],
292    "security" :
293    {
294        "check_credentials" : "true",
295        "policies" :
296        [
297            {
298                "credentials" : { "uid" : "1000", "gid" : "1000" },
299                "allow" :
300                {
301                    "offers":
302                    [
303                        {
304                            "service"  : "0x1234",
305                            "instance" : "0x5678"
306                        },
307                        {
308                            "service"  : "0x1235",
309                            "instance" : "0x5678"
310                        },
311                        {
312                            "service" : "0x1236",
313                            "instances" : [{ "first" : "0x5676", "last" : "0x5677"}, "0x5678"]
314                        }
315                    ]
316                }
317            },
318            {
319                "credentials" : { "uid" : "2000", "gid" : "2000" },
320                "allow" :
321                {
322                    "requests":
323                    [
324                        {
325                            "service"  : "0x1234",
326                            "instances" : [
327                                {
328                                    "ids" : ["0x5678", { "first" : "0x5679", "last" : "0x5699"}],
329                                    "methods" : [ "0x0001", { "first" : "0x8001", "last" : "0x8006" }]
330                                }
331                            ]
332                        },
333                        {
334                            "service"  : "0x1237",
335                            "instances" : [
336                                {
337                                    "ids" : ["0x5678"],
338                                    "methods" : "any"
339                                }
340                            ]
341                        },
342                        {
343                            "service"  : "0x1238",
344                            "instances" : [
345                                {
346                                    "ids" : "any",
347                                    "methods" : ["0x0001"]
348                                }
349                            ]
350                        }
351                    ]
352                }
353            },
354            {
355                "credentials" : { "uid" : "4000", "gid" : "4000" },
356                "deny" :
357                {
358                    "requests":
359                    [
360                        {
361                            "service"  : "0x1234",
362                            "instances" : [
363                                {
364                                    "ids" : ["0x5678", { "first" : "0x5679", "last" : "0x5699"}],
365                                    "methods" : [ "0x0002", { "first" : "0x9001", "last" : "0x9006" }]
366                                }
367                            ]
368                        }
369                    ],
370                    "offers":
371                    [
372                        {
373                            "service"  : "0x1234",
374                            "instance" : "0x5678"
375                        },
376                        {
377                            "service"  : "0x1235",
378                            "instance" : "0x5678"
379                        },
380                        {
381                            "service" : "0x1236",
382                            "instances" : [{ "first" : "0x5675", "last" : "0x5677"}, "0x5678"]
383                        }
384                    ]
385                }
386            },
387            {
388                "credentials" : { "uid" : "5000", "gid" : "5000" },
389                "deny" :
390                {
391                }
392            },
393            {
394                "credentials" : { "uid" : "6000", "gid" : "6000" },
395                "allow" :
396                {
397                }
398            },
399            {
400                "credentials" : { "uid" : "7000", "gid" : "7000" },
401                "deny" :
402                {
403                    "requests":
404                    [
405                        {
406                            "service"  : "0x1234",
407                            "instances" : [
408                                {
409                                    "ids" : ["0x5678"],
410                                    "methods" : "any"
411                                }
412                            ]
413                        }
414                    ]
415                }
416            },
417            {
418                "credentials" : { "uid" : "8000", "gid" : "8000" },
419                "allow" :
420                {
421                    "requests":
422                    [
423                        {
424                            "service"  : "0x1234",
425                            "instances" : [
426                                {
427                                    "ids" : ["0x5678"],
428                                    "methods" : "any"
429                                }
430                            ]
431                        }
432                    ]
433                }
434            },
435            {
436                "credentials" : {
437                    "allow": [
438                        {
439                            "uid": [
440                                "9000"
441                            ],
442                            "gid": [
443                                "9000"
444                            ]
445                        }
446                    ]
447                },
448                "deny" :
449                {
450                }
451            }
452        ]
453    },
454    "security-update-whitelist" :
455    {
456        "uids" :
457        [
458            {"first" : "1000", "last" : "1008"},
459            {"first" : "1100", "last" : "1200"},
460            "2000",
461            "3000"
462        ],
463        "services" :
464        [
465            {"first" : "0x1234", "last" : "0x1238"},
466            {"first" : "0x2000", "last" : "0x2500"},
467            "0x7800"
468        ],
469        "check-whitelist" : "true"
470    },
471    "routing" : "my_application",
472    "routing-credentials" :
473    {
474        "uid" : "0x123",
475        "gid" : "0x456"
476    },
477    "service-discovery" :
478    {
479        "enable" : "true",
480        "protocol" : "udp",
481        "multicast" : "224.212.244.223",
482        "port" : "30666",
483        "initial_delay_min" : "1234",
484        "initial_delay_max" : "2345",
485        "repetitions_base_delay" : "4242",
486        "repetitions_max" : "4",
487        "ttl" : "13",
488        "cyclic_offer_delay" : "2132",
489        "request_response_delay" : "1111",
490        "offer_debounce_time" : "1000"
491    }
492}
493