sctp: Make the mib per network namespace
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Acked-by: Vlad Yasevich <vyasevich@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bb2db45b54
commit
b01a24078f
13 changed files with 158 additions and 119 deletions
|
|
@ -326,7 +326,9 @@ static void sctp_ulpq_store_reasm(struct sctp_ulpq *ulpq,
|
|||
* payload was fragmented on the way and ip had to reassemble them.
|
||||
* We add the rest of skb's to the first skb's fraglist.
|
||||
*/
|
||||
static struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff_head *queue, struct sk_buff *f_frag, struct sk_buff *l_frag)
|
||||
static struct sctp_ulpevent *sctp_make_reassembled_event(struct net *net,
|
||||
struct sk_buff_head *queue, struct sk_buff *f_frag,
|
||||
struct sk_buff *l_frag)
|
||||
{
|
||||
struct sk_buff *pos;
|
||||
struct sk_buff *new = NULL;
|
||||
|
|
@ -394,7 +396,7 @@ static struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff_head *qu
|
|||
}
|
||||
|
||||
event = sctp_skb2event(f_frag);
|
||||
SCTP_INC_STATS(SCTP_MIB_REASMUSRMSGS);
|
||||
SCTP_INC_STATS(net, SCTP_MIB_REASMUSRMSGS);
|
||||
|
||||
return event;
|
||||
}
|
||||
|
|
@ -493,7 +495,8 @@ static struct sctp_ulpevent *sctp_ulpq_retrieve_reassembled(struct sctp_ulpq *ul
|
|||
cevent = sctp_skb2event(pd_first);
|
||||
pd_point = sctp_sk(asoc->base.sk)->pd_point;
|
||||
if (pd_point && pd_point <= pd_len) {
|
||||
retval = sctp_make_reassembled_event(&ulpq->reasm,
|
||||
retval = sctp_make_reassembled_event(sock_net(asoc->base.sk),
|
||||
&ulpq->reasm,
|
||||
pd_first,
|
||||
pd_last);
|
||||
if (retval)
|
||||
|
|
@ -503,7 +506,8 @@ static struct sctp_ulpevent *sctp_ulpq_retrieve_reassembled(struct sctp_ulpq *ul
|
|||
done:
|
||||
return retval;
|
||||
found:
|
||||
retval = sctp_make_reassembled_event(&ulpq->reasm, first_frag, pos);
|
||||
retval = sctp_make_reassembled_event(sock_net(ulpq->asoc->base.sk),
|
||||
&ulpq->reasm, first_frag, pos);
|
||||
if (retval)
|
||||
retval->msg_flags |= MSG_EOR;
|
||||
goto done;
|
||||
|
|
@ -563,7 +567,8 @@ static struct sctp_ulpevent *sctp_ulpq_retrieve_partial(struct sctp_ulpq *ulpq)
|
|||
* further.
|
||||
*/
|
||||
done:
|
||||
retval = sctp_make_reassembled_event(&ulpq->reasm, first_frag, last_frag);
|
||||
retval = sctp_make_reassembled_event(sock_net(ulpq->asoc->base.sk),
|
||||
&ulpq->reasm, first_frag, last_frag);
|
||||
if (retval && is_last)
|
||||
retval->msg_flags |= MSG_EOR;
|
||||
|
||||
|
|
@ -655,7 +660,8 @@ static struct sctp_ulpevent *sctp_ulpq_retrieve_first(struct sctp_ulpq *ulpq)
|
|||
* further.
|
||||
*/
|
||||
done:
|
||||
retval = sctp_make_reassembled_event(&ulpq->reasm, first_frag, last_frag);
|
||||
retval = sctp_make_reassembled_event(sock_net(ulpq->asoc->base.sk),
|
||||
&ulpq->reasm, first_frag, last_frag);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue