14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

21 May, 2019

1 commit


15 Jul, 2014

1 commit


12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: "David S. Miller"
    Signed-off-by: Kees Cook
    Acked-by: David S. Miller

    Kees Cook
     

22 Sep, 2012

1 commit

  • When CONFIG_IPV6=m and CONFIG_L2TP=y, I got the following compile error:

    LD init/built-in.o
    net/built-in.o: In function `l2tp_xmit_core':
    l2tp_core.c:(.text+0x147781): undefined reference to `inet6_csk_xmit'
    net/built-in.o: In function `l2tp_tunnel_create':
    (.text+0x149067): undefined reference to `udpv6_encap_enable'
    net/built-in.o: In function `l2tp_ip6_recvmsg':
    l2tp_ip6.c:(.text+0x14e991): undefined reference to `ipv6_recv_error'
    net/built-in.o: In function `l2tp_ip6_sendmsg':
    l2tp_ip6.c:(.text+0x14ec64): undefined reference to `fl6_sock_lookup'
    l2tp_ip6.c:(.text+0x14ed6b): undefined reference to `datagram_send_ctl'
    l2tp_ip6.c:(.text+0x14eda0): undefined reference to `fl6_sock_lookup'
    l2tp_ip6.c:(.text+0x14ede5): undefined reference to `fl6_merge_options'
    l2tp_ip6.c:(.text+0x14edf4): undefined reference to `ipv6_fixup_options'
    l2tp_ip6.c:(.text+0x14ee5d): undefined reference to `fl6_update_dst'
    l2tp_ip6.c:(.text+0x14eea3): undefined reference to `ip6_dst_lookup_flow'
    l2tp_ip6.c:(.text+0x14eee7): undefined reference to `ip6_dst_hoplimit'
    l2tp_ip6.c:(.text+0x14ef8b): undefined reference to `ip6_append_data'
    l2tp_ip6.c:(.text+0x14ef9d): undefined reference to `ip6_flush_pending_frames'
    l2tp_ip6.c:(.text+0x14efe2): undefined reference to `ip6_push_pending_frames'
    net/built-in.o: In function `l2tp_ip6_destroy_sock':
    l2tp_ip6.c:(.text+0x14f090): undefined reference to `ip6_flush_pending_frames'
    l2tp_ip6.c:(.text+0x14f0a0): undefined reference to `inet6_destroy_sock'
    net/built-in.o: In function `l2tp_ip6_connect':
    l2tp_ip6.c:(.text+0x14f14d): undefined reference to `ip6_datagram_connect'
    net/built-in.o: In function `l2tp_ip6_bind':
    l2tp_ip6.c:(.text+0x14f4fe): undefined reference to `ipv6_chk_addr'
    net/built-in.o: In function `l2tp_ip6_init':
    l2tp_ip6.c:(.init.text+0x73fa): undefined reference to `inet6_add_protocol'
    l2tp_ip6.c:(.init.text+0x740c): undefined reference to `inet6_register_protosw'
    net/built-in.o: In function `l2tp_ip6_exit':
    l2tp_ip6.c:(.exit.text+0x1954): undefined reference to `inet6_unregister_protosw'
    l2tp_ip6.c:(.exit.text+0x1965): undefined reference to `inet6_del_protocol'
    net/built-in.o:(.rodata+0xf2d0): undefined reference to `inet6_release'
    net/built-in.o:(.rodata+0xf2d8): undefined reference to `inet6_bind'
    net/built-in.o:(.rodata+0xf308): undefined reference to `inet6_ioctl'
    net/built-in.o:(.data+0x1af40): undefined reference to `ipv6_setsockopt'
    net/built-in.o:(.data+0x1af48): undefined reference to `ipv6_getsockopt'
    net/built-in.o:(.data+0x1af50): undefined reference to `compat_ipv6_setsockopt'
    net/built-in.o:(.data+0x1af58): undefined reference to `compat_ipv6_getsockopt'
    make: *** [vmlinux] Error 1

    This is due to l2tp uses symbols from IPV6, so when IPV6
    is a module, l2tp is not allowed to be builtin.

    Cc: David Miller
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Amerigo Wang
     

04 Apr, 2010

5 commits

  • The existing pppol2tp driver exports debug info to
    /proc/net/pppol2tp. Rather than adding info to that file for the new
    functionality added in this patch series, we add new files in debugfs,
    leaving the old /proc file for backwards compatibility (L2TPv2 only).

    Currently only one file is provided: l2tp/tunnels, which lists
    internal debug info for all l2tp tunnels and sessions. More files may
    be added later. The info is for debug and problem analysis only -
    userspace apps should use netlink to obtain status about l2tp tunnels
    and sessions.

    Although debugfs does not support net namespaces, the tunnels and
    sessions dumped in l2tp/tunnels are only those in the net namespace of
    the process reading the file.

    Signed-off-by: James Chapman
    Signed-off-by: David S. Miller

    James Chapman
     
  • This driver presents a regular net_device for each L2TP ethernet
    pseudowire instance. These interfaces are named l2tpethN by default,
    though userspace can specify an alternative name when the L2TP
    session is created, if preferred. When the pseudowire is established,
    regular Linux networking utilities may be used to configure the
    interface, i.e. give it IP address info or add it to a bridge. Any
    data passed over the interface is carried over an L2TP tunnel.

    Signed-off-by: James Chapman
    Reviewed-by: Randy Dunlap
    Signed-off-by: David S. Miller

    James Chapman
     
  • This patch adds a new L2TPIP socket family and modifies the core to
    handle the case where there is no UDP header in the L2TP
    packet. L2TP/IP uses IP protocol 115. Since L2TP/UDP and L2TP/IP
    packets differ in layout, the datapath packet handling code needs
    changes too. Userspace uses an L2TPIP socket instead of a UDP socket
    when IP encapsulation is required.

    We can't use raw sockets for this because the semantics of raw sockets
    don't lend themselves to the socket-per-tunnel model - we need to

    Signed-off-by: David S. Miller

    James Chapman
     
  • The L2TPv3 protocol changes the layout of the L2TP packet
    header. Tunnel and session ids change from 16-bit to 32-bit values,
    data sequence numbers change from 16-bit to 24-bit values and PPP-specific
    fields are moved into protocol-specific subheaders.

    Although this patch introduces L2TPv3 protocol support, there are no
    userspace interfaces to create L2TPv3 sessions yet.

    Signed-off-by: James Chapman
    Reviewed-by: Randy Dunlap
    Signed-off-by: David S. Miller

    James Chapman
     
  • This patch splits the pppol2tp driver into separate L2TP and PPP parts
    to prepare for L2TPv3 support. In L2TPv3, protocols other than PPP can
    be carried, so this split creates a common L2TP core that will handle
    the common L2TP bits which protocol support modules such as PPP will
    use.

    Note that the existing pppol2tp module is split into l2tp_core and
    l2tp_ppp by this change.

    There are no feature changes here. Internally, however, there are
    significant changes, mostly to handle the separation of PPP-specific
    data from the L2TP session and to provide hooks in the core for
    modules like PPP to access.

    Signed-off-by: James Chapman
    Reviewed-by: Randy Dunlap
    Signed-off-by: David S. Miller

    James Chapman