vserver 1.9.3
[linux-2.6.git] / include / linux / pkt_sched.h
index a3d6b59..b80dbc3 100644 (file)
@@ -38,9 +38,6 @@ struct tc_stats
        __u32   pps;                    /* Current flow packet rate */
        __u32   qlen;
        __u32   backlog;
-#ifdef __KERNEL__
-       spinlock_t *lock;
-#endif
 };
 
 struct tc_estimator
@@ -103,34 +100,6 @@ struct tc_prio_qopt
        __u8    priomap[TC_PRIO_MAX+1]; /* Map: logical priority -> PRIO band */
 };
 
-/* CSZ section */
-
-struct tc_csz_qopt
-{
-       int             flows;          /* Maximal number of guaranteed flows */
-       unsigned char   R_log;          /* Fixed point position for round number */
-       unsigned char   delta_log;      /* Log of maximal managed time interval */
-       __u8            priomap[TC_PRIO_MAX+1]; /* Map: logical priority -> CSZ band */
-};
-
-struct tc_csz_copt
-{
-       struct tc_ratespec slice;
-       struct tc_ratespec rate;
-       struct tc_ratespec peakrate;
-       __u32           limit;
-       __u32           buffer;
-       __u32           mtu;
-};
-
-enum
-{
-       TCA_CSZ_UNSPEC,
-       TCA_CSZ_PARMS,
-       TCA_CSZ_RTAB,
-       TCA_CSZ_PTAB,
-};
-
 /* TBF section */
 
 struct tc_tbf_qopt
@@ -432,10 +401,34 @@ enum {
 
 #define TCA_ATM_MAX    TCA_ATM_STATE
 
-/* Delay section */
-struct tc_dly_qopt
+/* Network emulator */
+
+enum
+{
+       TCA_NETEM_UNSPEC,
+       TCA_NETEM_CORR,
+       TCA_NETEM_DELAY_DIST,
+};
+
+#define TCA_NETEM_MAX  TCA_NETEM_DELAY_DIST
+
+struct tc_netem_qopt
+{
+       __u32   latency;        /* added delay (us) */
+       __u32   limit;          /* fifo limit (packets) */
+       __u32   loss;           /* random packet loss (0=none ~0=100%) */
+       __u32   gap;            /* re-ordering gap (0 for delay all) */
+       __u32   duplicate;      /* random packet dup  (0=none ~0=100%) */
+       __u32   jitter;         /* random jitter in latency (us) */
+};
+
+struct tc_netem_corr
 {
-       __u32   latency;
-       __u32   limit;
-};     
+       __u32   delay_corr;     /* delay correlation */
+       __u32   loss_corr;      /* packet loss correlation */
+       __u32   dup_corr;       /* duplicate correlation  */
+};
+
+#define NETEM_DIST_SCALE       8192
+
 #endif