* msm-4.4/tmp-c693593:
Linux 4.8-rc5
devpts: return NULL pts 'priv' entry for non-devpts nodes
tpm: invalid self test error message
ACPI / drivers: replace acpi_probe_lock spinlock with mutex
ACPI / drivers: fix typo in ACPI_DECLARE_PROBE_ENTRY macro
x86/AMD: Apply erratum 665 on machines without a BIOS fix
x86/paravirt: Do not trace _paravirt_ident_*() functions
arm64: kernel: Fix unmasked debug exceptions when restoring mdscr_el1
drivers/perf: arm_pmu: Fix NULL pointer dereference during probe
drivers/perf: arm_pmu: Fix leak in error path
tick/nohz: Fix softlockup on scheduler stalls in kvm guest
rapidio/tsi721: fix incorrect detection of address translation condition
rapidio/documentation/mport_cdev: add missing parameter description
kernel/fork: fix CLONE_CHILD_CLEARTID regression in nscd
MAINTAINERS: Vladimir has moved
mm, mempolicy: task->mempolicy must be NULL before dropping final reference
printk/nmi: avoid direct printk()-s from __printk_nmi_flush()
treewide: remove references to the now unnecessary DEFINE_PCI_DEVICE_TABLE
drivers/scsi/wd719x.c: remove last declaration using DEFINE_PCI_DEVICE_TABLE
mm, vmscan: only allocate and reclaim from zones with pages managed by the buddy allocator
lib/test_hash.c: fix warning in preprocessor symbol evaluation
lib/test_hash.c: fix warning in two-dimensional array init
kconfig: tinyconfig: provide whole choice blocks to avoid warnings
kexec: fix double-free when failing to relocate the purgatory
mm, oom: prevent premature OOM killer invocation for high order request
btrfs: fix one bug that process may endlessly wait for ticket in wait_reserve_ticket()
Btrfs: fix endless loop in balancing block groups
Btrfs: kill invalid ASSERT() in process_all_refs()
ovl: update doc
ovl: listxattr: use strnlen()
ovl: Switch to generic_getxattr
ovl: copyattr after setting POSIX ACL
ovl: Switch to generic_removexattr
ovl: Get rid of ovl_xattr_noacl_handlers array
ovl: Fix OVL_XATTR_PREFIX
ovl: fix spelling mistake: "directries" -> "directories"
ovl: don't cache acl on overlay layer
ovl: use cached acl on underlying layer
ovl: proper cleanup of workdir
ovl: remove posix_acl_default from workdir
ovl: handle umask and posix_acl_default correctly on creation
audit: fix exe_file access in audit_exe_compare
mm: introduce get_task_exe_file
drm/amdgpu: record error code when ring test failed
drm/amd/amdgpu: compute ring test fail during S4 on CI
drm/amd/amdgpu: sdma resume fail during S4 on CI
binfmt_elf: switch to new creds when switching to new mm
serial: 8250: added acces i/o products quad and octal serial cards
serial: 8250_mid: fix divide error bug if baud rate is 0
Revert "tty/serial/8250: use mctrl_gpio helpers"
sysfs: correctly handle read offset on PREALLOC attrs
documentation: drivers/core/of: fix name of of_node symlink
kernfs: don't depend on d_find_any_alias() when generating notifications
thunderbolt: Don't declare Falcon Ridge unsupported
thunderbolt: Add support for INTEL_FALCON_RIDGE_2C controller.
thunderbolt: Fix resume quirk for Falcon Ridge 4C.
lkdtm: Mark lkdtm_rodata_do_nothing() notrace
drm/nouveau/acpi: use DSM if bridge does not support D3cold
PM / runtime: Add _rcuidle suffix to allow rpm_idle() use from idle
PM / runtime: Add _rcuidle suffix to allow rpm_resume() to be called from idle
cpufreq: dt: Add terminate entry for of_device_id tables
dm bufio: remove use of deprecated create_singlethread_workqueue()
dm crypt: fix free of bad values after tfm allocation failure
dm crypt: fix error with too large bios
dm log writes: fix check of kthread_run() return value
seccomp: Fix tracer exit notifications during fatal signals
dm log writes: fix bug with too large bios
dm log writes: move IO accounting earlier to fix error path
mm/usercopy: get rid of CONFIG_DEBUG_STRICT_USER_COPY_CHECKS
pata_ninja32: Avoid corrupting status flags
NFSv4.x: Fix a refcount leak in nfs_callback_up_net
NFS4: Avoid migration loops
mei: me: disable driver on SPT SPS firmware
usb: musb: Fix locking errors for host only mode
drm/imx: fix crtc vblank state regression
xfs: track log done items directly in the deferred pending work item
pNFS/flexfiles: Fix an Oopsable condition when connection to the DS fails
drm/imx: Add active plane reconfiguration support
hwmon: (it87) Add missing sysfs attribute group terminator
clocksource/drivers/atmel-pit: Fix compilation error
intel_pmic_gpio: Make explicitly non-modular
platform/olpc: Make ec explicitly non-modular
Add Killer E2500 device ID in alx driver.
net: smc91x: fix SMC accesses
Documentation: networking: dsa: Remove platform device TODO
net/mlx5: Increase number of ethtool steering priorities
net/mlx5: Add error prints when validate ETS failed
net/mlx5e: Fix memory leak if refreshing TIRs fails
net/mlx5e: Add ethtool counter for TX xmit_more
net/mlx5e: Fix ethtool -g/G rx ring parameter report with striding RQ
net/mlx5e: Don't wait for SQ completions on close
net/mlx5e: Don't post fragmented MPWQE when RQ is disabled
net/mlx5e: Don't wait for RQ completions on close
net/mlx5e: Limit UMR length to the device's limitation
powerpc: signals: Discard transaction state from signal frames
powerpc/powernv : Drop reference added by kset_find_obj()
powerpc/tm: do not use r13 for tabort_syscall
iomap: don't set FIEMAP_EXTENT_MERGED for extent based filesystems
NFSv4.1: Remove obsolete and incorrrect assignment in nfs4_callback_sequence
NFSv4.1: Close callback races for OPEN, LAYOUTGET and LAYOUTRETURN
NFSv4.1: Defer bumping the slot sequence number until we free the slot
NFSv4.1: Delay callback processing when there are referring triples
NFSv4.1: Fix Oopsable condition in server callback races
drm/msm: protect against faults from copy_from_user() in submit ioctl
drm/msm: fix use of copy_from_user() while holding spinlock
nvme-rdma: Get rid of redundant defines
nvme-rdma: Get rid of duplicate variable
rhashtable: fix a memory leak in alloc_bucket_locks()
sfc: fix potential stack corruption from running past stat bitmask
team: loadbalance: push lacpdus to exact delivery
net: hns: dereference ppe_cb->ppe_common_cb if it is non-null
xfs: prevent dropping ioend completions during buftarg wait
xfs: fix superblock inprogress check
xfs: simple btree query range should look right if LE lookup fails
xfs: fix some key handling problems in _btree_simple_query_range
xfs: don't log the entire end of the AGF
xfs: disallow mounting of realtime + rmap filesystems
xfs: don't perform lookups on zero-height btrees
8139cp: Fix one possible deadloop in cp_rx_poll
i40e: Change some init flow for the client
Revert "phy: IRQ cannot be shared"
net: dsa: bcm_sf2: Fix race condition while unmasking interrupts
qdisc: fix a module refcount leak in qdisc_create_dflt()
tipc: fix the error handling in tipc_udp_enable()
Bluetooth: Fix hci_sock_recvmsg when MSG_TRUNC is not set
Bluetooth: Fix bt_sock_recvmsg when MSG_TRUNC is not set
usb: dwc3: gadget: always decrement by 1
usb: dwc3: debug: fix ep name on trace output
usb: gadget: udc: core: don't starve DMA resources
SUNRPC: Silence WARN_ON when NFSv4.1 over RDMA is in use
clk: rockchip: mark aclk_emmc_noc as a critical clock on rk3399
clk: tegra: remove TEGRA_PLL_USE_LOCK for PLLD/PLLD2
raid5: avoid unnecessary bio data set
raid5: fix memory leak of bio integrity data
raid10: record correct address of bad block
md-cluster: fix error return code in join()
r5cache: set MD_JOURNAL_CLEAN correctly
mlxsw: router: Enable neighbors to be created on stacked devices
mlxsw: spectrum: Add missing flood to router port
Bluetooth: split sk_filter in l2cap_sock_recv_cb
Bluetooth: Fix memory leak at end of hci requests
crypto: vmx - fix null dereference in p8_aes_xts_crypt
crypto: qat - fix aes-xts key sizes
hwrng: mxc-rnga - Fix Kconfig dependency
USB: serial: option: add WeTelecom 0x6802 and 0x6803 products
net: diag: Fix refcnt leak in error path destroying socket
tun: fix transmit timestamp support
udp: get rid of SLAB_DESTROY_BY_RCU allocations
sctp: fix overrun in sctp_diag_dump_one()
dwc_eth_qos: fix interrupt enable race
net: lpc_eth: Check clk_prepare_enable() error
net: mv88e6xxx: Fix ingress rate removal for mv6131 chips
phy: micrel: Reenable interrupts during resume for ksz9031
tcp: properly scale window in tcp_v[46]_reqsk_send_ack()
gianfar: fix size of scatter-gathered frames
gianfar: prevent fragmentation in DSA environments
udp: fix poll() issue with zero sized packets
USB: avoid left shift by -1
arm: dts: rockchip: add reset node for the exist saradc SoCs
arm64: dts: rockchip: add reset saradc node for rk3368 SoCs
iio: adc: rockchip_saradc: reset saradc controller before programming it
pnfs/blocklayout: update last_write_offset atomically with extents
pNFS: The client must not do I/O to the DS if it's lease has expired
USB: fix typo in wMaxPacketSize validation
net sched: fix encoding to use real length
qed: FLR of active VFs might lead to FW assert
net: ip_finish_output_gso: Allow fragmenting segments of tunneled skbs if their DF is unset
net: ipv6: Remove addresses for failures with strict DAD
include/uapi/linux/ipx.h: fix conflicting defitions with glibc netipx/ipx.h
include/uapi/linux/openvswitch.h: use __u32 from linux/types.h
include/uapi/linux/atm_zatm.h: include linux/time.h
include/uapi/linux/openvswitch.h: use __u32 from linux/types.h
include/uapi/linux/if_pppox.h: include linux/in.h and linux/in6.h
include/uapi/linux/if_pppol2tp.h: include linux/in.h and linux/in6.h
include/uapi/linux/if_tunnel.h: include linux/if.h, linux/ip.h and linux/in6.h
include/uapi/linux/if_pppox.h: include linux/if.h
usb: gadget: Add the gserial port checking in gs_start_tx()
usb: dwc3: gadget: don't rely on jiffies while holding spinlock
usb: gadget: fsl_qe_udc: signedness bug in qe_get_frame()
usb: gadget: function: f_rndis: socket buffer may be NULL
usb: gadget: function: f_eem: socket buffer may be NULL
usb: renesas_usbhs: gadget: fix return value check in usbhs_mod_gadget_probe()
usb: dwc2: Add reset control to dwc2
usb: dwc3: core: allow device to runtime_suspend several times
usb: dwc3: pci: runtime_resume child device
dmaengine: img-mdc: fix a possible NULL dereference
dmaengine: at_xdmac: fix to pass correct device identity to free_irq()
dmaengine: fsl_raid: add missing of_node_put() in fsl_re_probe()
powerpc: move hmi.c to arch/powerpc/kvm/
powerpc: sysdev: cpm: fix gpio save_regs functions
powerpc/pseries: PACA save area fix for MCE vs MCE
powerpc/pseries: PACA save area fix for general exception vs MCE
powerpc/prom: Fix sub-processor option passed to ibm, client-architecture-support
powerpc, hotplug: Avoid to touch non-existent cpumasks.
powerpc: migrate exception table users off module.h and onto extable.h
powerpc/powernv/pci: fix iterator signedness
powerpc/pseries: use pci_host_bridge.release_fn() to kfree(phb)
cxl: use pcibios_free_controller_deferred() when removing vPHBs
powerpc: mpc8349emitx: Delete unnecessary assignment for the field "owner"
powerpc/512x: Delete unnecessary assignment for the field "owner"
drivers/macintosh: Delete owner assignment
powerpc: cputhreads: Add missing include file
net: tehuti: fix typo: "eneble" -> "enable"
iio: accel: kxsd9: Fix raw read return
iio: adc: ti_am335x_adc: Increase timeout value waiting for ADC sample
iio: adc: ti_am335x_adc: Protect FIFO1 from concurrent access
include/linux: fix excess fence.h kernel-doc notation
staging: wilc1000: correctly check if associatedsta has not been found
staging: wilc1000: NULL dereference on error
staging: wilc1000: txq_event: Fix coding error
MAINTAINERS: Add file patterns for ion device tree bindings
MAINTAINERS: Update maintainer entry for wilc1000
iio: chemical: atlas-ph-sensor: fix typo in val assignment
iio: fix sched WARNING "do not call blocking ops when !TASK_RUNNING"
staging: comedi: ni_mio_common: fix AO inttrig backwards compatibility
staging: comedi: dt2811: fix a precedence bug
staging: comedi: adv_pci1760: Do not return EINVAL for CMDF_ROUND_DOWN.
staging: comedi: ni_mio_common: fix wrong insn_write handler
staging: comedi: comedi_test: fix timer race conditions
staging: comedi: daqboard2000: bug fix board type matching code
iio:ti-ads1015: fix a wrong pointer definition.
net: xilinx: emaclite: Fallback to random MAC address.
USB: serial: option: add WeTelecom WM-D200
vmxnet3: fix tx data ring copy for variable size
ixgbe: Do not clear RAR entry when clearing VMDq for SAN MAC
drm/vc4: Fix oops when userspace hands in a bad BO.
drm/vc4: Fix overflow mem unreferencing when the binner runs dry.
drm/vc4: Free hang state before destroying BO cache.
drm/vc4: Fix handling of a pm_runtime_get_sync() success case.
drm/vc4: Use drm_malloc_ab to fix large rendering jobs.
drm/vc4: Use drm_free_large() on handles to match its allocation.
mlxsw: spectrum_buffers: Fix pool value handling in mlxsw_sp_sb_tc_pool_bind_set
l2tp: Fix the connect status check in pppol2tp_getname
sctp: linearize early if it's not GSO
net/mlx5: E-Switch, Avoid ACLs in the offloads mode
net/mlx5: E-Switch, Set the send-to-vport rules in the correct table
net/mlx5: E-Switch, Return the correct devlink e-switch mode
net/mlx5e: Retrieve the switchdev id from the firmware only once
net/mlx5e: Use correct flow dissector key on flower offloading
net/mlx5: Update last-use statistics for flow rules
net/mlx5: Added missing check of msg length in verifying its signature
net/mlx5: Fix pci error recovery flow
net/mlx5e: Optimization for MTU change
net/mlx5e: Set port MTU on netdev creation rather on open
pNFS: Handle NFS4ERR_OLD_STATEID correctly in LAYOUTSTAT calls
nvme: fabrics drivers don't need the nvme-pci driver
nvme-fabrics: get a reference when reusing a nvme_host structure
dmaengine: pxa_dma: fix debug message
nvme-fabrics: change NQN UUID to big-endian format
fib_trie: Fix the description of pos and bits
dmaengine: pxa_dma: fix hotchain corner case
kaweth: fix oops upon failed memory allocation
kaweth: fix firmware download
net: bgmac: fix reversed check for MII registration error
tcp: fix use after free in tcp_xmit_retransmit_queue()
cxgb4: Fixes resource allocation for ULD's in kdump kernel
net: thunderx: Fix OOPs with ethtool --register-dump
qede: Fix Tx timeout due to xmit_more
usb: chipidea: udc: don't touch DP when controller is in host mode
8250/fintek: rename IRQ_MODE macro
Revert "android: binder: fix dangling pointer comparison"
netfilter: cttimeout: fix use after free error when delete netns
netfilter: nfnetlink_acct: fix race between nfacct del and xt_nfacct destroy
nvme-loop: set sqsize to 0-based value, per spec
nvme-rdma: fix sqsize/hsqsize per spec
fabrics: define admin sqsize min default, per spec
nvmet-rdma: +1 to *queue_size from hsqsize/hrqsize
netfilter: tproxy: properly refcount tcp listeners
netfilter: nfnetlink_acct: report overquota to the right netns
md: don't print the same repeated messages about delayed sync operation
md: remove obsolete ret in md_start_sync
netfilter: nfnetlink_log: add "nf-logger-3-1" module alias name
netfilter: conntrack: do not dump other netns's conntrack entries via proc
cgroup: reduce read locked section of cgroup_threadgroup_rwsem during fork
md: do not count journal as spare in GET_ARRAY_INFO
pNFS/flexfiles: Set reasonable default retrans values for the data channel
NFS: Allow the mount option retrans=0
nvmet-rdma: Fix use after free
nvme-rdma: initialize ret to zero to avoid returning garbage
drivers/iio/light/Kconfig: SENSORS_BH1780 cleanup
staging/lustre/llite: Close atomic_open race with several openers
iio: adc: at91: unbreak channel adc channel 3
tools: iio: iio_generic_buffer: initialize channel array pointer
iio: humidity: hdc100x: fix sensor data reads of temp and humidity
android: binder: fix dangling pointer comparison
iio: pressure: bmp280: fix runtime suspend/resume crash
iio: add Kconfig selects needed for triggered buffer compiles
iio: stx104: Unregister IIO device on remove callback
iio: proximity: as3935: set up buffer timestamps for non-zero values
iio: humidity: am2315: set up buffer timestamps for non-zero values
iio: accel: bma220_spi: set up buffer timestamps for non-zero values
iio: ad799x: Fix buffered capture for ad7991/ad7995/ad7999
iio: sw-trigger: Fix config group initialization
staging: iio: ad5933: Return correct value for AD5933_OUT_RANGE.
iio: pressure: bmp280: fix wrong pointer passed to PTR_ERR()
misc: delete bh1780 driver
USB: serial: mos7840: fix non-atomic allocation in write path
USB: serial: mos7720: fix non-atomic allocation in write path
pNFS/flexfiles: Fix layoutstat periodic reporting
clk: rockchip: fix incorrect GATE bits for {c, g}pll_aclk_perihp_src on rk3399
phy: sun9i-usb: fix error handling
phy: brcm-sata: Return proper error if brcm_sata_phy_init fails
mfd: da8xx-cfgchip: New header file for CFGCHIP registers
phy-sun4i-usb: Add support for peripheral-only mode
clk: rockchip: fix incorrect aclk_emmc source gate bits on rk3399
clk: renesas: r8a7795: Fix SD clocks
clk: rockchip: fix rk3399 aclk_vio gate bit
ahci: disable correct irq for dummy ports
ext4: avoid deadlock when expanding inode size
ext4: properly align shifted xattrs when expanding inodes
ext4: fix xattr shifting when expanding inodes part 2
ext4: fix xattr shifting when expanding inodes
clk: sunxi-ng: Fix inverted test condition in ccu_helper_wait_for_lock
cpuset: make sure new tasks conform to the current config of the cpuset
ovl: don't copy up opaqueness
dmaengine: usb-dmac: check CHCR.DE bit in usb_dmac_isr_channel()
md: Prevent IO hold during accessing to faulty raid5 array
MD: hold mddev lock to change bitmap location
raid5: fix incorrectly counter of conf->empty_inactive_list_nr
ext4: validate that metadata blocks do not overlap superblock
ext4: reserve xattr index for the Hurd
raid10: increment write counter after bio is split
Conflicts:
include/uapi/linux/if_pppox.h
kernel/cpuset.c
Change-Id: I3e43174e82861ca106bfbba6810fc8c42741c504
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
164 lines
4.7 KiB
C
164 lines
4.7 KiB
C
/***************************************************************************
|
|
* Linux PPP over X - Generic PPP transport layer sockets
|
|
* Linux PPP over Ethernet (PPPoE) Socket Implementation (RFC 2516)
|
|
*
|
|
* This file supplies definitions required by the PPP over Ethernet driver
|
|
* (pppox.c). All version information wrt this file is located in pppox.c
|
|
*
|
|
* License:
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*
|
|
*/
|
|
|
|
#ifndef _UAPI__LINUX_IF_PPPOX_H
|
|
#define _UAPI__LINUX_IF_PPPOX_H
|
|
|
|
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
#include <linux/socket.h>
|
|
#include <linux/if.h>
|
|
#include <linux/if_ether.h>
|
|
#include <linux/if_pppol2tp.h>
|
|
#include <linux/if_pppolac.h>
|
|
#include <linux/if_pppopns.h>
|
|
#include <linux/in.h>
|
|
#include <linux/in6.h>
|
|
|
|
/* For user-space programs to pick up these definitions
|
|
* which they wouldn't get otherwise without defining __KERNEL__
|
|
*/
|
|
#ifndef AF_PPPOX
|
|
#define AF_PPPOX 24
|
|
#define PF_PPPOX AF_PPPOX
|
|
#endif /* !(AF_PPPOX) */
|
|
|
|
/************************************************************************
|
|
* PPPoE addressing definition
|
|
*/
|
|
typedef __be16 sid_t;
|
|
struct pppoe_addr {
|
|
sid_t sid; /* Session identifier */
|
|
unsigned char remote[ETH_ALEN]; /* Remote address */
|
|
char dev[IFNAMSIZ]; /* Local device to use */
|
|
};
|
|
|
|
/************************************************************************
|
|
* PPTP addressing definition
|
|
*/
|
|
struct pptp_addr {
|
|
__u16 call_id;
|
|
struct in_addr sin_addr;
|
|
};
|
|
|
|
/************************************************************************
|
|
* Protocols supported by AF_PPPOX
|
|
*/
|
|
#define PX_PROTO_OE 0 /* Currently just PPPoE */
|
|
#define PX_PROTO_OL2TP 1 /* Now L2TP also */
|
|
#define PX_PROTO_PPTP 2
|
|
#define PX_PROTO_OLAC 3
|
|
#define PX_PROTO_OPNS 4
|
|
#define PX_MAX_PROTO 5
|
|
|
|
struct sockaddr_pppox {
|
|
__kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
|
|
unsigned int sa_protocol; /* protocol identifier */
|
|
union {
|
|
struct pppoe_addr pppoe;
|
|
struct pptp_addr pptp;
|
|
} sa_addr;
|
|
} __packed;
|
|
|
|
/* The use of the above union isn't viable because the size of this
|
|
* struct must stay fixed over time -- applications use sizeof(struct
|
|
* sockaddr_pppox) to fill it. We use a protocol specific sockaddr
|
|
* type instead.
|
|
*/
|
|
struct sockaddr_pppol2tp {
|
|
__kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
|
|
unsigned int sa_protocol; /* protocol identifier */
|
|
struct pppol2tp_addr pppol2tp;
|
|
} __packed;
|
|
|
|
struct sockaddr_pppol2tpin6 {
|
|
__kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
|
|
unsigned int sa_protocol; /* protocol identifier */
|
|
struct pppol2tpin6_addr pppol2tp;
|
|
} __packed;
|
|
|
|
/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
|
|
* bits. So we need a different sockaddr structure.
|
|
*/
|
|
struct sockaddr_pppol2tpv3 {
|
|
__kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
|
|
unsigned int sa_protocol; /* protocol identifier */
|
|
struct pppol2tpv3_addr pppol2tp;
|
|
} __packed;
|
|
|
|
struct sockaddr_pppol2tpv3in6 {
|
|
__kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
|
|
unsigned int sa_protocol; /* protocol identifier */
|
|
struct pppol2tpv3in6_addr pppol2tp;
|
|
} __packed;
|
|
|
|
/*********************************************************************
|
|
*
|
|
* ioctl interface for defining forwarding of connections
|
|
*
|
|
********************************************************************/
|
|
|
|
#define PPPOEIOCSFWD _IOW(0xB1 ,0, size_t)
|
|
#define PPPOEIOCDFWD _IO(0xB1 ,1)
|
|
/*#define PPPOEIOCGFWD _IOWR(0xB1,2, size_t)*/
|
|
|
|
/* Codes to identify message types */
|
|
#define PADI_CODE 0x09
|
|
#define PADO_CODE 0x07
|
|
#define PADR_CODE 0x19
|
|
#define PADS_CODE 0x65
|
|
#define PADT_CODE 0xa7
|
|
struct pppoe_tag {
|
|
__be16 tag_type;
|
|
__be16 tag_len;
|
|
char tag_data[0];
|
|
} __attribute__ ((packed));
|
|
|
|
/* Tag identifiers */
|
|
#define PTT_EOL __cpu_to_be16(0x0000)
|
|
#define PTT_SRV_NAME __cpu_to_be16(0x0101)
|
|
#define PTT_AC_NAME __cpu_to_be16(0x0102)
|
|
#define PTT_HOST_UNIQ __cpu_to_be16(0x0103)
|
|
#define PTT_AC_COOKIE __cpu_to_be16(0x0104)
|
|
#define PTT_VENDOR __cpu_to_be16(0x0105)
|
|
#define PTT_RELAY_SID __cpu_to_be16(0x0110)
|
|
#define PTT_SRV_ERR __cpu_to_be16(0x0201)
|
|
#define PTT_SYS_ERR __cpu_to_be16(0x0202)
|
|
#define PTT_GEN_ERR __cpu_to_be16(0x0203)
|
|
|
|
struct pppoe_hdr {
|
|
#if defined(__LITTLE_ENDIAN_BITFIELD)
|
|
__u8 type : 4;
|
|
__u8 ver : 4;
|
|
#elif defined(__BIG_ENDIAN_BITFIELD)
|
|
__u8 ver : 4;
|
|
__u8 type : 4;
|
|
#else
|
|
#error "Please fix <asm/byteorder.h>"
|
|
#endif
|
|
__u8 code;
|
|
__be16 sid;
|
|
__be16 length;
|
|
struct pppoe_tag tag[0];
|
|
} __packed;
|
|
|
|
/* Length of entire PPPoE + PPP header */
|
|
#define PPPOE_SES_HLEN 8
|
|
|
|
|
|
#endif /* _UAPI__LINUX_IF_PPPOX_H */
|