ss: Replace pktstat struct by new sockstat struct
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
This commit is contained in:
parent
055840f27f
commit
89f634f917
33
misc/ss.c
33
misc/ss.c
|
|
@ -693,6 +693,8 @@ static const char *sstate_namel[] = {
|
||||||
|
|
||||||
struct sockstat
|
struct sockstat
|
||||||
{
|
{
|
||||||
|
uint8_t type;
|
||||||
|
uint16_t prot;
|
||||||
inet_prefix local;
|
inet_prefix local;
|
||||||
inet_prefix remote;
|
inet_prefix remote;
|
||||||
int lport;
|
int lport;
|
||||||
|
|
@ -2731,29 +2733,18 @@ static int unix_show(struct filter *f)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct pktstat {
|
static int packet_stats_print(struct sockstat *s, const struct filter *f)
|
||||||
uint8_t type;
|
|
||||||
uint16_t prot;
|
|
||||||
uint32_t iface;
|
|
||||||
int state;
|
|
||||||
uint32_t rq;
|
|
||||||
uid_t uid;
|
|
||||||
ino_t ino;
|
|
||||||
};
|
|
||||||
|
|
||||||
static int packet_stats_print(struct pktstat *s, const struct filter *f)
|
|
||||||
{
|
{
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
|
|
||||||
if (f->f) {
|
if (f->f) {
|
||||||
struct sockstat st;
|
s->local.family = AF_PACKET;
|
||||||
st.local.family = AF_PACKET;
|
s->remote.family = AF_PACKET;
|
||||||
st.remote.family = AF_PACKET;
|
s->rport = 0;
|
||||||
st.rport = 0;
|
s->lport = s->iface;
|
||||||
st.lport = s->iface;
|
s->local.data[0] = s->prot;
|
||||||
st.local.data[0] = s->prot;
|
s->remote.data[0] = 0;
|
||||||
st.remote.data[0] = 0;
|
if (run_ssfilter(f->f, s) == 0)
|
||||||
if (run_ssfilter(f->f, &st) == 0)
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2802,7 +2793,7 @@ static int packet_show_sock(const struct sockaddr_nl *addr,
|
||||||
const struct filter *f = arg;
|
const struct filter *f = arg;
|
||||||
struct packet_diag_msg *r = NLMSG_DATA(nlh);
|
struct packet_diag_msg *r = NLMSG_DATA(nlh);
|
||||||
struct rtattr *tb[PACKET_DIAG_MAX+1];
|
struct rtattr *tb[PACKET_DIAG_MAX+1];
|
||||||
struct pktstat stat = {};
|
struct sockstat stat = {};
|
||||||
|
|
||||||
parse_rtattr(tb, PACKET_DIAG_MAX, (struct rtattr*)(r+1),
|
parse_rtattr(tb, PACKET_DIAG_MAX, (struct rtattr*)(r+1),
|
||||||
nlh->nlmsg_len - NLMSG_LENGTH(sizeof(*r)));
|
nlh->nlmsg_len - NLMSG_LENGTH(sizeof(*r)));
|
||||||
|
|
@ -2871,7 +2862,7 @@ static int packet_show_netlink(struct filter *f)
|
||||||
static int packet_show_line(char *buf, const struct filter *f, int fam)
|
static int packet_show_line(char *buf, const struct filter *f, int fam)
|
||||||
{
|
{
|
||||||
unsigned long long sk;
|
unsigned long long sk;
|
||||||
struct pktstat stat = {};
|
struct sockstat stat = {};
|
||||||
int type, prot, iface, state, rq, uid, ino;
|
int type, prot, iface, state, rq, uid, ino;
|
||||||
|
|
||||||
sscanf(buf, "%llx %*d %d %x %d %d %u %u %u",
|
sscanf(buf, "%llx %*d %d %x %d %d %u %u %u",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue