1. 05 Jun, 2014 11 commits
    • Paul Bolle's avatar
      isdn/capi: fix (middleware) device nodes · d1cadce1
      Paul Bolle authored
      Since v2.4 the capi driver used the following device nodes if
      "middleware" support was enabled:
          /dev/capi20
          /dev/capi/0
          /dev/capi/1
          [...]
      
      /dev/capi20 is a character device node. /dev/capi/0 (and up) are tty
      device nodes (with a different major).
      
      This device node (naming) scheme is not documented anywhere, as far as I
      know. It was originally provided by the capifs pseudo filesystem (before
      udev became available). It is required for example by the pppd
      capiplugin. It was supported until a few years ago. But a number of
      developments broke it:
      - v2.6.6 (May 2004) renamed /dev/capi20 to /dev/capi and removed the
        "/" from the name of capi's tty driver. The explanation of the patch
        that did this included two examples of udev rules "to restore the old
        namespace";
      - either udev 154 (May 2010) or udev 179 (January 2012) stopped
        allowing to rename device nodes, and thus the ability to have
        /dev/capi20 appear instead of /dev/capi and /dev/capi/0 (and up)
        instead of /dev/capi0 (and up);
      - v3.0 (July 2011) also removed capifs. That disabled another method to
        create the /dev/capi/0 (and up) device nodes.
      
      So now users need to manually tweak their setup (eg, create /dev/capi/
      and fill that with symlinks) to get things working. This is all rather
      hacky and only discoverable by searching the web. Fix all this by
      renaming /dev/capi back to /dev/capi20, and by setting the name of the
      "capi_nc" tty driver to "capi!" so the tty device nodes appear as
      /dev/capi/0 (and up).
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarTilman Schmidt <tilman@imap.cc>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d1cadce1
    • Paul Bolle's avatar
      isdn/capi: Make verbose reporting depend on capidrv · a79f5d26
      Paul Bolle authored
      The Kconfig symbol ISDN_DRV_AVMB1_VERBOSE_REASON is only used for
      capi_info2str(). That function is only used in capidrv.c. So setting it
      without setting ISDN_CAPI_CAPIDRV is pointless. Make it depend on
      ISDN_CAPI_CAPIDRV, rename it to ISDN_CAPI_CAPIDRV_VERBOSE and put its
      entry after ISDN_CAPI_CAPIDRV's entry.
      
      Since this symbol seems to be primarily used for debugging, keep it off
      by default. By now the last users of capidrv hopefully know all they
      need to know about the reasons for disconnecting.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarTilman Schmidt <tilman@imap.cc>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a79f5d26
    • Paul Bolle's avatar
      isdn/capi: move capi_info2str to capidrv.c · ca05e3a7
      Paul Bolle authored
      capi_info2str() is apparently meant to be of general utility. It is
      actually only used in capidrv.c. So move it from capiutil.c to
      capidrv.c and (obviously) stop exporting it.
      
      And, since we're touching this, merge the two versions of this
      function.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarTilman Schmidt <tilman@imap.cc>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ca05e3a7
    • David S. Miller's avatar
      Merge branch 'inet_csums' · 00d115fc
      David S. Miller authored
      Tom Herbert says:
      
      ====================
      net: Support checksum in UDP
      
      This patch series adds support for using checksums in UDP tunnels. With
      this it is possible that two or more checksums may be set within the
      same packet and we would like to do that efficiently.
      
      This series also creates some new helper functions to be used by various
      tunnel protocol implementations.
      
      v2: Fixed indentation in tcp_v6_send_check arguments.
      v3: Move udp_set_csum and udp6_set_csum to be not inlined
          Also have this functions call with a nocheck boolean argument
          instead of passing a sock structure.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      00d115fc
    • Tom Herbert's avatar
      vxlan: Add support for UDP checksums (v4 sending, v6 zero csums) · 359a0ea9
      Tom Herbert authored
      Added VXLAN link configuration for sending UDP checksums, and allowing
      TX and RX of UDP6 checksums.
      
      Also, call common iptunnel_handle_offloads and added GSO support for
      checksums.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      359a0ea9
    • Tom Herbert's avatar
      gre: Call gso_make_checksum · 4749c09c
      Tom Herbert authored
      Call gso_make_checksum. This should have the benefit of using a
      checksum that may have been previously computed for the packet.
      
      This also adds NETIF_F_GSO_GRE_CSUM to differentiate devices that
      offload GRE GSO with and without the GRE checksum offloaed.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4749c09c
    • Tom Herbert's avatar
      net: Add GSO support for UDP tunnels with checksum · 0f4f4ffa
      Tom Herbert authored
      Added a new netif feature for GSO_UDP_TUNNEL_CSUM. This indicates
      that a device is capable of computing the UDP checksum in the
      encapsulating header of a UDP tunnel.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f4f4ffa
    • Tom Herbert's avatar
      tcp: Call gso_make_checksum · e9c3a24b
      Tom Herbert authored
      Call common gso_make_checksum when calculating checksum for a
      TCP GSO segment.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9c3a24b
    • Tom Herbert's avatar
      net: Support for multiple checksums with gso · 7e2b10c1
      Tom Herbert authored
      When creating a GSO packet segment we may need to set more than
      one checksum in the packet (for instance a TCP checksum and
      UDP checksum for VXLAN encapsulation). To be efficient, we want
      to do checksum calculation for any part of the packet at most once.
      
      This patch adds csum_start offset to skb_gso_cb. This tracks the
      starting offset for skb->csum which is initially set in skb_segment.
      When a protocol needs to compute a transport checksum it calls
      gso_make_checksum which computes the checksum value from the start
      of transport header to csum_start and then adds in skb->csum to get
      the full checksum. skb->csum and csum_start are then updated to reflect
      the checksum of the resultant packet starting from the transport header.
      
      This patch also adds a flag to skbuff, encap_hdr_csum, which is set
      in *gso_segment fucntions to indicate that a tunnel protocol needs
      checksum calculation
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7e2b10c1
    • Tom Herbert's avatar
      l2tp: call udp{6}_set_csum · 77157e19
      Tom Herbert authored
      Call common functions to set checksum for UDP tunnel.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      77157e19
    • Tom Herbert's avatar
      udp: Generic functions to set checksum · af5fcba7
      Tom Herbert authored
      Added udp_set_csum and udp6_set_csum functions to set UDP checksums
      in packets. These are for simple UDP packets such as those that might
      be created in UDP tunnels.
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      af5fcba7
  2. 04 Jun, 2014 29 commits