Skip to content

Commit

Permalink
fix error handling
Browse files Browse the repository at this point in the history
Signed-off-by: Florian Lehner <dev@der-flo.net>
  • Loading branch information
florianl committed Oct 29, 2022
1 parent 52936f3 commit c72db5d
Show file tree
Hide file tree
Showing 40 changed files with 248 additions and 243 deletions.
112 changes: 56 additions & 56 deletions attributeTcMsg.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ func extractTcmsgAttributes(action int, data []byte, info *Attribute) error {
case tcaStats:
tcstats := &Stats{}
err := unmarshalStruct(ad.Bytes(), tcstats)
concatError(multiError, err)
multiError = concatError(multiError, err)
info.Stats = tcstats
case tcaStats2:
tcstats2 := &Stats2{}
err := unmarshalStruct(ad.Bytes(), tcstats2)
concatError(multiError, err)
multiError = concatError(multiError, err)
info.Stats2 = tcstats2
case tcaHwOffload:
info.HwOffload = uint8Ptr(ad.Uint8())
Expand All @@ -49,15 +49,15 @@ func extractTcmsgAttributes(action int, data []byte, info *Attribute) error {
case tcaStab:
stab := &Stab{}
err := unmarshalStab(ad.Bytes(), stab)
concatError(multiError, err)
multiError = concatError(multiError, err)
info.Stab = stab
default:
return fmt.Errorf("extractTcmsgAttributes()\t%d\n\t%v", ad.Type(), ad.Bytes())

}
}
concatError(multiError, ad.Err())
if multiError != nil {

if err = concatError(multiError, ad.Err()); err != nil {
return err
}

Expand All @@ -67,13 +67,13 @@ func extractTcmsgAttributes(action int, data []byte, info *Attribute) error {
} else {
err = extractTCAOptions(options, info, info.Kind)
}
concatError(multiError, err)
multiError = concatError(multiError, err)
}

if len(xStats) > 0 {
tcxstats := &XStats{}
err := extractXStats(xStats, tcxstats, info.Kind)
concatError(multiError, err)
multiError = concatError(multiError, err)
info.XStats = tcxstats
}
return multiError
Expand All @@ -97,17 +97,17 @@ func extractQOpt(data []byte, tc *Attribute, kind string) error {
case "hfsc":
info := &HfscQOpt{}
err := unmarshalHfscQOpt(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.HfscQOpt = info
case "qfq":
info := &Qfq{}
err := unmarshalQfq(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Qfq = info
case "htb":
info := &Htb{}
err := unmarshalHtb(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Htb = info
default:
return fmt.Errorf("no QOpts for %s", kind)
Expand All @@ -121,104 +121,104 @@ func extractTCAOptions(data []byte, tc *Attribute, kind string) error {
case "choke":
info := &Choke{}
err := unmarshalChoke(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Choke = info
case "fq_codel":
info := &FqCodel{}
err := unmarshalFqCodel(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.FqCodel = info
case "codel":
info := &Codel{}
err := unmarshalCodel(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Codel = info
case "fq":
info := &Fq{}
err := unmarshalFq(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Fq = info
case "pie":
info := &Pie{}
err := unmarshalPie(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Pie = info
case "hhf":
info := &Hhf{}
err := unmarshalHhf(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Hhf = info
case "htb":
info := &Htb{}
err := unmarshalHtb(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Htb = info
case "hfsc":
info := &Hfsc{}
err := unmarshalHfsc(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Hfsc = info
case "dsmark":
info := &Dsmark{}
err := unmarshalDsmark(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Dsmark = info
case "drr":
info := &Drr{}
err := unmarshalDrr(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Drr = info
case "cbq":
info := &Cbq{}
err := unmarshalCbq(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Cbq = info
case "atm":
info := &Atm{}
err := unmarshalAtm(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Atm = info
case "pfifo_fast":
fallthrough
case "prio":
info := &Prio{}
err := unmarshalPrio(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Prio = info
case "tbf":
info := &Tbf{}
err := unmarshalTbf(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Tbf = info
case "sfb":
info := &Sfb{}
err := unmarshalSfb(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Sfb = info
case "sfq":
info := &Sfq{}
err := unmarshalSfq(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Sfq = info
case "red":
info := &Red{}
err := unmarshalRed(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Red = info
case "pfifo":
limit := &FifoOpt{}
err := unmarshalStruct(data, limit)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Pfifo = limit
case "mqprio":
info := &MqPrio{}
err := unmarshalMqPrio(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.MqPrio = info
case "bfifo":
limit := &FifoOpt{}
err := unmarshalStruct(data, limit)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Bfifo = limit
case "clsact":
return extractClsact(data)
Expand All @@ -227,77 +227,77 @@ func extractTCAOptions(data []byte, tc *Attribute, kind string) error {
case "qfq":
info := &Qfq{}
err := unmarshalQfq(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Qfq = info
case "basic":
info := &Basic{}
err := unmarshalBasic(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Basic = info
case "bpf":
info := &Bpf{}
err := unmarshalBpf(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.BPF = info
case "cgroup":
info := &Cgroup{}
err := unmarshalCgroup(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Cgroup = info
case "u32":
info := &U32{}
err := unmarshalU32(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.U32 = info
case "flower":
info := &Flower{}
err := unmarshalFlower(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Flower = info
case "rsvp":
info := &Rsvp{}
err := unmarshalRsvp(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Rsvp = info
case "route4":
info := &Route4{}
err := unmarshalRoute4(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Route4 = info
case "fw":
info := &Fw{}
err := unmarshalFw(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Fw = info
case "flow":
info := &Flow{}
err := unmarshalFlow(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Flow = info
case "matchall":
info := &Matchall{}
err := unmarshalMatchall(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Matchall = info
case "netem":
info := &Netem{}
err := unmarshalNetem(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Netem = info
case "cake":
info := &Cake{}
err := unmarshalCake(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Cake = info
case "plug":
info := &Plug{}
err := unmarshalPlug(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Plug = info
case "tcindex":
info := &TcIndex{}
err := unmarshalTcIndex(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.TcIndex = info
default:
return fmt.Errorf("extractTCAOptions(): unsupported kind %s: %w", kind, ErrUnknownKind)
Expand All @@ -312,57 +312,57 @@ func extractXStats(data []byte, tc *XStats, kind string) error {
case "sfb":
info := &SfbXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Sfb = info
case "sfq":
info := &SfqXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Sfq = info
case "red":
info := &RedXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Red = info
case "choke":
info := &ChokeXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Choke = info
case "htb":
info := &HtbXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Htb = info
case "cbq":
info := &CbqXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Cbq = info
case "codel":
info := &CodelXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Codel = info
case "hhf":
info := &HhfXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Hhf = info
case "pie":
info := &PieXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Pie = info
case "fq_codel":
info := &FqCodelXStats{}
err := unmarshalFqCodelXStats(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.FqCodel = info
case "hfsc":
info := &HfscXStats{}
err := unmarshalStruct(data, info)
concatError(multiError, err)
multiError = concatError(multiError, err)
tc.Hfsc = info
default:
return fmt.Errorf("extractXStats(): unsupported kind: %s", kind)
Expand Down
Loading

0 comments on commit c72db5d

Please sign in to comment.