tcp: add sysctl interface for setting socket options
This interface allows to set a socket option on a TCP endpoint, which is specified by its inp_gencnt. This interface will be used in an upcoming command line tool tcpsso. Reviewed by: glebius, rrs Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D34138
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
#include <sys/proc.h>
|
||||
#include <sys/rwlock.h>
|
||||
#include <sys/smr.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <net/vnet.h>
|
||||
#include <vm/uma.h>
|
||||
#endif
|
||||
@@ -368,7 +369,18 @@ struct xinpgen {
|
||||
so_gen_t xig_sogen; /* socket generation count this time */
|
||||
uint64_t _xig_spare64[4];
|
||||
} __aligned(8);
|
||||
|
||||
struct sockopt_parameters {
|
||||
struct in_conninfo sop_inc;
|
||||
uint64_t sop_id;
|
||||
int sop_level;
|
||||
int sop_optname;
|
||||
char sop_optval[];
|
||||
};
|
||||
|
||||
#ifdef _KERNEL
|
||||
int sysctl_setsockopt(SYSCTL_HANDLER_ARGS, struct inpcbinfo *pcbinfo,
|
||||
int (*ctloutput_set)(struct inpcb *, struct sockopt *));
|
||||
void in_pcbtoxinpcb(const struct inpcb *, struct xinpcb *);
|
||||
#endif
|
||||
#endif /* _SYS_SOCKETVAR_H_ */
|
||||
|
||||
Reference in New Issue
Block a user