diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h
index 4d3099a781a..e09646d6047 100644
--- a/sys/netinet/ip_fw.h
+++ b/sys/netinet/ip_fw.h
@@ -141,6 +141,28 @@ typedef struct _ip_fw3_opheader {
#define IP_FW_NAT64CLAT_STATS 164 /* Get NAT64CLAT instance statistics */
#define IP_FW_NAT64CLAT_RESET_STATS 165 /* Reset NAT64CLAT instance statistics */
+#define IP_FW_SYNC_XCONFIG 171 /* Create/modify sync instance */
+#define IP_FW_SYNC_DESTROY 172 /* Destroys sync instance */
+#define IP_FW_SYNC_XGETCONFIG 173 /* Get sync instance config */
+#define IP_FW_SYNC_LIST 174 /* List of exported states */
+#define IP_FW_SYNC_START 175 /* Start of sync service */
+#define IP_FW_SYNC_STOP 176 /* Stop of sync service */
+
+struct ipfw_sync_cfg {
+ char name[64];
+ u_char mode;
+ u_char addrs;
+ struct cfg_addr {
+ union {
+ struct sockaddr addr;
+ struct sockaddr_in ip4;
+ struct sockaddr_in6 ip6;
+ };
+ } addr[3];
+};
+#define CFG_SYNC_EDGE 1
+#define CFG_SYNC_COLLECTOR 2
+
/*
* The kernel representation of ipfw rules is made of a list of
* 'instructions' (for all practical purposes equivalent to BPF
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>