You may configure your connection to ORe at the moment of establishing the connection by giving a correct l4ore_config struct to the
l4ore_open() call. Later you may re- configure the connection by calling
l4ore_get_config() and
l4ore_set_config().
The configuration contains rw- and ro-fields. rw means you can write to these fields and thereby manage your connection. ro-fields cannot be configured, although some ro-fields can be set up during l4ore_open() and will thereafter remain unchanged.
- rw_debug turns on debugging in ORe
- rw_broadcast enables your connection to receive broadcast packets as well as packets targetted at your unique MAC
- rw_active enables you to deactivate your connection for some time, all incoming packets will be dropped
- ro_keep_device_mac: can be set at l4ore_open() to signal to ORe that your application wishes to get the original NIC MAC address instead of a artificially generated one. This is however only possible for the first application requesting this. After the l4ore_open() you mach check if you received the original device MAC, by checking the value in this field. It cannot be changed anymore after l4ore_open().
- ro_send_ds: if set to a valid dataspace, this DS is used as a dataspace for sending packets through shared memory. Otherwise, ORe will send data with string IPC.
- ro_recv_ds: if set to a valid dataspace, this DS is used as a dataspace for receiving packets through shared memory. Otherwise, ORe will receive data using string IPC.
- ro_irq contains the NIC's IRQ
- ro_mtu contains the NIC's MTU
- ro_send_ctl_ds, ro_recv_ctl_ds the DSI control dataspaces for send/receive
- ro_send_ds_client_socketref the socketref for sending packets at client side
- ro_send_ds_ore_socketref the socketref for receiving packets from the client
- ro_recv_ds_client_socketref the socketref for receiving packets at the client
- ro_recv_ds_ore_socketref the socketref for sending packets to the client
You will not need to touch these fields if you are not using DSI.