PATH: //proc/thread-self/root/proc/thread-self/root/proc/self/root/usr/include/linux
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
π a.out.h
β
X
π acct.h
β
X
π acrn.h
β
X
π adb.h
β
X
π adfs_fs.h
β
X
π affs_hardblocks.h
β
X
π agpgart.h
β
X
π aio_abi.h
β
X
π am437x-vpfe.h
β
X
π android/
X
π apm_bios.h
β
X
π arcfb.h
β
X
π arm_sdei.h
β
X
π aspeed-lpc-ctrl.h
β
X
π aspeed-p2a-ctrl.h
β
X
π atalk.h
β
X
π atm.h
β
X
π atm_eni.h
β
X
π atm_he.h
β
X
π atm_idt77105.h
β
X
π atm_nicstar.h
β
X
π atm_tcp.h
β
X
π atm_zatm.h
β
X
π atmapi.h
β
X
π atmarp.h
β
X
π atmbr2684.h
β
X
π atmclip.h
β
X
π atmdev.h
β
X
π atmioc.h
β
X
π atmlec.h
β
X
π atmmpc.h
β
X
π atmppp.h
β
X
π atmsap.h
β
X
π atmsvc.h
β
X
π audit.h
β
X
π auto_dev-ioctl.h
β
X
π auto_fs.h
β
X
π auto_fs4.h
β
X
π auxvec.h
β
X
π ax25.h
β
X
π batadv_packet.h
β
X
π batman_adv.h
β
X
π baycom.h
β
X
π bcm933xx_hcs.h
β
X
π bfs_fs.h
β
X
π binfmts.h
β
X
π bits.h
β
X
π blkpg.h
β
X
π blktrace_api.h
β
X
π blkzoned.h
β
X
π bpf.h
β
X
π bpf_common.h
β
X
π bpf_perf_event.h
β
X
π bpfilter.h
β
X
π bpqether.h
β
X
π bsg.h
β
X
π bt-bmc.h
β
X
π btf.h
β
X
π btrfs.h
β
X
π btrfs_tree.h
β
X
π byteorder/
X
π cachefiles.h
β
X
π caif/
X
π can/
X
π can.h
β
X
π capability.h
β
X
π capi.h
β
X
π cciss_defs.h
β
X
π cciss_ioctl.h
β
X
π ccs.h
β
X
π cdrom.h
β
X
π cec-funcs.h
β
X
π cec.h
β
X
π cfm_bridge.h
β
X
π cgroupstats.h
β
X
π chio.h
β
X
π cifs/
X
π close_range.h
β
X
π cm4000_cs.h
β
X
π cn_proc.h
β
X
π coda.h
β
X
π coff.h
β
X
π connector.h
β
X
π const.h
β
X
π coresight-stm.h
β
X
π cramfs_fs.h
β
X
π cryptouser.h
β
X
π cuda.h
β
X
π cxl_mem.h
β
X
π cycx_cfm.h
β
X
π dcbnl.h
β
X
π dccp.h
β
X
π devlink.h
β
X
π dlm.h
β
X
π dlm_device.h
β
X
π dlm_netlink.h
β
X
π dlm_plock.h
β
X
π dlmconstants.h
β
X
π dm-ioctl.h
β
X
π dm-log-userspace.h
β
X
π dma-buf.h
β
X
π dma-heap.h
β
X
π dn.h
β
X
π dns_resolver.h
β
X
π dpll.h
β
X
π dqblk_xfs.h
β
X
π dvb/
X
π edd.h
β
X
π efs_fs_sb.h
β
X
π elf-em.h
β
X
π elf-fdpic.h
β
X
π elf.h
β
X
π errno.h
β
X
π errqueue.h
β
X
π erspan.h
β
X
π ethtool.h
β
X
π ethtool_netlink.h
β
X
π ethtool_netlink_generated.h
β
X
π eventfd.h
β
X
π eventpoll.h
β
X
π f2fs.h
β
X
π fadvise.h
β
X
π falloc.h
β
X
π fanotify.h
β
X
π fb.h
β
X
π fcntl.h
β
X
π fd.h
β
X
π fdreg.h
β
X
π fib_rules.h
β
X
π fiemap.h
β
X
π filter.h
β
X
π firewire-cdev.h
β
X
π firewire-constants.h
β
X
π fou.h
β
X
π fpga-dfl.h
β
X
π fs.h
β
X
π fscrypt.h
β
X
π fsi.h
β
X
π fsl_hypervisor.h
β
X
π fsl_mc.h
β
X
π fsmap.h
β
X
π fsverity.h
β
X
π fuse.h
β
X
π futex.h
β
X
π gameport.h
β
X
π gen_stats.h
β
X
π genetlink.h
β
X
π genwqe/
X
π gfs2_ondisk.h
β
X
π gpio.h
β
X
π gsmmux.h
β
X
π gtp.h
β
X
π handshake.h
β
X
π hash_info.h
β
X
π hdlc/
X
π hdlc.h
β
X
π hdlcdrv.h
β
X
π hdreg.h
β
X
π hid.h
β
X
π hiddev.h
β
X
π hidraw.h
β
X
π hpet.h
β
X
π hsi/
X
π hsr_netlink.h
β
X
π hw_breakpoint.h
β
X
π hyperv.h
β
X
π i2c-dev.h
β
X
π i2c.h
β
X
π i2o-dev.h
β
X
π i8k.h
β
X
π icmp.h
β
X
π icmpv6.h
β
X
π idxd.h
β
X
π if.h
β
X
π if_addr.h
β
X
π if_addrlabel.h
β
X
π if_alg.h
β
X
π if_arcnet.h
β
X
π if_arp.h
β
X
π if_bonding.h
β
X
π if_bridge.h
β
X
π if_cablemodem.h
β
X
π if_eql.h
β
X
π if_ether.h
β
X
π if_fc.h
β
X
π if_fddi.h
β
X
π if_hippi.h
β
X
π if_infiniband.h
β
X
π if_link.h
β
X
π if_ltalk.h
β
X
π if_macsec.h
β
X
π if_packet.h
β
X
π if_phonet.h
β
X
π if_plip.h
β
X
π if_ppp.h
β
X
π if_pppol2tp.h
β
X
π if_pppox.h
β
X
π if_slip.h
β
X
π if_team.h
β
X
π if_tun.h
β
X
π if_tunnel.h
β
X
π if_vlan.h
β
X
π if_x25.h
β
X
π if_xdp.h
β
X
π ife.h
β
X
π igmp.h
β
X
π iio/
X
π ila.h
β
X
π in.h
β
X
π in6.h
β
X
π in_route.h
β
X
π inet_diag.h
β
X
π inotify.h
β
X
π input-event-codes.h
β
X
π input.h
β
X
π io_uring.h
β
X
π ioctl.h
β
X
π iommufd.h
β
X
π ioprio.h
β
X
π ip.h
β
X
π ip6_tunnel.h
β
X
π ip_vs.h
β
X
π ipc.h
β
X
π ipmi.h
β
X
π ipmi_bmc.h
β
X
π ipmi_msgdefs.h
β
X
π ipmi_ssif_bmc.h
β
X
π ipsec.h
β
X
π ipv6.h
β
X
π ipv6_route.h
β
X
π ipx.h
β
X
π irqnr.h
β
X
π isdn/
X
π iso_fs.h
β
X
π isst_if.h
β
X
π ivtv.h
β
X
π ivtvfb.h
β
X
π jffs2.h
β
X
π joystick.h
β
X
π kcm.h
β
X
π kcmp.h
β
X
π kcov.h
β
X
π kd.h
β
X
π kdev_t.h
β
X
π kernel-page-flags.h
β
X
π kernel.h
β
X
π kernelcapi.h
β
X
π kexec.h
β
X
π keyboard.h
β
X
π keyctl.h
β
X
π kfd_ioctl.h
β
X
π kfd_sysfs.h
β
X
π kvm.h
β
X
π kvm_para.h
β
X
π l2tp.h
β
X
π landlock.h
β
X
π libc-compat.h
β
X
π limits.h
β
X
π lirc.h
β
X
π llc.h
β
X
π loadpin.h
β
X
π loop.h
β
X
π lp.h
β
X
π lsm.h
β
X
π lwtunnel.h
β
X
π magic.h
β
X
π major.h
β
X
π map_to_7segment.h
β
X
π matroxfb.h
β
X
π max2175.h
β
X
π mdio.h
β
X
π media-bus-format.h
β
X
π media.h
β
X
π mei.h
β
X
π mei_uuid.h
β
X
π membarrier.h
β
X
π memfd.h
β
X
π mempolicy.h
β
X
π meye.h
β
X
π mii.h
β
X
π minix_fs.h
β
X
π misc/
X
π mman.h
β
X
π mmc/
X
π mmtimer.h
β
X
π module.h
β
X
π mount.h
β
X
π mpls.h
β
X
π mpls_iptunnel.h
β
X
π mptcp.h
β
X
π mptcp_pm.h
β
X
π mqueue.h
β
X
π mroute.h
β
X
π mroute6.h
β
X
π mrp_bridge.h
β
X
π msdos_fs.h
β
X
π msg.h
β
X
π mshv.h
β
X
π mtio.h
β
X
π nbd-netlink.h
β
X
π nbd.h
β
X
π ncsi.h
β
X
π ndctl.h
β
X
π neighbour.h
β
X
π net.h
β
X
π net_dropmon.h
β
X
π net_namespace.h
β
X
π net_shaper.h
β
X
π net_tstamp.h
β
X
π netconf.h
β
X
π netdev.h
β
X
π netdevice.h
β
X
π netfilter/
X
π netfilter.h
β
X
π netfilter_arp/
X
π netfilter_arp.h
β
X
π netfilter_bridge/
X
π netfilter_bridge.h
β
X
π netfilter_decnet.h
β
X
π netfilter_ipv4/
X
π netfilter_ipv4.h
β
X
π netfilter_ipv6/
X
π netfilter_ipv6.h
β
X
π netlink.h
β
X
π netlink_diag.h
β
X
π netrom.h
β
X
π nexthop.h
β
X
π nfc.h
β
X
π nfs.h
β
X
π nfs2.h
β
X
π nfs3.h
β
X
π nfs4.h
β
X
π nfs4_mount.h
β
X
π nfs_fs.h
β
X
π nfs_idmap.h
β
X
π nfs_mount.h
β
X
π nfsacl.h
β
X
π nfsd/
X
π nfsd_netlink.h
β
X
π nilfs2_api.h
β
X
π nilfs2_ondisk.h
β
X
π nitro_enclaves.h
β
X
π nl80211.h
β
X
π nsfs.h
β
X
π nubus.h
β
X
π nvme_ioctl.h
β
X
π nvram.h
β
X
π omap3isp.h
β
X
π omapfb.h
β
X
π oom.h
β
X
π openat2.h
β
X
π openvswitch.h
β
X
π packet_diag.h
β
X
π param.h
β
X
π parport.h
β
X
π patchkey.h
β
X
π pci.h
β
X
π pci_regs.h
β
X
π pcitest.h
β
X
π perf_event.h
β
X
π personality.h
β
X
π pfkeyv2.h
β
X
π pfrut.h
β
X
π pg.h
β
X
π phantom.h
β
X
π phonet.h
β
X
π pidfd.h
β
X
π pkt_cls.h
β
X
π pkt_sched.h
β
X
π pktcdvd.h
β
X
π pmu.h
β
X
π poll.h
β
X
π posix_acl.h
β
X
π posix_acl_xattr.h
β
X
π posix_types.h
β
X
π ppdev.h
β
X
π ppp-comp.h
β
X
π ppp-ioctl.h
β
X
π ppp_defs.h
β
X
π pps.h
β
X
π pr.h
β
X
π prctl.h
β
X
π psample.h
β
X
π psci.h
β
X
π psp-dbc.h
β
X
π psp-sev.h
β
X
π ptp_clock.h
β
X
π ptrace.h
β
X
π qemu_fw_cfg.h
β
X
π qnx4_fs.h
β
X
π qnxtypes.h
β
X
π qrtr.h
β
X
π quota.h
β
X
π radeonfb.h
β
X
π raid/
X
π random.h
β
X
π rds.h
β
X
π reboot.h
β
X
π reiserfs_fs.h
β
X
π reiserfs_xattr.h
β
X
π remoteproc_cdev.h
β
X
π resource.h
β
X
π rfkill.h
β
X
π rio_cm_cdev.h
β
X
π rio_mport_cdev.h
β
X
π rkisp1-config.h
β
X
π romfs_fs.h
β
X
π rose.h
β
X
π route.h
β
X
π rpl.h
β
X
π rpl_iptunnel.h
β
X
π rpmsg.h
β
X
π rpmsg_types.h
β
X
π rseq.h
β
X
π rtc.h
β
X
π rtnetlink.h
β
X
π rxrpc.h
β
X
π scc.h
β
X
π sched/
X
π sched.h
β
X
π scif_ioctl.h
β
X
π screen_info.h
β
X
π sctp.h
β
X
π seccomp.h
β
X
π securebits.h
β
X
π sed-opal.h
β
X
π seg6.h
β
X
π seg6_genl.h
β
X
π seg6_hmac.h
β
X
π seg6_iptunnel.h
β
X
π seg6_local.h
β
X
π selinux_netlink.h
β
X
π sem.h
β
X
π serial.h
β
X
π serial_core.h
β
X
π serial_reg.h
β
X
π serio.h
β
X
π sev-guest.h
β
X
π shm.h
β
X
π signal.h
β
X
π signalfd.h
β
X
π smc.h
β
X
π smc_diag.h
β
X
π smiapp.h
β
X
π snmp.h
β
X
π sock_diag.h
β
X
π socket.h
β
X
π sockios.h
β
X
π sonet.h
β
X
π sonypi.h
β
X
π sound.h
β
X
π soundcard.h
β
X
π spi/
X
π stat.h
β
X
π stddef.h
β
X
π stm.h
β
X
π string.h
β
X
π sunrpc/
X
π surface_aggregator/
X
π suspend_ioctls.h
β
X
π swab.h
β
X
π switchtec_ioctl.h
β
X
π sync_file.h
β
X
π synclink.h
β
X
π sysctl.h
β
X
π sysinfo.h
β
X
π target_core_user.h
β
X
π taskstats.h
β
X
π tc_act/
X
π tc_ematch/
X
π tcp.h
β
X
π tcp_metrics.h
β
X
π tdx-guest.h
β
X
π tee.h
β
X
π termios.h
β
X
π thermal.h
β
X
π time.h
β
X
π time_types.h
β
X
π timerfd.h
β
X
π times.h
β
X
π timex.h
β
X
π tiocl.h
β
X
π tipc.h
β
X
π tipc_config.h
β
X
π tipc_netlink.h
β
X
π tipc_sockets_diag.h
β
X
π tls.h
β
X
π toshiba.h
β
X
π tps6594_pfsm.h
β
X
π tty.h
β
X
π tty_flags.h
β
X
π types.h
β
X
π udf_fs_i.h
β
X
π udmabuf.h
β
X
π udp.h
β
X
π uhid.h
β
X
π uinput.h
β
X
π uio.h
β
X
π uleds.h
β
X
π ultrasound.h
β
X
π um_timetravel.h
β
X
π un.h
β
X
π unistd.h
β
X
π unix_diag.h
β
X
π usb/
X
π usbdevice_fs.h
β
X
π usbip.h
β
X
π userfaultfd.h
β
X
π userio.h
β
X
π utime.h
β
X
π utsname.h
β
X
π uuid.h
β
X
π uvcvideo.h
β
X
π v4l2-common.h
β
X
π v4l2-controls.h
β
X
π v4l2-dv-timings.h
β
X
π v4l2-mediabus.h
β
X
π v4l2-subdev.h
β
X
π vbox_err.h
β
X
π vbox_vmmdev_types.h
β
X
π vboxguest.h
β
X
π vdpa.h
β
X
π vduse.h
β
X
π version.h
β
X
π veth.h
β
X
π vfio.h
β
X
π vfio_ccw.h
β
X
π vfio_zdev.h
β
X
π vhost.h
β
X
π vhost_types.h
β
X
π videodev2.h
β
X
π virtio_9p.h
β
X
π virtio_balloon.h
β
X
π virtio_blk.h
β
X
π virtio_bt.h
β
X
π virtio_config.h
β
X
π virtio_console.h
β
X
π virtio_crypto.h
β
X
π virtio_fs.h
β
X
π virtio_gpio.h
β
X
π virtio_gpu.h
β
X
π virtio_i2c.h
β
X
π virtio_ids.h
β
X
π virtio_input.h
β
X
π virtio_iommu.h
β
X
π virtio_mem.h
β
X
π virtio_mmio.h
β
X
π virtio_net.h
β
X
π virtio_pci.h
β
X
π virtio_pcidev.h
β
X
π virtio_pmem.h
β
X
π virtio_ring.h
β
X
π virtio_rng.h
β
X
π virtio_scmi.h
β
X
π virtio_scsi.h
β
X
π virtio_snd.h
β
X
π virtio_types.h
β
X
π virtio_vsock.h
β
X
π vm_sockets.h
β
X
π vm_sockets_diag.h
β
X
π vmcore.h
β
X
π vsockmon.h
β
X
π vt.h
β
X
π vtpm_proxy.h
β
X
π wait.h
β
X
π watch_queue.h
β
X
π watchdog.h
β
X
π wireguard.h
β
X
π wireless.h
β
X
π wmi.h
β
X
π wwan.h
β
X
π x25.h
β
X
π xattr.h
β
X
π xdp_diag.h
β
X
π xfrm.h
β
X
π xilinx-v4l2-controls.h
β
X
π zorro.h
β
X
π zorro_ids.h
β
X
SAVING...
BERHASIL DIUBAH!
EDITING: dcbnl.h
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * Copyright (c) 2008-2011, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307 USA. * * Author: Lucy Liu <lucy.liu@intel.com> */ #ifndef __LINUX_DCBNL_H__ #define __LINUX_DCBNL_H__ #include <linux/types.h> /* IEEE 802.1Qaz std supported values */ #define IEEE_8021QAZ_MAX_TCS 8 #define IEEE_8021QAZ_TSA_STRICT 0 #define IEEE_8021QAZ_TSA_CB_SHAPER 1 #define IEEE_8021QAZ_TSA_ETS 2 #define IEEE_8021QAZ_TSA_VENDOR 255 /* This structure contains the IEEE 802.1Qaz ETS managed object * * @willing: willing bit in ETS configuration TLV * @ets_cap: indicates supported capacity of ets feature * @cbs: credit based shaper ets algorithm supported * @tc_tx_bw: tc tx bandwidth indexed by traffic class * @tc_rx_bw: tc rx bandwidth indexed by traffic class * @tc_tsa: TSA Assignment table, indexed by traffic class * @prio_tc: priority assignment table mapping 8021Qp to traffic class * @tc_reco_bw: recommended tc bandwidth indexed by traffic class for TLV * @tc_reco_tsa: recommended tc bandwidth indexed by traffic class for TLV * @reco_prio_tc: recommended tc tx bandwidth indexed by traffic class for TLV * * Recommended values are used to set fields in the ETS recommendation TLV * with hardware offloaded LLDP. * * ---- * TSA Assignment 8 bit identifiers * 0 strict priority * 1 credit-based shaper * 2 enhanced transmission selection * 3-254 reserved * 255 vendor specific */ struct ieee_ets { __u8 willing; __u8 ets_cap; __u8 cbs; __u8 tc_tx_bw[IEEE_8021QAZ_MAX_TCS]; __u8 tc_rx_bw[IEEE_8021QAZ_MAX_TCS]; __u8 tc_tsa[IEEE_8021QAZ_MAX_TCS]; __u8 prio_tc[IEEE_8021QAZ_MAX_TCS]; __u8 tc_reco_bw[IEEE_8021QAZ_MAX_TCS]; __u8 tc_reco_tsa[IEEE_8021QAZ_MAX_TCS]; __u8 reco_prio_tc[IEEE_8021QAZ_MAX_TCS]; }; /* This structure contains rate limit extension to the IEEE 802.1Qaz ETS * managed object. * Values are 64 bits long and specified in Kbps to enable usage over both * slow and very fast networks. * * @tc_maxrate: maximal tc tx bandwidth indexed by traffic class */ struct ieee_maxrate { __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS]; }; enum dcbnl_cndd_states { DCB_CNDD_RESET = 0, DCB_CNDD_EDGE, DCB_CNDD_INTERIOR, DCB_CNDD_INTERIOR_READY, }; /* This structure contains the IEEE 802.1Qau QCN managed object. * *@rpg_enable: enable QCN RP *@rppp_max_rps: maximum number of RPs allowed for this CNPV on this port *@rpg_time_reset: time between rate increases if no CNMs received. * given in u-seconds *@rpg_byte_reset: transmitted data between rate increases if no CNMs received. * given in Bytes *@rpg_threshold: The number of times rpByteStage or rpTimeStage can count * before RP rate control state machine advances states *@rpg_max_rate: the maxinun rate, in Mbits per second, * at which an RP can transmit *@rpg_ai_rate: The rate, in Mbits per second, * used to increase rpTargetRate in the RPR_ACTIVE_INCREASE *@rpg_hai_rate: The rate, in Mbits per second, * used to increase rpTargetRate in the RPR_HYPER_INCREASE state *@rpg_gd: Upon CNM receive, flow rate is limited to (Fb/Gd)*CurrentRate. * rpgGd is given as log2(Gd), where Gd may only be powers of 2 *@rpg_min_dec_fac: The minimum factor by which the current transmit rate * can be changed by reception of a CNM. * value is given as percentage (1-100) *@rpg_min_rate: The minimum value, in bits per second, for rate to limit *@cndd_state_machine: The state of the congestion notification domain * defense state machine, as defined by IEEE 802.3Qau * section 32.1.1. In the interior ready state, * the QCN capable hardware may add CN-TAG TLV to the * outgoing traffic, to specifically identify outgoing * flows. */ struct ieee_qcn { __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS]; __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS]; __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS]; __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS]; }; /* This structure contains the IEEE 802.1Qau QCN statistics. * *@rppp_rp_centiseconds: the number of RP-centiseconds accumulated * by RPs at this priority level on this Port *@rppp_created_rps: number of active RPs(flows) that react to CNMs */ struct ieee_qcn_stats { __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS]; __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS]; }; /* This structure contains the IEEE 802.1Qaz PFC managed object * * @pfc_cap: Indicates the number of traffic classes on the local device * that may simultaneously have PFC enabled. * @pfc_en: bitmap indicating pfc enabled traffic classes * @mbc: enable macsec bypass capability * @delay: the allowance made for a round-trip propagation delay of the * link in bits. * @requests: count of the sent pfc frames * @indications: count of the received pfc frames */ struct ieee_pfc { __u8 pfc_cap; __u8 pfc_en; __u8 mbc; __u16 delay; __u64 requests[IEEE_8021QAZ_MAX_TCS]; __u64 indications[IEEE_8021QAZ_MAX_TCS]; }; #define IEEE_8021Q_MAX_PRIORITIES 8 #define DCBX_MAX_BUFFERS 8 struct dcbnl_buffer { /* priority to buffer mapping */ __u8 prio2buffer[IEEE_8021Q_MAX_PRIORITIES]; /* buffer size in Bytes */ __u32 buffer_size[DCBX_MAX_BUFFERS]; __u32 total_size; }; /* CEE DCBX std supported values */ #define CEE_DCBX_MAX_PGS 8 #define CEE_DCBX_MAX_PRIO 8 /** * struct cee_pg - CEE Priority-Group managed object * * @willing: willing bit in the PG tlv * @error: error bit in the PG tlv * @pg_en: enable bit of the PG feature * @tcs_supported: number of traffic classes supported * @pg_bw: bandwidth percentage for each priority group * @prio_pg: priority to PG mapping indexed by priority */ struct cee_pg { __u8 willing; __u8 error; __u8 pg_en; __u8 tcs_supported; __u8 pg_bw[CEE_DCBX_MAX_PGS]; __u8 prio_pg[CEE_DCBX_MAX_PGS]; }; /** * struct cee_pfc - CEE PFC managed object * * @willing: willing bit in the PFC tlv * @error: error bit in the PFC tlv * @pfc_en: bitmap indicating pfc enabled traffic classes * @tcs_supported: number of traffic classes supported */ struct cee_pfc { __u8 willing; __u8 error; __u8 pfc_en; __u8 tcs_supported; }; /* IEEE 802.1Qaz std supported values */ #define IEEE_8021QAZ_APP_SEL_ETHERTYPE 1 #define IEEE_8021QAZ_APP_SEL_STREAM 2 #define IEEE_8021QAZ_APP_SEL_DGRAM 3 #define IEEE_8021QAZ_APP_SEL_ANY 4 #define IEEE_8021QAZ_APP_SEL_DSCP 5 /* This structure contains the IEEE 802.1Qaz APP managed object. This * object is also used for the CEE std as well. * * @selector: protocol identifier type * @protocol: protocol of type indicated * @priority: 3-bit unsigned integer indicating priority for IEEE * 8-bit 802.1p user priority bitmap for CEE * * ---- * Selector field values for IEEE 802.1Qaz * 0 Reserved * 1 Ethertype * 2 Well known port number over TCP or SCTP * 3 Well known port number over UDP or DCCP * 4 Well known port number over TCP, SCTP, UDP, or DCCP * 5 Differentiated Services Code Point (DSCP) value * 6-7 Reserved * * Selector field values for CEE * 0 Ethertype * 1 Well known port number over TCP or UDP * 2-3 Reserved */ struct dcb_app { __u8 selector; __u8 priority; __u16 protocol; }; /** * struct dcb_peer_app_info - APP feature information sent by the peer * * @willing: willing bit in the peer APP tlv * @error: error bit in the peer APP tlv * * In addition to this information the full peer APP tlv also contains * a table of 'app_count' APP objects defined above. */ struct dcb_peer_app_info { __u8 willing; __u8 error; }; struct dcbmsg { __u8 dcb_family; __u8 cmd; __u16 dcb_pad; }; /** * enum dcbnl_commands - supported DCB commands * * @DCB_CMD_UNDEFINED: unspecified command to catch errors * @DCB_CMD_GSTATE: request the state of DCB in the device * @DCB_CMD_SSTATE: set the state of DCB in the device * @DCB_CMD_PGTX_GCFG: request the priority group configuration for Tx * @DCB_CMD_PGTX_SCFG: set the priority group configuration for Tx * @DCB_CMD_PGRX_GCFG: request the priority group configuration for Rx * @DCB_CMD_PGRX_SCFG: set the priority group configuration for Rx * @DCB_CMD_PFC_GCFG: request the priority flow control configuration * @DCB_CMD_PFC_SCFG: set the priority flow control configuration * @DCB_CMD_SET_ALL: apply all changes to the underlying device * @DCB_CMD_GPERM_HWADDR: get the permanent MAC address of the underlying * device. Only useful when using bonding. * @DCB_CMD_GCAP: request the DCB capabilities of the device * @DCB_CMD_GNUMTCS: get the number of traffic classes currently supported * @DCB_CMD_SNUMTCS: set the number of traffic classes * @DCB_CMD_GBCN: set backward congestion notification configuration * @DCB_CMD_SBCN: get backward congestion notification configuration. * @DCB_CMD_GAPP: get application protocol configuration * @DCB_CMD_SAPP: set application protocol configuration * @DCB_CMD_IEEE_SET: set IEEE 802.1Qaz configuration * @DCB_CMD_IEEE_GET: get IEEE 802.1Qaz configuration * @DCB_CMD_GDCBX: get DCBX engine configuration * @DCB_CMD_SDCBX: set DCBX engine configuration * @DCB_CMD_GFEATCFG: get DCBX features flags * @DCB_CMD_SFEATCFG: set DCBX features negotiation flags * @DCB_CMD_CEE_GET: get CEE aggregated configuration * @DCB_CMD_IEEE_DEL: delete IEEE 802.1Qaz configuration */ enum dcbnl_commands { DCB_CMD_UNDEFINED, DCB_CMD_GSTATE, DCB_CMD_SSTATE, DCB_CMD_PGTX_GCFG, DCB_CMD_PGTX_SCFG, DCB_CMD_PGRX_GCFG, DCB_CMD_PGRX_SCFG, DCB_CMD_PFC_GCFG, DCB_CMD_PFC_SCFG, DCB_CMD_SET_ALL, DCB_CMD_GPERM_HWADDR, DCB_CMD_GCAP, DCB_CMD_GNUMTCS, DCB_CMD_SNUMTCS, DCB_CMD_PFC_GSTATE, DCB_CMD_PFC_SSTATE, DCB_CMD_BCN_GCFG, DCB_CMD_BCN_SCFG, DCB_CMD_GAPP, DCB_CMD_SAPP, DCB_CMD_IEEE_SET, DCB_CMD_IEEE_GET, DCB_CMD_GDCBX, DCB_CMD_SDCBX, DCB_CMD_GFEATCFG, DCB_CMD_SFEATCFG, DCB_CMD_CEE_GET, DCB_CMD_IEEE_DEL, __DCB_CMD_ENUM_MAX, DCB_CMD_MAX = __DCB_CMD_ENUM_MAX - 1, }; /** * enum dcbnl_attrs - DCB top-level netlink attributes * * @DCB_ATTR_UNDEFINED: unspecified attribute to catch errors * @DCB_ATTR_IFNAME: interface name of the underlying device (NLA_STRING) * @DCB_ATTR_STATE: enable state of DCB in the device (NLA_U8) * @DCB_ATTR_PFC_STATE: enable state of PFC in the device (NLA_U8) * @DCB_ATTR_PFC_CFG: priority flow control configuration (NLA_NESTED) * @DCB_ATTR_NUM_TC: number of traffic classes supported in the device (NLA_U8) * @DCB_ATTR_PG_CFG: priority group configuration (NLA_NESTED) * @DCB_ATTR_SET_ALL: bool to commit changes to hardware or not (NLA_U8) * @DCB_ATTR_PERM_HWADDR: MAC address of the physical device (NLA_NESTED) * @DCB_ATTR_CAP: DCB capabilities of the device (NLA_NESTED) * @DCB_ATTR_NUMTCS: number of traffic classes supported (NLA_NESTED) * @DCB_ATTR_BCN: backward congestion notification configuration (NLA_NESTED) * @DCB_ATTR_IEEE: IEEE 802.1Qaz supported attributes (NLA_NESTED) * @DCB_ATTR_DCBX: DCBX engine configuration in the device (NLA_U8) * @DCB_ATTR_FEATCFG: DCBX features flags (NLA_NESTED) * @DCB_ATTR_CEE: CEE std supported attributes (NLA_NESTED) */ enum dcbnl_attrs { DCB_ATTR_UNDEFINED, DCB_ATTR_IFNAME, DCB_ATTR_STATE, DCB_ATTR_PFC_STATE, DCB_ATTR_PFC_CFG, DCB_ATTR_NUM_TC, DCB_ATTR_PG_CFG, DCB_ATTR_SET_ALL, DCB_ATTR_PERM_HWADDR, DCB_ATTR_CAP, DCB_ATTR_NUMTCS, DCB_ATTR_BCN, DCB_ATTR_APP, /* IEEE std attributes */ DCB_ATTR_IEEE, DCB_ATTR_DCBX, DCB_ATTR_FEATCFG, /* CEE nested attributes */ DCB_ATTR_CEE, __DCB_ATTR_ENUM_MAX, DCB_ATTR_MAX = __DCB_ATTR_ENUM_MAX - 1, }; /** * enum ieee_attrs - IEEE 802.1Qaz get/set attributes * * @DCB_ATTR_IEEE_UNSPEC: unspecified * @DCB_ATTR_IEEE_ETS: negotiated ETS configuration * @DCB_ATTR_IEEE_PFC: negotiated PFC configuration * @DCB_ATTR_IEEE_APP_TABLE: negotiated APP configuration * @DCB_ATTR_IEEE_PEER_ETS: peer ETS configuration - get only * @DCB_ATTR_IEEE_PEER_PFC: peer PFC configuration - get only * @DCB_ATTR_IEEE_PEER_APP: peer APP tlv - get only */ enum ieee_attrs { DCB_ATTR_IEEE_UNSPEC, DCB_ATTR_IEEE_ETS, DCB_ATTR_IEEE_PFC, DCB_ATTR_IEEE_APP_TABLE, DCB_ATTR_IEEE_PEER_ETS, DCB_ATTR_IEEE_PEER_PFC, DCB_ATTR_IEEE_PEER_APP, DCB_ATTR_IEEE_MAXRATE, DCB_ATTR_IEEE_QCN, DCB_ATTR_IEEE_QCN_STATS, DCB_ATTR_DCB_BUFFER, __DCB_ATTR_IEEE_MAX }; #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1) enum ieee_attrs_app { DCB_ATTR_IEEE_APP_UNSPEC, DCB_ATTR_IEEE_APP, __DCB_ATTR_IEEE_APP_MAX }; #define DCB_ATTR_IEEE_APP_MAX (__DCB_ATTR_IEEE_APP_MAX - 1) /** * enum cee_attrs - CEE DCBX get attributes. * * @DCB_ATTR_CEE_UNSPEC: unspecified * @DCB_ATTR_CEE_PEER_PG: peer PG configuration - get only * @DCB_ATTR_CEE_PEER_PFC: peer PFC configuration - get only * @DCB_ATTR_CEE_PEER_APP_TABLE: peer APP tlv - get only * @DCB_ATTR_CEE_TX_PG: TX PG configuration (DCB_CMD_PGTX_GCFG) * @DCB_ATTR_CEE_RX_PG: RX PG configuration (DCB_CMD_PGRX_GCFG) * @DCB_ATTR_CEE_PFC: PFC configuration (DCB_CMD_PFC_GCFG) * @DCB_ATTR_CEE_APP_TABLE: APP configuration (multi DCB_CMD_GAPP) * @DCB_ATTR_CEE_FEAT: DCBX features flags (DCB_CMD_GFEATCFG) * * An aggregated collection of the cee std negotiated parameters. */ enum cee_attrs { DCB_ATTR_CEE_UNSPEC, DCB_ATTR_CEE_PEER_PG, DCB_ATTR_CEE_PEER_PFC, DCB_ATTR_CEE_PEER_APP_TABLE, DCB_ATTR_CEE_TX_PG, DCB_ATTR_CEE_RX_PG, DCB_ATTR_CEE_PFC, DCB_ATTR_CEE_APP_TABLE, DCB_ATTR_CEE_FEAT, __DCB_ATTR_CEE_MAX }; #define DCB_ATTR_CEE_MAX (__DCB_ATTR_CEE_MAX - 1) enum peer_app_attr { DCB_ATTR_CEE_PEER_APP_UNSPEC, DCB_ATTR_CEE_PEER_APP_INFO, DCB_ATTR_CEE_PEER_APP, __DCB_ATTR_CEE_PEER_APP_MAX }; #define DCB_ATTR_CEE_PEER_APP_MAX (__DCB_ATTR_CEE_PEER_APP_MAX - 1) enum cee_attrs_app { DCB_ATTR_CEE_APP_UNSPEC, DCB_ATTR_CEE_APP, __DCB_ATTR_CEE_APP_MAX }; #define DCB_ATTR_CEE_APP_MAX (__DCB_ATTR_CEE_APP_MAX - 1) /** * enum dcbnl_pfc_attrs - DCB Priority Flow Control user priority nested attrs * * @DCB_PFC_UP_ATTR_UNDEFINED: unspecified attribute to catch errors * @DCB_PFC_UP_ATTR_0: Priority Flow Control value for User Priority 0 (NLA_U8) * @DCB_PFC_UP_ATTR_1: Priority Flow Control value for User Priority 1 (NLA_U8) * @DCB_PFC_UP_ATTR_2: Priority Flow Control value for User Priority 2 (NLA_U8) * @DCB_PFC_UP_ATTR_3: Priority Flow Control value for User Priority 3 (NLA_U8) * @DCB_PFC_UP_ATTR_4: Priority Flow Control value for User Priority 4 (NLA_U8) * @DCB_PFC_UP_ATTR_5: Priority Flow Control value for User Priority 5 (NLA_U8) * @DCB_PFC_UP_ATTR_6: Priority Flow Control value for User Priority 6 (NLA_U8) * @DCB_PFC_UP_ATTR_7: Priority Flow Control value for User Priority 7 (NLA_U8) * @DCB_PFC_UP_ATTR_MAX: highest attribute number currently defined * @DCB_PFC_UP_ATTR_ALL: apply to all priority flow control attrs (NLA_FLAG) * */ enum dcbnl_pfc_up_attrs { DCB_PFC_UP_ATTR_UNDEFINED, DCB_PFC_UP_ATTR_0, DCB_PFC_UP_ATTR_1, DCB_PFC_UP_ATTR_2, DCB_PFC_UP_ATTR_3, DCB_PFC_UP_ATTR_4, DCB_PFC_UP_ATTR_5, DCB_PFC_UP_ATTR_6, DCB_PFC_UP_ATTR_7, DCB_PFC_UP_ATTR_ALL, __DCB_PFC_UP_ATTR_ENUM_MAX, DCB_PFC_UP_ATTR_MAX = __DCB_PFC_UP_ATTR_ENUM_MAX - 1, }; /** * enum dcbnl_pg_attrs - DCB Priority Group attributes * * @DCB_PG_ATTR_UNDEFINED: unspecified attribute to catch errors * @DCB_PG_ATTR_TC_0: Priority Group Traffic Class 0 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_1: Priority Group Traffic Class 1 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_2: Priority Group Traffic Class 2 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_3: Priority Group Traffic Class 3 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_4: Priority Group Traffic Class 4 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_5: Priority Group Traffic Class 5 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_6: Priority Group Traffic Class 6 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_7: Priority Group Traffic Class 7 configuration (NLA_NESTED) * @DCB_PG_ATTR_TC_MAX: highest attribute number currently defined * @DCB_PG_ATTR_TC_ALL: apply to all traffic classes (NLA_NESTED) * @DCB_PG_ATTR_BW_ID_0: Percent of link bandwidth for Priority Group 0 (NLA_U8) * @DCB_PG_ATTR_BW_ID_1: Percent of link bandwidth for Priority Group 1 (NLA_U8) * @DCB_PG_ATTR_BW_ID_2: Percent of link bandwidth for Priority Group 2 (NLA_U8) * @DCB_PG_ATTR_BW_ID_3: Percent of link bandwidth for Priority Group 3 (NLA_U8) * @DCB_PG_ATTR_BW_ID_4: Percent of link bandwidth for Priority Group 4 (NLA_U8) * @DCB_PG_ATTR_BW_ID_5: Percent of link bandwidth for Priority Group 5 (NLA_U8) * @DCB_PG_ATTR_BW_ID_6: Percent of link bandwidth for Priority Group 6 (NLA_U8) * @DCB_PG_ATTR_BW_ID_7: Percent of link bandwidth for Priority Group 7 (NLA_U8) * @DCB_PG_ATTR_BW_ID_MAX: highest attribute number currently defined * @DCB_PG_ATTR_BW_ID_ALL: apply to all priority groups (NLA_FLAG) * */ enum dcbnl_pg_attrs { DCB_PG_ATTR_UNDEFINED, DCB_PG_ATTR_TC_0, DCB_PG_ATTR_TC_1, DCB_PG_ATTR_TC_2, DCB_PG_ATTR_TC_3, DCB_PG_ATTR_TC_4, DCB_PG_ATTR_TC_5, DCB_PG_ATTR_TC_6, DCB_PG_ATTR_TC_7, DCB_PG_ATTR_TC_MAX, DCB_PG_ATTR_TC_ALL, DCB_PG_ATTR_BW_ID_0, DCB_PG_ATTR_BW_ID_1, DCB_PG_ATTR_BW_ID_2, DCB_PG_ATTR_BW_ID_3, DCB_PG_ATTR_BW_ID_4, DCB_PG_ATTR_BW_ID_5, DCB_PG_ATTR_BW_ID_6, DCB_PG_ATTR_BW_ID_7, DCB_PG_ATTR_BW_ID_MAX, DCB_PG_ATTR_BW_ID_ALL, __DCB_PG_ATTR_ENUM_MAX, DCB_PG_ATTR_MAX = __DCB_PG_ATTR_ENUM_MAX - 1, }; /** * enum dcbnl_tc_attrs - DCB Traffic Class attributes * * @DCB_TC_ATTR_PARAM_UNDEFINED: unspecified attribute to catch errors * @DCB_TC_ATTR_PARAM_PGID: (NLA_U8) Priority group the traffic class belongs to * Valid values are: 0-7 * @DCB_TC_ATTR_PARAM_UP_MAPPING: (NLA_U8) Traffic class to user priority map * Some devices may not support changing the * user priority map of a TC. * @DCB_TC_ATTR_PARAM_STRICT_PRIO: (NLA_U8) Strict priority setting * 0 - none * 1 - group strict * 2 - link strict * @DCB_TC_ATTR_PARAM_BW_PCT: optional - (NLA_U8) If supported by the device and * not configured to use link strict priority, * this is the percentage of bandwidth of the * priority group this traffic class belongs to * @DCB_TC_ATTR_PARAM_ALL: (NLA_FLAG) all traffic class parameters * */ enum dcbnl_tc_attrs { DCB_TC_ATTR_PARAM_UNDEFINED, DCB_TC_ATTR_PARAM_PGID, DCB_TC_ATTR_PARAM_UP_MAPPING, DCB_TC_ATTR_PARAM_STRICT_PRIO, DCB_TC_ATTR_PARAM_BW_PCT, DCB_TC_ATTR_PARAM_ALL, __DCB_TC_ATTR_PARAM_ENUM_MAX, DCB_TC_ATTR_PARAM_MAX = __DCB_TC_ATTR_PARAM_ENUM_MAX - 1, }; /** * enum dcbnl_cap_attrs - DCB Capability attributes * * @DCB_CAP_ATTR_UNDEFINED: unspecified attribute to catch errors * @DCB_CAP_ATTR_ALL: (NLA_FLAG) all capability parameters * @DCB_CAP_ATTR_PG: (NLA_U8) device supports Priority Groups * @DCB_CAP_ATTR_PFC: (NLA_U8) device supports Priority Flow Control * @DCB_CAP_ATTR_UP2TC: (NLA_U8) device supports user priority to * traffic class mapping * @DCB_CAP_ATTR_PG_TCS: (NLA_U8) bitmap where each bit represents a * number of traffic classes the device * can be configured to use for Priority Groups * @DCB_CAP_ATTR_PFC_TCS: (NLA_U8) bitmap where each bit represents a * number of traffic classes the device can be * configured to use for Priority Flow Control * @DCB_CAP_ATTR_GSP: (NLA_U8) device supports group strict priority * @DCB_CAP_ATTR_BCN: (NLA_U8) device supports Backwards Congestion * Notification * @DCB_CAP_ATTR_DCBX: (NLA_U8) device supports DCBX engine * */ enum dcbnl_cap_attrs { DCB_CAP_ATTR_UNDEFINED, DCB_CAP_ATTR_ALL, DCB_CAP_ATTR_PG, DCB_CAP_ATTR_PFC, DCB_CAP_ATTR_UP2TC, DCB_CAP_ATTR_PG_TCS, DCB_CAP_ATTR_PFC_TCS, DCB_CAP_ATTR_GSP, DCB_CAP_ATTR_BCN, DCB_CAP_ATTR_DCBX, __DCB_CAP_ATTR_ENUM_MAX, DCB_CAP_ATTR_MAX = __DCB_CAP_ATTR_ENUM_MAX - 1, }; /** * DCBX capability flags * * @DCB_CAP_DCBX_HOST: DCBX negotiation is performed by the host LLDP agent. * 'set' routines are used to configure the device with * the negotiated parameters * * @DCB_CAP_DCBX_LLD_MANAGED: DCBX negotiation is not performed in the host but * by another entity * 'get' routines are used to retrieve the * negotiated parameters * 'set' routines can be used to set the initial * negotiation configuration * * @DCB_CAP_DCBX_VER_CEE: for a non-host DCBX engine, indicates the engine * supports the CEE protocol flavor * * @DCB_CAP_DCBX_VER_IEEE: for a non-host DCBX engine, indicates the engine * supports the IEEE protocol flavor * * @DCB_CAP_DCBX_STATIC: for a non-host DCBX engine, indicates the engine * supports static configuration (i.e no actual * negotiation is performed negotiated parameters equal * the initial configuration) * */ #define DCB_CAP_DCBX_HOST 0x01 #define DCB_CAP_DCBX_LLD_MANAGED 0x02 #define DCB_CAP_DCBX_VER_CEE 0x04 #define DCB_CAP_DCBX_VER_IEEE 0x08 #define DCB_CAP_DCBX_STATIC 0x10 /** * enum dcbnl_numtcs_attrs - number of traffic classes * * @DCB_NUMTCS_ATTR_UNDEFINED: unspecified attribute to catch errors * @DCB_NUMTCS_ATTR_ALL: (NLA_FLAG) all traffic class attributes * @DCB_NUMTCS_ATTR_PG: (NLA_U8) number of traffic classes used for * priority groups * @DCB_NUMTCS_ATTR_PFC: (NLA_U8) number of traffic classes which can * support priority flow control */ enum dcbnl_numtcs_attrs { DCB_NUMTCS_ATTR_UNDEFINED, DCB_NUMTCS_ATTR_ALL, DCB_NUMTCS_ATTR_PG, DCB_NUMTCS_ATTR_PFC, __DCB_NUMTCS_ATTR_ENUM_MAX, DCB_NUMTCS_ATTR_MAX = __DCB_NUMTCS_ATTR_ENUM_MAX - 1, }; enum dcbnl_bcn_attrs{ DCB_BCN_ATTR_UNDEFINED = 0, DCB_BCN_ATTR_RP_0, DCB_BCN_ATTR_RP_1, DCB_BCN_ATTR_RP_2, DCB_BCN_ATTR_RP_3, DCB_BCN_ATTR_RP_4, DCB_BCN_ATTR_RP_5, DCB_BCN_ATTR_RP_6, DCB_BCN_ATTR_RP_7, DCB_BCN_ATTR_RP_ALL, DCB_BCN_ATTR_BCNA_0, DCB_BCN_ATTR_BCNA_1, DCB_BCN_ATTR_ALPHA, DCB_BCN_ATTR_BETA, DCB_BCN_ATTR_GD, DCB_BCN_ATTR_GI, DCB_BCN_ATTR_TMAX, DCB_BCN_ATTR_TD, DCB_BCN_ATTR_RMIN, DCB_BCN_ATTR_W, DCB_BCN_ATTR_RD, DCB_BCN_ATTR_RU, DCB_BCN_ATTR_WRTT, DCB_BCN_ATTR_RI, DCB_BCN_ATTR_C, DCB_BCN_ATTR_ALL, __DCB_BCN_ATTR_ENUM_MAX, DCB_BCN_ATTR_MAX = __DCB_BCN_ATTR_ENUM_MAX - 1, }; /** * enum dcb_general_attr_values - general DCB attribute values * * @DCB_ATTR_UNDEFINED: value used to indicate an attribute is not supported * */ enum dcb_general_attr_values { DCB_ATTR_VALUE_UNDEFINED = 0xff }; #define DCB_APP_IDTYPE_ETHTYPE 0x00 #define DCB_APP_IDTYPE_PORTNUM 0x01 enum dcbnl_app_attrs { DCB_APP_ATTR_UNDEFINED, DCB_APP_ATTR_IDTYPE, DCB_APP_ATTR_ID, DCB_APP_ATTR_PRIORITY, __DCB_APP_ATTR_ENUM_MAX, DCB_APP_ATTR_MAX = __DCB_APP_ATTR_ENUM_MAX - 1, }; /** * enum dcbnl_featcfg_attrs - features conifiguration flags * * @DCB_FEATCFG_ATTR_UNDEFINED: unspecified attribute to catch errors * @DCB_FEATCFG_ATTR_ALL: (NLA_FLAG) all features configuration attributes * @DCB_FEATCFG_ATTR_PG: (NLA_U8) configuration flags for priority groups * @DCB_FEATCFG_ATTR_PFC: (NLA_U8) configuration flags for priority * flow control * @DCB_FEATCFG_ATTR_APP: (NLA_U8) configuration flags for application TLV * */ #define DCB_FEATCFG_ERROR 0x01 /* error in feature resolution */ #define DCB_FEATCFG_ENABLE 0x02 /* enable feature */ #define DCB_FEATCFG_WILLING 0x04 /* feature is willing */ #define DCB_FEATCFG_ADVERTISE 0x08 /* advertise feature */ enum dcbnl_featcfg_attrs { DCB_FEATCFG_ATTR_UNDEFINED, DCB_FEATCFG_ATTR_ALL, DCB_FEATCFG_ATTR_PG, DCB_FEATCFG_ATTR_PFC, DCB_FEATCFG_ATTR_APP, __DCB_FEATCFG_ATTR_ENUM_MAX, DCB_FEATCFG_ATTR_MAX = __DCB_FEATCFG_ATTR_ENUM_MAX - 1, }; #endif /* __LINUX_DCBNL_H__ */
SIMPAN PERUBAHAN