Fix the breakage introduced by rev. 1.43 of sys/dev/midway.c (don't commit
on friday 13th and without making a universe). This adds struct and constant definitions for ATM traffic parameters and re-enables the build of the midway driver. Tested by: make universe
This commit is contained in:
parent
075102cc4e
commit
7d361237dc
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=116441
@ -29,6 +29,7 @@ SUBDIR= accf_data \
|
||||
de \
|
||||
digi \
|
||||
dummynet \
|
||||
en \
|
||||
fdc \
|
||||
fdescfs \
|
||||
firewire \
|
||||
|
109
sys/net/if_atm.h
109
sys/net/if_atm.h
@ -46,15 +46,23 @@
|
||||
#define ATM_DEVICE_HE622 3 /* Fore/Marconi HE622 */
|
||||
#define ATM_DEVICE_ENI155P 4 /* Efficient networks 155p */
|
||||
#define ATM_DEVICE_ADP155P 5 /* Adaptec 155p */
|
||||
#define ATM_DEVICE_FORELE25 6 /* ForeRunnerLE 25 */
|
||||
#define ATM_DEVICE_FORELE155 7 /* ForeRunnerLE 155 */
|
||||
#define ATM_DEVICE_NICSTAR25 8 /* other 77211 25.6MBit */
|
||||
#define ATM_DEVICE_NICSTAR155 9 /* other 77211 155MBit */
|
||||
|
||||
/* map to strings and vendors */
|
||||
#define ATM_DEVICE_NAMES \
|
||||
{ "Unknown", "Unknown" }, \
|
||||
{ "PCA200-E", "Fore/Marconi" }, \
|
||||
{ "HE155", "Fore/Marconi" }, \
|
||||
{ "HE622", "Fore/Marconi" }, \
|
||||
{ "ENI155p", "Efficient Networks" }, \
|
||||
{ "ADP155p", "Adaptec" },
|
||||
#define ATM_DEVICE_NAMES \
|
||||
{ "Unknown", "Unknown" }, \
|
||||
{ "PCA200-E", "Fore/Marconi" }, \
|
||||
{ "HE155", "Fore/Marconi" }, \
|
||||
{ "HE622", "Fore/Marconi" }, \
|
||||
{ "ENI155p", "Efficient Networks" }, \
|
||||
{ "ADP155p", "Adaptec" }, \
|
||||
{ "ForeRunnerLE25", "Fore/Marconi" }, \
|
||||
{ "ForeRunnerLE155", "Fore/Marconi" }, \
|
||||
{ "IDT77211/25", "IDT" }, \
|
||||
{ "IDT77211/155", "IDT" },
|
||||
|
||||
/*
|
||||
* This is the common link layer MIB for all ATM interfaces. Much of the
|
||||
@ -76,7 +84,81 @@ struct ifatm_mib {
|
||||
uint32_t max_vccs; /* maximum number of VCCs */
|
||||
};
|
||||
|
||||
#ifdef _KERNEL
|
||||
/*
|
||||
* Traffic parameters for ATM connections. This contains all parameters
|
||||
* to accomodate UBR, UBR+MCR, CBR, VBR and ABR connections.
|
||||
*
|
||||
* Keep in sync with ng_atm.h
|
||||
*/
|
||||
struct atmio_tparam {
|
||||
uint32_t pcr; /* 24bit: Peak Cell Rate */
|
||||
uint32_t scr; /* 24bit: VBR Sustainable Cell Rate */
|
||||
uint32_t mbs; /* 24bit: VBR Maximum burst size */
|
||||
uint32_t mcr; /* 24bit: ABR/VBR/UBR+MCR MCR */
|
||||
uint32_t icr; /* 24bit: ABR ICR */
|
||||
uint32_t tbe; /* 24bit: ABR TBE (1...2^24-1) */
|
||||
uint8_t nrm; /* 3bit: ABR Nrm */
|
||||
uint8_t trm; /* 3bit: ABR Trm */
|
||||
uint16_t adtf; /* 10bit: ABR ADTF */
|
||||
uint8_t rif; /* 4bit: ABR RIF */
|
||||
uint8_t rdf; /* 4bit: ABR RDF */
|
||||
uint8_t cdf; /* 3bit: ABR CDF */
|
||||
};
|
||||
|
||||
/*
|
||||
* VCC parameters
|
||||
*
|
||||
* Keep in sync with ng_atm.h
|
||||
*/
|
||||
struct atmio_vcc {
|
||||
uint16_t flags; /* VCC flags */
|
||||
uint16_t vpi;
|
||||
uint16_t vci;
|
||||
uint16_t rmtu; /* maximum receive PDU */
|
||||
uint16_t tmtu; /* maximum transmit PDU */
|
||||
uint8_t aal; /* aal type */
|
||||
uint8_t traffic; /* traffic type */
|
||||
struct atmio_tparam tparam; /* traffic parameters */
|
||||
};
|
||||
|
||||
/* VCC flags */
|
||||
#define ATMIO_FLAG_LLCSNAP 0x0002 /* same as ATM_PH_LLCSNAP */
|
||||
#define ATMIO_FLAG_NG 0x0010 /* owned by netgraph */
|
||||
#define ATMIO_FLAG_HARP 0x0020 /* owned by HARP */
|
||||
#define ATMIO_FLAG_NORX 0x0100 /* not receiving on this VCC */
|
||||
#define ATMIO_FLAG_NOTX 0x0200 /* not transmitting on this VCC */
|
||||
#define ATMIO_FLAG_PVC 0x0400 /* this is a PVC */
|
||||
#define ATMIO_FLAGS "\020\2LLCSNAP\5NG\6HARP\11NORX\12NOTX\13PVC"
|
||||
|
||||
#define ATMIO_AAL_0 0 /* pure cells */
|
||||
#define ATMIO_AAL_34 4 /* AAL3 and 4 */
|
||||
#define ATMIO_AAL_5 5 /* AAL5 */
|
||||
#define ATMIO_AAL_RAW 10 /* whatever the card does */
|
||||
|
||||
#define ATMIO_TRAFFIC_UBR 0
|
||||
#define ATMIO_TRAFFIC_CBR 1
|
||||
#define ATMIO_TRAFFIC_ABR 2
|
||||
#define ATMIO_TRAFFIC_VBR 3
|
||||
|
||||
/*
|
||||
* VCC table
|
||||
*
|
||||
* Keep in sync with ng_atm.h
|
||||
*/
|
||||
struct atmio_vcctable {
|
||||
uint32_t count; /* number of vccs */
|
||||
struct atmio_vcc vccs[0]; /* array of VCCs */
|
||||
};
|
||||
|
||||
/*
|
||||
* Peak cell rates for various physical media. Note, that there are
|
||||
* different opinions on what the correct values are.
|
||||
*/
|
||||
#define ATM_RATE_25_6M 59259
|
||||
#define ATM_RATE_155M 353208
|
||||
#define ATM_RATE_622M 1412830
|
||||
#define ATM_RATE_2_4G 5651320
|
||||
|
||||
/*
|
||||
* Common fields for all ATM interfaces. Each driver's softc must start with
|
||||
* this structure.
|
||||
@ -87,15 +169,6 @@ struct ifatm {
|
||||
void *phy; /* usually SUNI */
|
||||
void *ngpriv; /* netgraph link */
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Peak cell rates for various physical media. Note, that there are
|
||||
* different opinions on what the correct values are.
|
||||
*/
|
||||
#define ATM_RATE_155M 353208
|
||||
#define ATM_RATE_622M 1412830
|
||||
#define ATM_RATE_24G 5651320
|
||||
|
||||
#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__)
|
||||
#define RTALLOC1(A,B) rtalloc1((A),(B))
|
||||
@ -138,7 +211,9 @@ struct atm_pseudoioctl {
|
||||
};
|
||||
#define SIOCATMENA _IOWR('a', 123, struct atm_pseudoioctl) /* enable */
|
||||
#define SIOCATMDIS _IOWR('a', 124, struct atm_pseudoioctl) /* disable */
|
||||
#define SIOCATMGETVCCS _IOW('a', 125, struct atmio_vcctable)
|
||||
|
||||
#define SIOCATMGVCCS _IOWR('i', 230, struct ifreq)
|
||||
|
||||
/*
|
||||
* XXX forget all the garbage in if_llc.h and do it the easy way
|
||||
|
Loading…
Reference in New Issue
Block a user