Refine tc rules
authorVZ Cambria <vzcambria@gmail.com>
Tue, 14 Feb 2017 23:22:04 +0000 (18:22 -0500)
committerVZ Cambria <vzcambria@gmail.com>
Tue, 14 Feb 2017 23:22:04 +0000 (18:22 -0500)
pkg/ipam/ipam.go

index 8d3fe05..21110ba 100644 (file)
@@ -74,6 +74,17 @@ func ConfigureIface(ifName string, res *types.Result) error {
         result = string(cmdOut)
         fmt.Println("The result of qdisc show is: ",result)
 
+/*
+        ["ip", "netns", "exec", str(pid), "tc", "filter", "add", "dev", "eth0", "parent", "ffff:", "protocol", "ip",
+         "prio", priority, "u32", "match", "u8", hexgid, "0xf0", "at", "15", "flowid", ":2", "action", "pass”])
+*/
+
+        // cmdName = "tc"
+        cmdArgs = []string{"filter", "add", "dev", ifName, "parent", "ffff:", "protocol", "ip", "prio", "2", "u32", "match", "u8", "0xc0", "0xf0", "at", "15", "flowid", ":10", "action", "pass" }
+        if cmdOut, err = exec.Command(cmdName, cmdArgs...).Output(); err != nil {
+                return fmt.Errorf("There was an error adding tc filter to %q: %v", ifName, err)
+        }
+
         // cmdName = "tc"
         cmdArgs = []string{"filter", "add", "dev", ifName, "parent", "ffff:", "protocol", "ip", "prio", "2", "u32", "match", "ip", "src", "10.37.2.1/32", "flowid", ":10", "action", "pass" }
         if cmdOut, err = exec.Command(cmdName, cmdArgs...).Output(); err != nil {