Contiki 2.5
|
implementation of flood routing More...
#include <string.h>
#include "net/netstack.h"
#include "net/rime/rimeaddr.h"
#include "lib/list.h"
#include "lib/memb.h"
#include "contiki.h"
#include "clock.h"
#include "logging.h"
#include "bundle.h"
#include "storage.h"
#include "sdnv.h"
#include "agent.h"
#include "discovery.h"
#include "statistics.h"
#include "bundleslot.h"
#include "delivery.h"
#include "convergence_layer.h"
#include "registration.h"
#include "routing.h"
Go to the source code of this file.
Macros | |
#define | FLOOD_ROUTE_RETURN_OK 1 |
Internally used return values. | |
Functions | |
PROCESS (routing_process,"FLOOD ROUTE process") | |
Routing process. | |
void | routing_flooding_send_to_known_neighbours (void) |
iterate through all bundles and forward bundles More... | |
void | routing_flooding_check_keep_bundle (uint32_t bundle_number) |
Checks whether a bundle still has to be kept or can be deleted. More... | |
int | routing_flooding_blacklist_add (rimeaddr_t *neighbour) |
Adds (or refreshes) the entry of 'neighbour' on the blacklist. More... | |
void | routing_flooding_blacklist_delete (rimeaddr_t *neighbour) |
Deletes a neighbour from the blacklist. More... | |
void | routing_flooding_init (void) |
called by agent at startup | |
void | routing_flooding_schedule_resubmission (void) |
Poll our process, so that we can resubmit bundles. | |
void | routing_flooding_new_neighbour (rimeaddr_t *dest) |
checks if there are bundle to send to dest More... | |
int | routing_flooding_send_bundle (uint32_t bundle_number, rimeaddr_t *neighbour) |
Send bundle to neighbour. More... | |
int | routing_flooding_send_to_local (struct routing_entry_t *entry) |
Deliver a bundle to a local service. More... | |
int | routing_flooding_forward_directly (struct routing_entry_t *entry) |
Forward a bundle to its destination. More... | |
int | routing_flooding_forward_normal (struct routing_entry_t *entry) |
Forward a bundle to the next hop. More... | |
void | routing_flooding_resubmit_bundles () |
Wrapper function for agent calls to resubmit bundles for already known neighbours. | |
int | routing_flooding_new_bundle (uint32_t *bundle_number) |
Adds a new bundle to the list of bundles. More... | |
void | routing_flooding_delete_bundle (uint32_t bundle_number) |
deletes bundle from list More... | |
void | routing_flooding_bundle_sent (struct transmit_ticket_t *ticket, uint8_t status) |
Callback function informing us about the status of a sent bundle. More... | |
void | routing_flooding_bundle_delivered_locally (struct mmem *bundlemem) |
Incoming notification, that service has finished processing bundle. More... | |
PROCESS_THREAD (routing_process, ev, data) | |
Routing persistent process. | |
Variables | |
struct routing_list_entry_t * | next |
pointer to the next entry | |
struct mmem | entry |
pointer to MMEM containing the routing_entry_t | |
uint32_t | bundle_number |
number of the bundle | |
uint8_t | flags |
bundle flags | |
uint8_t | send_to |
number of nodes the bundle has been sent to already | |
rimeaddr_t | neighbours [ROUTING_NEI_MEM] |
addresses of nodes this bundle was sent to | |
uint32_t | destination_node |
bundle destination | |
uint32_t | source_node |
bundle source | |
rimeaddr_t | received_from_node |
neighbour from which we have received the bundle | |
implementation of flood routing
Definition in file routing_flooding.c.