1. 30 8月, 2005 5 次提交
    • D
      [NET]: Kill skb->real_dev · f2ccd8fa
      David S. Miller 提交于
      Bonding just wants the device before the skb_bond()
      decapsulation occurs, so simply pass that original
      device into packet_type->func() as an argument.
      
      It remains to be seen whether we can use this same
      exact thing to get rid of skb->input_dev as well.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f2ccd8fa
    • S
      [NET]: Remove HIPPI private from skbuff.h · 6f1cf165
      Stephen Hemminger 提交于
      This removes the private element from skbuff, that is only used by
      HIPPI. Instead it uses skb->cb[] to hold the additional data that is
      needed in the output path from hard_header to device driver.
      
      PS: The only qdisc that might potentially corrupt this cb[] is if
      netem was used over HIPPI. I will take care of that by fixing netem
      to use skb->stamp. I don't expect many users of netem over HIPPI
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6f1cf165
    • P
      [NET]: Kill skb->tc_classid · abc3bc58
      Patrick McHardy 提交于
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      abc3bc58
    • D
      [NET]: Kill skb->list · 8728b834
      David S. Miller 提交于
      Remove the "list" member of struct sk_buff, as it is entirely
      redundant.  All SKB list removal callers know which list the
      SKB is on, so storing this in sk_buff does nothing other than
      taking up some space.
      
      Two tricky bits were SCTP, which I took care of, and two ATM
      drivers which Francois Romieu <romieu@fr.zoreil.com> fixed
      up.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
      8728b834
    • H
      [NETFILTER]: reduce netfilter sk_buff enlargement · 6869c4d8
      Harald Welte 提交于
      As discussed at netconf'05, we're trying to save every bit in sk_buff.
      The patch below makes sk_buff 8 bytes smaller.  I did some basic
      testing on my notebook and it seems to work.
      
      The only real in-tree user of nfcache was IPVS, who only needs a
      single bit.  Unfortunately I couldn't find some other free bit in
      sk_buff to stuff that bit into, so I introduced a separate field for
      them.  Maybe the IPVS guys can resolve that to further save space.
      
      Initially I wanted to shrink pkt_type to three bits (PACKET_HOST and
      alike are only 6 values defined), but unfortunately the bluetooth code
      overloads pkt_type :(
      
      The conntrack-event-api (out-of-tree) uses nfcache, but Rusty just
      came up with a way how to do it without any skb fields, so it's safe
      to remove it.
      
      - remove all never-implemented 'nfcache' code
      - don't have ipvs code abuse 'nfcache' field. currently get's their own
        compile-conditional skb->ipvs_property field.  IPVS maintainers can
        decide to move this bit elswhere, but nfcache needs to die.
      - remove skb->nfcache field to save 4 bytes
      - move skb->nfctinfo into three unused bits to save further 4 bytes
      Signed-off-by: NHarald Welte <laforge@netfilter.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6869c4d8
  2. 20 7月, 2005 1 次提交
  3. 09 7月, 2005 1 次提交
  4. 06 7月, 2005 1 次提交
  5. 24 6月, 2005 2 次提交
    • T
      [NET]: skb_find_text() - Find a text pattern in skb data · 3fc7e8a6
      Thomas Graf 提交于
      Finds a pattern in the skb data according to the specified
      textsearch configuration. Use textsearch_next() to retrieve
      subsequent occurrences of the pattern. Returns the offset
      to the first occurrence or UINT_MAX if no match was found.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3fc7e8a6
    • T
      [NET]: Zerocopy sequential reading of skb data · 677e90ed
      Thomas Graf 提交于
      Implements sequential reading for both linear and non-linear
      skb data at zerocopy cost. The data is returned in chunks of
      arbitary length, therefore random access is not possible.
      
      Usage:
      	from	 := 0
      	to	 := 128
      	state	 := undef
      	data	 := undef
      	len	 := undef
      	consumed := 0
      
      	skb_prepare_seq_read(skb, from, to, &state)
      	while (len = skb_seq_read(consumed, &data, &state)) != 0 do
      		/* do something with 'data' of length 'len' */
      		if abort then
      			/* abort read if we don't wait for
      			 * skb_seq_read() to return 0 */
      			skb_abort_seq_read(&state)
      			return
      		endif
      		/* not necessary to consume all of 'len' */
      		consumed += len
      	done
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      677e90ed
  6. 22 6月, 2005 1 次提交
  7. 22 4月, 2005 1 次提交
  8. 20 4月, 2005 2 次提交
  9. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4