summaryrefslogtreecommitdiff
path: root/net/openospfd/files/patch-ospfd_ospfd.c
blob: 419eb4f77c37d83c5bed8438a788a2c5c3ca5cc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--- ospfd/ospfd.c.orig	2008-02-07 18:31:27.000000000 +0300
+++ ospfd/ospfd.c	2008-02-07 18:41:46.000000000 +0300
@@ -300,7 +300,9 @@
 
 	control_cleanup();
 	kr_shutdown();
+#if !defined(__FreeBSD__) /* XXX: FreeBSD has no carp demotion. */
 	carp_demote_shutdown();
+#endif /* defined(__FreeBSD__) */
 
 	do {
 		if ((pid = wait(NULL)) == -1 &&
@@ -398,10 +400,14 @@
 				log_warnx("IFINFO request with wrong len");
 			break;
 		case IMSG_DEMOTE:
+#if !defined(__FreeBSD__) /* XXX: FreeBSD has no carp demotion support. */
 			if (imsg.hdr.len - IMSG_HEADER_SIZE != sizeof(dmsg))
 				fatalx("invalid size of OE request");
 			memcpy(&dmsg, imsg.data, sizeof(dmsg));
 			carp_demote_set(dmsg.demote_group, dmsg.level);
+#else
+			log_debug("main_dispatch_ospfe: no carp demotion support for FreeBSD");
+#endif /* defined(__FreeBSD__) */
 			break;
 		default:
 			log_debug("main_dispatch_ospfe: error handling imsg %d",