uaodv-def.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef __UAODV_DEF_H__
00042 #define __UAODV_DEF_H__
00043
00044 #include "net/uip.h"
00045
00046 #define NUM_PRECURSORS 4
00047
00048
00049 #define UAODV_UDPPORT 654
00050
00051 #if 0
00052
00053 struct uaodv_rtentry {
00054 uip_ipaddr_t dest_addr;
00055 uip_ipaddr_t next_hop;
00056 uip_ipaddr_t precursors[NUM_PRECURSORS];
00057 u32_t dest_seqno;
00058 u16_t lifetime;
00059 u8_t dest_seqno_flag;
00060 u8_t route_flags;
00061 u8_t hop_count;
00062 };
00063 #endif
00064
00065
00066 struct uaodv_msg {
00067 u8_t type;
00068 };
00069
00070
00071 #define UAODV_RREQ_TYPE 1
00072 #define UAODV_RREQ_JOIN (1 << 7)
00073 #define UAODV_RREQ_REPAIR (1 << 6)
00074 #define UAODV_RREQ_GRATIOUS (1 << 5)
00075 #define UAODV_RREQ_DESTONLY (1 << 4)
00076 #define UAODV_RREQ_UNKSEQNO (1 << 3)
00077
00078 struct uaodv_msg_rreq {
00079 u8_t type;
00080 u8_t flags;
00081 u8_t reserved;
00082 u8_t hop_count;
00083 u32_t rreq_id;
00084 uip_ipaddr_t dest_addr;
00085 u32_t dest_seqno;
00086 uip_ipaddr_t orig_addr;
00087 u32_t orig_seqno;
00088 };
00089
00090
00091 #define UAODV_RREP_TYPE 2
00092 #define UAODV_RREP_REPAIR (1 << 7)
00093 #define UAODV_RREP_ACK (1 << 6)
00094
00095 struct uaodv_msg_rrep {
00096 u8_t type;
00097 u8_t flags;
00098 u8_t prefix_sz;
00099 u8_t hop_count;
00100 uip_ipaddr_t dest_addr;
00101 u32_t dest_seqno;
00102 uip_ipaddr_t orig_addr;
00103 u32_t lifetime;
00104 };
00105
00106
00107 #define UAODV_RERR_TYPE 3
00108 #define UAODV_RERR_NODELETE (1 << 7)
00109 #define UAODV_RERR_UNKNOWN (1 << 6)
00110
00111 struct uaodv_msg_rerr {
00112 u8_t type;
00113 u8_t flags;
00114 u8_t reserved;
00115 u8_t dest_count;
00116 struct {
00117 uip_ipaddr_t addr;
00118 u32_t seqno;
00119 } unreach[1];
00120 };
00121
00122
00123 #define UAODV_RREP_ACK_TYPE 4
00124
00125 struct uaodv_msg_rrep_ack {
00126 u8_t type;
00127 u8_t reserved;
00128 };
00129
00130 #define RREP_HELLO_INTERVAL_EXT 1
00131 #define RREQ_BAD_HOP_EXT 101
00132
00133 struct uaodv_extension {
00134 u8_t type;
00135 u8_t length;
00136
00137 };
00138
00139 struct uaodv_bad_hop_ext {
00140 u8_t type;
00141 u8_t length;
00142 u8_t unused1, unused2;
00143 uip_ipaddr_t addrs[1];
00144 };
00145
00146 #endif