pfsync: Expose PFSYNCF_OK flag to userspace
Add 'syncok' field to ifconfig's pfsync interface output. This allows userspace to figure out when pfsync has completed the initial bulk import. Reviewed by: donner MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29948
This commit is contained in:
parent
5632f58535
commit
5f5bf88949
@ -206,7 +206,10 @@ pfsync_status(int s)
|
||||
if (preq.pfsyncr_syncdev[0] != '\0' ||
|
||||
preq.pfsyncr_syncpeer.s_addr != htonl(INADDR_PFSYNC_GROUP)) {
|
||||
printf("maxupd: %d ", preq.pfsyncr_maxupdates);
|
||||
printf("defer: %s\n", preq.pfsyncr_defer ? "on" : "off");
|
||||
printf("defer: %s\n",
|
||||
(preq.pfsyncr_defer & PFSYNCF_DEFER) ? "on" : "off");
|
||||
printf("\tsyncok: %d\n",
|
||||
(preq.pfsyncr_defer & PFSYNCF_OK) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -236,6 +236,8 @@ struct pfsyncreq {
|
||||
char pfsyncr_syncdev[IFNAMSIZ];
|
||||
struct in_addr pfsyncr_syncpeer;
|
||||
int pfsyncr_maxupdates;
|
||||
#define PFSYNCF_OK 0x00000001
|
||||
#define PFSYNCF_DEFER 0x00000002
|
||||
int pfsyncr_defer;
|
||||
};
|
||||
|
||||
|
@ -215,8 +215,6 @@ struct pfsync_softc {
|
||||
struct ip_moptions sc_imo;
|
||||
struct in_addr sc_sync_peer;
|
||||
uint32_t sc_flags;
|
||||
#define PFSYNCF_OK 0x00000001
|
||||
#define PFSYNCF_DEFER 0x00000002
|
||||
uint8_t sc_maxupdates;
|
||||
struct ip sc_template;
|
||||
struct mtx sc_mtx;
|
||||
@ -1375,8 +1373,7 @@ pfsyncioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
|
||||
}
|
||||
pfsyncr.pfsyncr_syncpeer = sc->sc_sync_peer;
|
||||
pfsyncr.pfsyncr_maxupdates = sc->sc_maxupdates;
|
||||
pfsyncr.pfsyncr_defer = (PFSYNCF_DEFER ==
|
||||
(sc->sc_flags & PFSYNCF_DEFER));
|
||||
pfsyncr.pfsyncr_defer = sc->sc_flags;
|
||||
PFSYNC_UNLOCK(sc);
|
||||
return (copyout(&pfsyncr, ifr_data_get_ptr(ifr),
|
||||
sizeof(pfsyncr)));
|
||||
|
Loading…
Reference in New Issue
Block a user