| 
									
										
										
										
											1999-11-17 15:50:41 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *      BIRD -- OSPF | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2004-06-26 20:15:34 +00:00
										 |  |  |  *      (c) 1999--2004 Ondrej Filip <feela@network.cz> | 
					
						
							| 
									
										
										
										
											1999-11-17 15:50:41 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  *      Can be freely distributed and used under the terms of the GNU GPL. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef _BIRD_OSPF_PACKET_H_
 | 
					
						
							|  |  |  | #define _BIRD_OSPF_PACKET_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-26 20:15:34 +00:00
										 |  |  | void ospf_pkt_fill_hdr(struct ospf_iface *ifa, void *buf, u8 h_type); | 
					
						
							|  |  |  | unsigned ospf_pkt_maxsize(struct ospf_iface *ifa); | 
					
						
							| 
									
										
										
										
											2004-06-06 09:37:54 +00:00
										 |  |  | int ospf_rx_hook(sock * sk, int size); | 
					
						
							|  |  |  | void ospf_tx_hook(sock * sk); | 
					
						
							|  |  |  | void ospf_err_hook(sock * sk, int err); | 
					
						
							| 
									
										
										
										
											2009-09-04 11:06:51 +02:00
										 |  |  | void ospf_send_to_agt(struct ospf_iface *ifa, u8 state); | 
					
						
							|  |  |  | void ospf_send_to_bdr(struct ospf_iface *ifa); | 
					
						
							|  |  |  | void ospf_send_to(struct ospf_iface *ifa, ip_addr ip); | 
					
						
							| 
									
										
										
										
											2004-06-25 16:39:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-14 11:47:41 +02:00
										 |  |  | static inline void ospf_send_to_all(struct ospf_iface *ifa) { ospf_send_to(ifa, ifa->all_routers); } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 18:07:24 +01:00
										 |  |  | static inline void * ospf_tx_buffer(struct ospf_iface *ifa) { return ifa->sk->tbuf; } | 
					
						
							| 
									
										
										
										
											1999-11-17 15:50:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-04 17:22:43 +01:00
										 |  |  | static inline unsigned | 
					
						
							|  |  |  | ospf_pkt_bufsize(struct ospf_iface *ifa) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | #ifdef OSPFv2
 | 
					
						
							|  |  |  |   unsigned headers = (ifa->autype == OSPF_AUTH_CRYPT) ? OSPF_AUTH_CRYPT_SIZE : 0; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  |   unsigned headers = 0; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return ifa->sk->tbsize - headers; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-11-17 15:50:41 +00:00
										 |  |  | #endif /* _BIRD_OSPF_PACKET_H_ */
 |