03 Dec, 2006

1 commit


13 Jul, 2006

3 commits


10 Jul, 2006

1 commit


04 Jul, 2006

1 commit


01 Jul, 2006

1 commit


26 Jun, 2006

1 commit


06 May, 2006

1 commit


04 May, 2006

2 commits


12 Jan, 2006

1 commit


04 Jan, 2006

3 commits

  • Currently all network protocols need to call dev_ioctl as the default
    fallback in their ioctl implementations. This patch adds a fallback
    to dev_ioctl to sock_ioctl if the protocol returned -ENOIOCTLCMD.
    This way all the procotol ioctl handlers can be simplified and we don't
    need to export dev_ioctl.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David S. Miller

    Christoph Hellwig
     
  • lock_sock is needed only in very few cases, so do it there instead of
    around the switch statement.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: David S. Miller

    Christoph Hellwig
     
  • I noticed that some of 'struct proto_ops' used in the kernel may share
    a cache line used by locks or other heavily modified data. (default
    linker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at
    least)

    This patch makes sure a 'struct proto_ops' can be declared as const,
    so that all cpus can share all parts of it without false sharing.

    This is not mandatory : a driver can still use a read/write structure
    if it needs to (and eventually a __read_mostly)

    I made a global stubstitute to change all existing occurences to make
    them const.

    This should reduce the possibility of false sharing on SMP, and
    speedup some socket system calls.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

22 Dec, 2005

1 commit


06 Oct, 2005

1 commit

  • Since changeset 98a82febb6340466824c3a453738d4fbd05db81a AX.25 is passing
    received IP and ARP packets to the stack through netif_rx() but we don't
    set the skb->mac.raw to right value which may result in a crash with
    applications that use a packet socket.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     

13 Sep, 2005

7 commits

  • NET/ROM's virtual interfaces don't have a proper private data
    structure yet. Create struct nr_private and put the statistics there.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • NET/ROM is lacking a connection reset like TCP's RST flag which at times
    may result in a connecting having to slowly timing out instead of just being
    reset. An earlier attempt to reset the connection by sending a
    NR_CONNACK | NR_CHOKE_FLAG transport was inacceptable as it did result in
    crashes of BPQ systems. An alternative approach of introducing a new
    transport type 7 (NR_RESET) has be implemented several years ago in
    Paula Jayne Dowie G8PZT's Xrouter.

    Implement NR_RESET for Linux's NET/ROM but like any messing with the state
    engine consider this experimental for now and thus control it by a sysctl
    (net.netrom.reset) which for the time being defaults to off.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • ARP over NET/ROM does not exist so it's obviously not implemented on any
    NET/ROM stack, so the NET/ROM interfaces really should default to IFF_NOARP.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • NET/ROM uses virtual interfaces so setting a queue length is wrong.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • Remove error tests that have already been performed by the caller.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • Calling an incoming NET/ROM-encapsulated IP packet an error if the
    interface isn't up is probably a bit over the top, so count it as
    dropped instead of an error.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • For reason that probably nobody recalls NET/ROM does it's actual
    packet transmission in nr_rebuild_header and even treats invocation of
    it's hard_start_xmit method nr_xmit as a bug. Fix that by splitting
    the job done by nr_rebuild_header into two halves. Along with that we
    now also can get rid of the silly clone of the skb on transmit.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     

10 Sep, 2005

1 commit


07 Sep, 2005

1 commit

  • Ax2asc was still using a static buffer for all invocations which isn't
    exactly SMP-safe. Change ax2asc to take an additional result buffer as
    the argument. Change all callers to provide such a buffer.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     

30 Aug, 2005

5 commits

  • All these are claiming to include to get ip_rcv() but in
    fact don't need the header at all, so away with the inclusion.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • Get rid of the calls to ip_rcv and arp_rcv which were layering
    violations anyway. With those being replaced by netif_rx, less parts
    of AX.25 and relatives depend on INET support actually being enabled.
    This also will make PF_PACKET sockets work for IP and ARP packets
    received over AX.25 and for IP packets over NET/ROM.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • Lots of places just needs the states, not even linux/tcp.h, where this
    enum was, needs it.

    This speeds up development of the refactorings as less sources are
    rebuilt when things get moved from net/tcp.h.

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     
  • 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: David S. Miller

    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 fixed
    up.

    Signed-off-by: David S. Miller
    Signed-off-by: Francois Romieu

    David S. Miller
     

24 Aug, 2005

2 commits

  • o Brown paperbag bug - ax25_findbyuid() was always returning a NULL pointer
    as the result. Breaks ROSE completly and AX.25 if UID policy set to deny.

    o While the list structure of AX.25's UID to callsign mapping table was
    properly protected by a spinlock, it's elements were not refcounted
    resulting in a race between removal and usage of an element.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • The socket flag cleanups that went into 2.6.12-rc1 are basically oring
    the flags of an old socket into the socket just being created.
    Unfortunately that one was just initialized by sock_init_data(), so already
    has SOCK_ZAPPED set. As the result zapped sockets are created and all
    incoming connection will fail due to this bug which again was carefully
    replicated to at least AX.25, NET/ROM or ROSE.

    In order to keep the abstraction alive I've introduced sock_copy_flags()
    to copy the socket flags from one sockets to another and used that
    instead of the bitwise copy thing. Anyway, the idea here has probably
    been to copy all flags, so sock_copy_flags() should be the right thing.
    With this the ham radio protocols are usable again, so I hope this will
    make it into 2.6.13.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle
     

17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds