mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 01:43:38 +00:00 
			
		
		
		
	Change zebra so that it can optionally use protobuf serialization when
communicating with a Forwarding Plane Manager component.
  * zebra/main.c
    Add the --fpm-format/-F command line option. This allows the user
    to control the format (protbuf|netlink) that is used to
    communicate with the FPM.
  * zebra/zebra_fpm.c
    - zebra_init_msg_format(),
      This new function is invoked on process startup to determine the
      FPM format that should be used.
    - zfpm_init()
      Change to accept any 'FPM message format' specified by the user
      (via the new command line flag).
    - zebra_encode_route()
      Tweak to use the selected FPM format.
  * zebra_fpm_protobuf.c
    New code to build protobuf messages to be sent to the FPM.
  * zebra/Makefile.am
    - Include common.am
    - Build new file zebra_fpm_protobuf.c when protobuf is available.
    - Link with the fpm_pb library.
Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>
		
	
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Header file exported by the zebra FPM module to zebra.
 | 
						|
 *
 | 
						|
 * Copyright (C) 2012 by Open Source Routing.
 | 
						|
 * Copyright (C) 2012 by Internet Systems Consortium, Inc. ("ISC")
 | 
						|
 *
 | 
						|
 * This file is part of GNU Zebra.
 | 
						|
 *
 | 
						|
 * GNU Zebra is free software; you can redistribute it and/or modify it
 | 
						|
 * under the terms of the GNU General Public License as published by
 | 
						|
 * the Free Software Foundation; either version 2, or (at your option)
 | 
						|
 * any later version.
 | 
						|
 *
 | 
						|
 * GNU Zebra 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 GNU Zebra; see the file COPYING.  If not, write to the
 | 
						|
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
						|
 * Boston, MA 02111-1307, USA.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _ZEBRA_FPM_H
 | 
						|
#define _ZEBRA_FPM_H
 | 
						|
 | 
						|
/*
 | 
						|
 * Externs.
 | 
						|
 */
 | 
						|
extern int zfpm_init (struct thread_master *master, int enable, uint16_t port,
 | 
						|
		      const char *message_format);
 | 
						|
extern void zfpm_trigger_update (struct route_node *rn, const char *reason);
 | 
						|
extern int fpm_remote_srv_write (struct vty *vty);
 | 
						|
 | 
						|
#endif /* _ZEBRA_FPM_H */
 |