netfilter: nf_conntrack: show helper and class in /proc/net/nf_conntrack_expect
Make the output a bit more informative by showing the helper an expectation belongs to and the expectation class. Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
d1e7a03f4f
commit
b87921bdf2
@ -66,6 +66,7 @@ static inline struct net *nf_ct_exp_net(struct nf_conntrack_expect *exp)
|
|||||||
struct nf_conntrack_expect_policy {
|
struct nf_conntrack_expect_policy {
|
||||||
unsigned int max_expected;
|
unsigned int max_expected;
|
||||||
unsigned int timeout;
|
unsigned int timeout;
|
||||||
|
const char *name;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NF_CT_EXPECT_CLASS_DEFAULT 0
|
#define NF_CT_EXPECT_CLASS_DEFAULT 0
|
||||||
|
@ -500,6 +500,7 @@ static void exp_seq_stop(struct seq_file *seq, void *v)
|
|||||||
static int exp_seq_show(struct seq_file *s, void *v)
|
static int exp_seq_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct nf_conntrack_expect *expect;
|
struct nf_conntrack_expect *expect;
|
||||||
|
struct nf_conntrack_helper *helper;
|
||||||
struct hlist_node *n = v;
|
struct hlist_node *n = v;
|
||||||
char *delim = "";
|
char *delim = "";
|
||||||
|
|
||||||
@ -525,6 +526,14 @@ static int exp_seq_show(struct seq_file *s, void *v)
|
|||||||
if (expect->flags & NF_CT_EXPECT_INACTIVE)
|
if (expect->flags & NF_CT_EXPECT_INACTIVE)
|
||||||
seq_printf(s, "%sINACTIVE", delim);
|
seq_printf(s, "%sINACTIVE", delim);
|
||||||
|
|
||||||
|
helper = rcu_dereference(nfct_help(expect->master)->helper);
|
||||||
|
if (helper) {
|
||||||
|
seq_printf(s, "%s%s", expect->flags ? " " : "", helper->name);
|
||||||
|
if (helper->expect_policy[expect->class].name)
|
||||||
|
seq_printf(s, "/%s",
|
||||||
|
helper->expect_policy[expect->class].name);
|
||||||
|
}
|
||||||
|
|
||||||
return seq_putc(s, '\n');
|
return seq_putc(s, '\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1305,14 +1305,17 @@ static char sip_names[MAX_PORTS][2][sizeof("sip-65535")] __read_mostly;
|
|||||||
|
|
||||||
static const struct nf_conntrack_expect_policy sip_exp_policy[SIP_EXPECT_MAX + 1] = {
|
static const struct nf_conntrack_expect_policy sip_exp_policy[SIP_EXPECT_MAX + 1] = {
|
||||||
[SIP_EXPECT_SIGNALLING] = {
|
[SIP_EXPECT_SIGNALLING] = {
|
||||||
|
.name = "signalling",
|
||||||
.max_expected = 1,
|
.max_expected = 1,
|
||||||
.timeout = 3 * 60,
|
.timeout = 3 * 60,
|
||||||
},
|
},
|
||||||
[SIP_EXPECT_AUDIO] = {
|
[SIP_EXPECT_AUDIO] = {
|
||||||
|
.name = "audio",
|
||||||
.max_expected = 2 * IP_CT_DIR_MAX,
|
.max_expected = 2 * IP_CT_DIR_MAX,
|
||||||
.timeout = 3 * 60,
|
.timeout = 3 * 60,
|
||||||
},
|
},
|
||||||
[SIP_EXPECT_VIDEO] = {
|
[SIP_EXPECT_VIDEO] = {
|
||||||
|
.name = "video",
|
||||||
.max_expected = 2 * IP_CT_DIR_MAX,
|
.max_expected = 2 * IP_CT_DIR_MAX,
|
||||||
.timeout = 3 * 60,
|
.timeout = 3 * 60,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user