sock_diag: Introduce new message type
This type will run the family+protocol based socket dumping. Also prepare the stub function for it. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7f1fb60c4f
commit
8d34172dfd
|
@ -6,6 +6,7 @@
|
|||
/* Just some random number */
|
||||
#define TCPDIAG_GETSOCK 18
|
||||
#define DCCPDIAG_GETSOCK 19
|
||||
#define SOCK_DIAG_BY_FAMILY 20
|
||||
|
||||
#define INET_DIAG_GETSOCK_MAX 24
|
||||
|
||||
|
|
|
@ -850,7 +850,7 @@ unlock:
|
|||
return skb->len;
|
||||
}
|
||||
|
||||
static int inet_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
static int inet_diag_rcv_msg_compat(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
{
|
||||
int hdrlen = sizeof(struct inet_diag_req);
|
||||
|
||||
|
@ -877,9 +877,22 @@ static int inet_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|||
return inet_diag_get_exact(skb, nlh);
|
||||
}
|
||||
|
||||
static int __sock_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static int sock_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
{
|
||||
return inet_diag_rcv_msg(skb, nlh);
|
||||
switch (nlh->nlmsg_type) {
|
||||
case TCPDIAG_GETSOCK:
|
||||
case DCCPDIAG_GETSOCK:
|
||||
return inet_diag_rcv_msg_compat(skb, nlh);
|
||||
case SOCK_DIAG_BY_FAMILY:
|
||||
return __sock_diag_rcv_msg(skb, nlh);
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
static DEFINE_MUTEX(sock_diag_mutex);
|
||||
|
|
Loading…
Reference in New Issue