Martin Mares 
							
						 
					 
					
						
						
							
						
						ed45f2e126 
					 
					
						
						
							
							Added functions for manipulating interface name pattern lists:  
						
						 
						
						... 
						
						
						
						o  iface_patt_match(list, iface) -- match interface against list
   o  iface_patts_equal(a, b, c) -- compare whether two pattern lists are
      equal or not. c(x,y) is called for comparison of protocol-dependent
      data. 
						
						
					 
					
						1998-11-29 22:01:03 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						bd5d0d62f1 
					 
					
						
						
							
							Allow setting debug value and `disabled' flag in protocol definition.  
						
						 
						
						
						
						
					 
					
						1998-11-29 14:40:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						0cf86f0fc3 
					 
					
						
						
							
							Renamed DEBUG' symbol to DEBUGGING' to prevent collisions with token  
						
						 
						
						... 
						
						
						
						names and include files. 
						
						
					 
					
						1998-11-29 14:38:34 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						7af99789c7 
					 
					
						
						
							
							Oops, forgot to remove a debugging kludge.  
						
						 
						
						
						
						
					 
					
						1998-11-27 21:34:03 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						0b62c3a7c7 
					 
					
						
						
							
							Trivial 15-line bison excercise: Implemented expressions including  
						
						 
						
						... 
						
						
						
						user-defined numeric symbols. Whenever possible, use `expr' instead
of `NUM' to get full express ion power :-) 
						
						
					 
					
						1998-11-27 21:32:45 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						c74c0e3cdf 
					 
					
						
						
							
							First attempt at protocol configuration (now done only for RIP).  
						
						 
						
						
						
						
					 
					
						1998-11-27 21:09:57 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						da87782278 
					 
					
						
						
							
							Parser fragment for the core. Now handles only router ID setting.  
						
						 
						
						
						
						
					 
					
						1998-11-27 19:37:57 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						fe7cec12e8 
					 
					
						
						
							
							Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.  
						
						 
						
						
						
						
					 
					
						1998-11-27 19:35:10 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						dafd580ed9 
					 
					
						
						
							
							Previous fix was wrong.  
						
						 
						
						
						
						
					 
					
						1998-10-26 15:24:32 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						db6984c43c 
					 
					
						
						
							
							rte_update: Doesn't loop forever when multiple routes point to the same  
						
						 
						
						... 
						
						
						
						destination. 
						
						
					 
					
						1998-10-26 15:01:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pavel Machek 
							
						 
					 
					
						
						
							
						
						feb6abe009 
					 
					
						
						
							
							RIP now actually talks to itself.  
						
						 
						
						
						
						
					 
					
						1998-10-20 16:12:43 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						8ca8683c70 
					 
					
						
						
							
							Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-)  
						
						 
						
						
						
						
					 
					
						1998-10-20 15:47:02 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						acc62f5e1d 
					 
					
						
						
							
							Insert/remove hooks return void, not int.  
						
						 
						
						
						
						
					 
					
						1998-10-20 15:17:38 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						a0762910a6 
					 
					
						
						
							
							Added pointer to network to RTE. The complications with passing NET separately  
						
						 
						
						... 
						
						
						
						aren't worth 4 bytes per RTE.
rte_discard and rte_dump don't need net * as parameter. 
						
						
					 
					
						1998-10-20 15:13:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						7d83290780 
					 
					
						
						
							
							Generate router_id automatically if possible (standard "smallest of local  
						
						 
						
						... 
						
						
						
						regular interface addresses" rule).
Protocols should NOT rely on router_id existence -- when router ID is not
available, the router_id variable is set to zero and protocols requiring
valid router ID should just refuse to start, reporting such error to the log. 
						
						
					 
					
						1998-10-19 18:13:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						36f2caf147 
					 
					
						
						
							
							Fixed generation of device routes for unnumbered point-to-point links.  
						
						 
						
						
						
						
					 
					
						1998-10-19 17:46:45 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						f184ea6f7e 
					 
					
						
						
							
							Proto struct now contain (down | starting | up) state.  
						
						 
						
						
						
						
					 
					
						1998-10-19 17:45:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						4c45595e3b 
					 
					
						
						
							
							o  FIB flags now available for FIB users.  
						
						 
						
						... 
						
						
						
						o  struct network: FIB flags used for kernel syncing.
o  struct network: `next' field deleted (historical relic). 
						
						
					 
					
						1998-10-18 22:24:41 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						3629bcf0c7 
					 
					
						
						
							
							Preconfig, postconfig and init hooks can be NULL.  
						
						 
						
						
						
						
					 
					
						1998-10-18 12:26:02 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						0432c0173b 
					 
					
						
						
							
							Split protocol init to building of protocol list and real protocol init.  
						
						 
						
						... 
						
						
						
						Added kernel route table syncer skeleton. 
						
						
					 
					
						1998-10-18 11:53:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						05e56feb57 
					 
					
						
						
							
							Removed global pointer to proto_dev.  
						
						 
						
						
						
						
					 
					
						1998-10-18 11:50:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						5b22683d2f 
					 
					
						
						
							
							After contemplating about RIP route timeouts for a long time, I've implemented  
						
						 
						
						... 
						
						
						
						protocol callbacks for route insertion and deletion from the central table.
RIP should maintain its own per-protocol queue of existing routes, scan it
periodically and call rte_discard() for routes that have timed out. 
						
						
					 
					
						1998-10-18 11:13:16 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						570ce189d7 
					 
					
						
						
							
							Implemented `route last modified' time.  
						
						 
						
						
						
						
					 
					
						1998-10-18 10:49:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						2a900b1b15 
					 
					
						
						
							
							Fixed misleading comment.  
						
						 
						
						
						
						
					 
					
						1998-10-17 11:26:28 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						7f3d198df1 
					 
					
						
						
							
							Each protocol now hears even its own routes and needs to make its own  
						
						 
						
						... 
						
						
						
						loop detection. This is needed since both RIP and OSPF handle multiple
neighbors and they need to redistribute routes learned from each neighbor
to the remaining ones. 
						
						
					 
					
						1998-10-17 11:24:13 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						47b793064c 
					 
					
						
						
							
							Solve chicken-and-egg problems with protocol startup. We now queue all inactive  
						
						 
						
						... 
						
						
						
						protocols and don't send route/interface updates to them and when they come up,
we resend the whole route/interface tables privately.
Removed the "scan interface list after protocol start" work-around. 
						
						
					 
					
						1998-10-17 11:05:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						8c43696da0 
					 
					
						
						
							
							Route update hook now gets network prefix as well as updated  
						
						 
						
						... 
						
						
						
						route attributes. 
						
						
					 
					
						1998-08-31 21:13:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pavel Machek 
							
						 
					 
					
						
						
							
						
						48b41d5811 
					 
					
						
						
							
							Do not segfault on iface == NULL.  
						
						 
						
						
						
						
					 
					
						1998-07-28 21:42:08 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Pavel Machek 
							
						 
					 
					
						
						
							
						
						87d2be86e5 
					 
					
						
						
							
							Adding proto_dump_all() function  
						
						 
						
						
						
						
					 
					
						1998-07-09 19:36:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						962ba482fd 
					 
					
						
						
							
							Use '%I' instead of dirty address printing hacks.  
						
						 
						
						
						
						
					 
					
						1998-06-17 14:36:02 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						620a355a15 
					 
					
						
						
							
							Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP  
						
						 
						
						... 
						
						
						
						only if it's really up. 
						
						
					 
					
						1998-06-04 20:30:11 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						236d4eb8ce 
					 
					
						
						
							
							FIB_WALK and friends are now slightly more friendly.  
						
						 
						
						
						
						
					 
					
						1998-06-04 20:29:44 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						66e53309ac 
					 
					
						
						
							
							Dumping of _static_ attributes implemented.  
						
						 
						
						
						
						
					 
					
						1998-06-04 20:29:05 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						b1e4f81485 
					 
					
						
						
							
							We have full interface routes now.  
						
						 
						
						
						
						
					 
					
						1998-06-04 20:28:43 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						0cdbd3975a 
					 
					
						
						
							
							Handle route deletion without segfaults. A bit more debug dumps.  
						
						 
						
						
						
						
					 
					
						1998-06-04 20:28:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						c5ffa44759 
					 
					
						
						
							
							Skeleton of device route protocol. As it's tightly coupled with our kernel,  
						
						 
						
						... 
						
						
						
						it sits here instead of `proto/dev'. 
						
						
					 
					
						1998-06-03 08:42:16 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						d9f330c5ff 
					 
					
						
						
							
							Protocol hooks. All of them may be NULL.  
						
						 
						
						
						
						
					 
					
						1998-06-03 08:40:10 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						7f4a39886c 
					 
					
						
						
							
							Basic protocol operations.  
						
						 
						
						
						
						
					 
					
						1998-06-03 08:38:53 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						a5f1a60e02 
					 
					
						
						
							
							Changed protocol declarations a bit.  
						
						 
						
						
						
						
					 
					
						1998-06-03 08:38:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						33beab4f6c 
					 
					
						
						
							
							Added configuration pool.  
						
						 
						
						
						
						
					 
					
						1998-06-03 08:36:34 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						4cc78c5082 
					 
					
						
						
							
							- Rewrote whole interface logic. Removed support for multiple addresses per  
						
						 
						
						... 
						
						
						
						interface since it makes much trouble everywhere. Instead, we understand
  secondary addresses as subinterfaces.
- In case interface addresses or basic flags change, we simply convert it
  to a down/up sequence.
- Implemented the universal neighbour cache. (Just forget what did previous
  includes say of neighbour caching, this one is brand new.) 
						
						
					 
					
						1998-06-01 21:41:11 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						fe82105e5d 
					 
					
						
						
							
							Debug messages.  
						
						 
						
						
						
						
					 
					
						1998-05-26 21:43:45 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						8a48ecb8b1 
					 
					
						
						
							
							Implemented scanning of network interfaces. Mostly very ugly code due to  
						
						 
						
						... 
						
						
						
						terrible kernel interface (SIOGIFCONF and friends). 
						
						
					 
					
						1998-05-26 21:42:05 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						ed68a5c6a4 
					 
					
						
						
							
							Resource pools are now named.  
						
						 
						
						
						
						
					 
					
						1998-05-26 21:37:37 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						6d45cf21be 
					 
					
						
						
							
							Added debug dump function, but it's still empty :(  
						
						 
						
						
						
						
					 
					
						1998-05-24 14:49:14 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						ded3ee6ddd 
					 
					
						
						
							
							protos_init, not proto_init.  
						
						 
						
						
						
						
					 
					
						1998-05-24 14:48:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						b53499cdaa 
					 
					
						
						
							
							Added interface index (used only by OS-dependent code since ifindexes itself  
						
						 
						
						... 
						
						
						
						are OS-dependent). 
						
						
					 
					
						1998-05-24 14:48:09 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						a2ccbb0b97 
					 
					
						
						
							
							Implemented timers. Using bird_clock_t for absolute time from now...  
						
						 
						
						
						
						
					 
					
						1998-05-24 14:40:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						235562ca5a 
					 
					
						
						
							
							Point-to-point links: added address of the opposite end.  
						
						 
						
						
						
						
					 
					
						1998-05-24 09:20:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						2326b001d6 
					 
					
						
						
							
							Added routing table and routing attribute code.  
						
						 
						
						
						
						
					 
					
						1998-05-20 11:54:33 +00:00