func (h *Handle) QdiscReplace(qdisc Qdisc) error {
	return h.qdiscModify(
		syscall.RTM_NEWQDISC,
		syscall.NLM_F_CREATE|syscall.NLM_F_REPLACE,
		qdisc)
}
QdiscReplace will replace a qdisc to the system.
Equivalent to: `tc qdisc replace $qdisc`
The handle MUST change.
package netlink
import (
	"fmt"
	"io/ioutil"
	"strconv"
	"strings"
	"syscall"
	"github.com/vishvananda/netlink/nl"
)
func NewNetem(attrs QdiscAttrs, nattrs NetemQdiscAttrs) *Netem {
	var limit uint32 = 1000
	var lossCorr, delayCorr, duplicateCorr uint32
	var reorderProb, reorderCorr uint32
	var corruptProb, corruptCorr uint32
	latency := nattrs.Latency
	loss := Percentage2u32(nattrs.Loss)
	gap := nattrs.Gap
	duplicate := Percentage2u32(nattrs.Duplicate)
	jitter := nattrs.Jitter
	if latency > 0 && jitter > 0 {
		delayCorr = Percentage2u32(nattrs.DelayCorr)
	}
	if loss > 0 {
		lossCorr = Percentage2u32(nattrs.LossCorr)
	}
	if duplicate > 0 {
		duplicateCorr = Percentage2u32(nattrs.DuplicateCorr)
	}
	latency = time2Tick(latency)
	if nattrs.Limit != 0 {
		limit = nattrs.Limit
	}
	if latency > 0 {
		jitter = time2Tick(jitter)
	}
	reorderProb = Percentage2u32(nattrs.ReorderProb)
	reorderCorr = Percentage2u32(nattrs.ReorderCorr)
	if reorderProb > 0 {
		if gap == 0 {
			gap = 1
		}
	}
	corruptProb = Percentage2u32(nattrs.CorruptProb)
	corruptCorr = Percentage2u32(nattrs.CorruptCorr)
	return &Netem{
		QdiscAttrs:    attrs,
		Latency:       latency,
		DelayCorr:     delayCorr,
		Limit:         limit,
		Loss:          loss,
		LossCorr:      lossCorr,
		Gap:           gap,
		Duplicate:     duplicate,
		DuplicateCorr: duplicateCorr,
		Jitter:        jitter,
		ReorderProb:   reorderProb,
		ReorderCorr:   reorderCorr,
		CorruptProb:   corruptProb,
		CorruptCorr:   corruptCorr,
	}
}
func QdiscDel(qdisc Qdisc) error {
	return pkgHandle.QdiscDel(qdisc)
}
func (h *Handle) QdiscDel(qdisc Qdisc) error {
	return h.qdiscModify(syscall.RTM_DELQDISC, 0, qdisc)
}
func QdiscChange(qdisc Qdisc) error {
	return pkgHandle.QdiscChange(qdisc)
}
func (h *Handle) QdiscChange(qdisc Qdisc) error {
	return h.qdiscModify(syscall.RTM_NEWQDISC, 0, qdisc)
}
func QdiscReplace(qdisc Qdisc) error {
	return pkgHandle.QdiscReplace(qdisc)
}