public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* modifying struct sk_buff
@ 2004-06-04  1:03 Sushant Sharma
  2004-06-04 12:36 ` Bart Trojanowski
  0 siblings, 1 reply; 4+ messages in thread
From: Sushant Sharma @ 2004-06-04  1:03 UTC (permalink / raw)
  To: linux-kernel

Hi
I want to add a new member (say uint32_t) in the
struct sk_buff{...}
in the file include/linux/skbuff.h.

If i add this new member and I want to assign it
some value when ever function
struct sk_buff *alloc_skb(unsigned int *size,* int gfp_mask)
in file
net/core/skbuff.c
is called
Do I need to allocate memory for this member
(  ie add sizeof(_new-member_) to *size* while doing kmalloc()  )
or I should not worry abt that and I can assign some value
to this _new-member_ every time this function is called.

Thanks
Sushant


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: modifying struct sk_buff
  2004-06-04  1:03 modifying struct sk_buff Sushant Sharma
@ 2004-06-04 12:36 ` Bart Trojanowski
  2004-06-04 18:47   ` Sharma Sushant
  0 siblings, 1 reply; 4+ messages in thread
From: Bart Trojanowski @ 2004-06-04 12:36 UTC (permalink / raw)
  To: Sushant Sharma; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]

* Sushant Sharma <sushant@cs.unm.edu> [040603 20:24]:
> Hi
> I want to add a new member (say uint32_t) in the
> struct sk_buff{...}
> in the file include/linux/skbuff.h.
<snip>
> Do I need to allocate memory for this member
> (  ie add sizeof(_new-member_) to *size* while doing kmalloc()  )

Hi Sushant,

I think you are confusing the allocation of 'data' with the allocation
of 'skb'.

If you add the uint32_t to struct sk_buff you don't have to modify
alloc_skb.  The skbuff_head_cache is informed what size the sk_buff
structure is in skb_init().

-Bart

-- 
				WebSig: http://www.jukie.net/~bart/sig/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: modifying struct sk_buff
  2004-06-04 12:36 ` Bart Trojanowski
@ 2004-06-04 18:47   ` Sharma Sushant
  2004-06-04 20:05     ` Bart Trojanowski
  0 siblings, 1 reply; 4+ messages in thread
From: Sharma Sushant @ 2004-06-04 18:47 UTC (permalink / raw)
  To: Bart Trojanowski; +Cc: linux-kernel


Hi Bart
thanks for replying.
I was thinking functions calling the alloc_skb will not
consider the size of new variable which I will add, thats
why I thought of adding the size my self while allocating
space.

I am using kernel 2.6.3 and here are few line from skbuff.h

> 	/*
>         * This is the control buffer. It is free to use for every
>         * layer. Please put your private variables there. If you
>         * want to keep them across layers you have to do a skb_clone()
>         * first. This is owned by whoever has the skb queued ATM.
>         */
>        uint32_t                skBufId; /* by sushant */
>        char                    cb[48];

skBufId is the variable i added and I want to assign unique value
to this id whenever alloc_skb is called.
Do you think it will be fine to modify alloc_skb(..)
and just assigning a unique value to this new variable which I added
or will there be some side effects of this.

Thanks
Sushant





On Fri, 4 Jun 2004, Bart Trojanowski wrote:

> * Sushant Sharma <sushant@cs.unm.edu> [040603 20:24]:
> > Hi
> > I want to add a new member (say uint32_t) in the
> > struct sk_buff{...}
> > in the file include/linux/skbuff.h.
> <snip>
> > Do I need to allocate memory for this member
> > (  ie add sizeof(_new-member_) to *size* while doing kmalloc()  )
>
> Hi Sushant,
>
> I think you are confusing the allocation of 'data' with the allocation
> of 'skb'.
>
> If you add the uint32_t to struct sk_buff you don't have to modify
> alloc_skb.  The skbuff_head_cache is informed what size the sk_buff
> structure is in skb_init().
>
> -Bart
>
> --
> 				WebSig: http://www.jukie.net/~bart/sig/
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: modifying struct sk_buff
  2004-06-04 18:47   ` Sharma Sushant
@ 2004-06-04 20:05     ` Bart Trojanowski
  0 siblings, 0 replies; 4+ messages in thread
From: Bart Trojanowski @ 2004-06-04 20:05 UTC (permalink / raw)
  To: Sharma Sushant; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 684 bytes --]

* Sharma Sushant <sushant@cs.unm.edu> [040604 14:48]:
> >        uint32_t                skBufId; /* by sushant */
> >        char                    cb[48];
> 
> skBufId is the variable i added and I want to assign unique value
> to this id whenever alloc_skb is called.
> Do you think it will be fine to modify alloc_skb(..)
> and just assigning a unique value to this new variable which I added
> or will there be some side effects of this.

Looks like you can start using skBufId anytime after memset(skb, ...)
call.  I didn't look at the version of the sources you are using.  In
2.4.7-rc2 it looks fine.

-Bart

-- 
				WebSig: http://www.jukie.net/~bart/sig/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-06-04 20:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-04  1:03 modifying struct sk_buff Sushant Sharma
2004-06-04 12:36 ` Bart Trojanowski
2004-06-04 18:47   ` Sharma Sushant
2004-06-04 20:05     ` Bart Trojanowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox