]> git.proxmox.com Git - mirror_frr.git/blobdiff - babeld/message.h
zebra: Refactor kernel_rtm to be a bit smarter about how it handles options
[mirror_frr.git] / babeld / message.h
index 1626a887a43070bb9bab765ba124fa7d77ab5a99..2410a8c3088a12612bb9157508e444fe28efda62 100644 (file)
@@ -1,20 +1,4 @@
-/*  
- *  This file is free software: you may copy, redistribute and/or modify it  
- *  under the terms of the GNU General Public License as published by the  
- *  Free Software Foundation, either version 2 of the License, or (at your  
- *  option) any later version.  
- *  
- *  This file is distributed in the hope that it will be useful, but  
- *  WITHOUT ANY WARRANTY; without even the implied warranty of  
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  
- *  General Public License for more details.  
- *  
- *  You should have received a copy of the GNU General Public License  
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  
- *  
- * This file incorporates work covered by the following copyright and  
- * permission notice:  
- *  
+/*
 Copyright (c) 2007, 2008 by Juliusz Chroboczek
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -46,6 +30,9 @@ THE SOFTWARE.
 #define BUCKET_TOKENS_MAX 200
 #define BUCKET_TOKENS_PER_SEC 40
 
+/* A registry of assigned TLV and sub-TLV types is available at
+   http://www.pps.univ-paris-diderot.fr/~jch/software/babel/babel-tlv-registry.text
+*/
 #define MESSAGE_PAD1 0
 #define MESSAGE_PADN 1
 #define MESSAGE_ACK_REQ 2
@@ -57,17 +44,19 @@ THE SOFTWARE.
 #define MESSAGE_UPDATE 8
 #define MESSAGE_REQUEST 9
 #define MESSAGE_MH_REQUEST 10
+#define MESSAGE_MAX 10
 
+/* Protocol extension through sub-TLVs. */
+#define SUBTLV_PAD1 0
+#define SUBTLV_PADN 1
+#define SUBTLV_DIVERSITY 2 /* Also known as babelz. */
+#define SUBTLV_TIMESTAMP 3 /* Used to compute RTT. */
 
 extern unsigned short myseqno;
-extern struct timeval seqno_time;
 
-extern int parasitic;
 extern int broadcast_ihu;
 extern int split_horizon;
 
-extern unsigned char packet_header[4];
-
 extern struct neighbour *unicast_neighbour;
 extern struct timeval unicast_flush_timeout;