9427 Commits

Author SHA1 Message Date
Matthias Ringwald
77a189f13e mesh: fix unit test 2019-07-20 08:50:26 +02:00
Matthias Ringwald
b2f661151c mesh: fix unit test 2019-07-20 08:50:26 +02:00
Matthias Ringwald
35d8c536f6 mesh: notify upper transport upon lower layer send result 2019-07-20 08:50:26 +02:00
Matthias Ringwald
739db865e3 mesh: serialize outgoing segmented pdus 2019-07-20 08:50:26 +02:00
Matthias Ringwald
eec73b5b18 mesh: process outgoing lower transport pdus via queue 2019-07-20 08:50:26 +02:00
Matthias Ringwald
8b5057468e mesh: introduce mesh_lower_transport_send_unsegmented_pdu 2019-07-20 08:50:26 +02:00
Matthias Ringwald
c2cb6fe265 mesh: use operations table for dispatch and verify minimum packet length 2019-07-20 08:50:26 +02:00
Matthias Ringwald
5d8a229f63 mesh: dispatch based on access opcode 2019-07-20 08:50:26 +02:00
Matthias Ringwald
bb48ee9427 mesh: no heartbeat for dest = unsassigned 2019-07-20 08:50:26 +02:00
Matthias Ringwald
decffc850a mesh: send periodic Heartbeat transport messages 2019-07-20 08:50:26 +02:00
Matthias Ringwald
a191a5d411 mesh: add mesh_transport_opcode enum 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ce9f4b071c mesh: avoid double free of outgoing message segmented by keeping a fixed single network pdu 2019-07-20 08:50:26 +02:00
Matthias Ringwald
3c43c8e992 mesh: minimal processing of config heartbeat publication get/set 2019-07-20 08:50:26 +02:00
Matthias Ringwald
85244c5aac mesh: extract mesh_virtual_addresses 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ded0e91f25 mesh: extract mesh_keys that handles application and device keys 2019-07-20 08:50:26 +02:00
Matthias Ringwald
af284ae735 mesh: fix mesh_transport_key_and_virtual_address_iterator for non-virtual addresses 2019-07-20 08:50:26 +02:00
Matthias Ringwald
2cde18b9e1 mesh: implement iterator for virtual adresses and for transport keys, implement iterator over cartesion product of keys x virtual addresses 2019-07-20 08:50:26 +02:00
Matthias Ringwald
7ea7698ec4 mesh: limit resend of outgoing and unacknowledted segments 2019-07-20 08:50:26 +02:00
Matthias Ringwald
553e128c6f mesh: set primary element address in lower transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
2e3a410f6f mesh: fix format of Config Model Publication Status 2019-07-20 08:50:26 +02:00
Matthias Ringwald
796f25b442 mesh: respond to config_model_publication_virtual_address_add 2019-07-20 08:50:26 +02:00
Matthias Ringwald
1d36037326 mesh: add mesh_lower_transport_set_higher_layer_handler to avaoid calling upper transport directly 2019-07-20 08:50:26 +02:00
Matthias Ringwald
bdcf830af3 mesh: init mesh_lower_transport in mesh_message_test 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ee9fbd2509 mesh: remove unused prototypes from mesh_transport.h 2019-07-20 08:50:26 +02:00
Matthias Ringwald
1014d1cc53 mesh: fix comment typo 2019-07-20 08:50:26 +02:00
Matthias Ringwald
6ed0bd5c68 mesh: fix mesh_lower_transport_run logic 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ed7fbd43a3 mesh: fix warning 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f33895f322 mesh: extract mesh_lower_transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f4e1709172 mesh: complete split-off for lower transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
5a46508a34 mesh: single queue for received upper transport messages, new mesh_lower_transport_message_processed_by_higher_layer 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f46b7bdedf mesh: add mesh_pdu_type_t to mesh_network_pdu_t and mesh_transport_pdu_t, use mesh_network/transport_get/free to set pdu type on alloc 2019-07-20 08:50:26 +02:00
Matthias Ringwald
2a8034828b mesh: sort mesh_transprot into lower and upper transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
f3f54aca9a mesh: reconstruct SeqAuth from network seq and seq_zero 2019-07-20 08:50:26 +02:00
Matthias Ringwald
257edf9b97 mesh: extract mesh_peer from mesh_transport 2019-07-20 08:50:26 +02:00
Matthias Ringwald
14476d0514 mesh: handle config_model_subscription_virtual_address_add 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ac529a2ab2 mesh: use seq_zero to reconstruct SeqAuth for App / Device nonce 2019-07-20 08:50:26 +02:00
Matthias Ringwald
86409f1d2c mesh: set lsb of iv index for segmented access messsages 2019-07-20 08:50:26 +02:00
Matthias Ringwald
ddf5aebd1d mesh: send config model app status on config model app bind 2019-07-20 08:50:25 +02:00
Matthias Ringwald
b1d149f5f6 mesh: fix transport setup 2019-07-20 08:50:25 +02:00
Matthias Ringwald
5b12dba14e mesh: define unsassigned mesh address 2019-07-20 08:50:25 +02:00
Matthias Ringwald
93a94cc802 mesh: inline seq and seq_zero validation 2019-07-20 08:50:25 +02:00
Matthias Ringwald
c88da99af5 mesh: replace test_transport_pdu by transport_pdu in peer info 2019-07-20 08:50:25 +02:00
Matthias Ringwald
707df8d95d mesh: reset test_transport_pdu when message is complete 2019-07-20 08:50:25 +02:00
Matthias Ringwald
8e385fa075 mesh: use block_ack from peer info for completed transport messages 2019-07-20 08:50:25 +02:00
Matthias Ringwald
6b0bede0ef mesh: store block_ack in peer info 2019-07-20 08:50:25 +02:00
Matthias Ringwald
1d1c93c5a3 mesh: provide CMakeLists.txt for test/mesh 2019-07-20 08:50:25 +02:00
Matthias Ringwald
dac954f28c mesh: fix includes in gatt_bearer 2019-07-20 08:50:25 +02:00
Matthias Ringwald
2a0ab8c231 mesh: use replay protection list 2019-07-20 08:50:25 +02:00
Matthias Ringwald
16753ea2f9 mesh: handle network messages where IVI field indicates previous IV Index 2019-07-20 08:50:25 +02:00
Matthias Ringwald
5e31cfbcf4 mesh: send Config Model App Status for Config Model App Bind 2019-07-20 08:50:25 +02:00