pkg: add a function to generate chain names

Adds a function to generate chain names for use in iptables and
ports all drivers to use that function. Also adds tests for the
said function.
This commit is contained in:
Abhishek Chanda
2016-03-22 17:16:59 -07:00
committed by Stefan Junker
parent bacaa11d2d
commit c33daf6706
6 changed files with 57 additions and 7 deletions

View File

@ -15,7 +15,6 @@
package main
import (
"crypto/sha512"
"encoding/json"
"errors"
"fmt"
@ -30,6 +29,7 @@ import (
"github.com/appc/cni/pkg/ns"
"github.com/appc/cni/pkg/skel"
"github.com/appc/cni/pkg/types"
"github.com/appc/cni/pkg/utils"
)
func init() {
@ -178,8 +178,7 @@ func cmdAdd(args *skel.CmdArgs) error {
}
if conf.IPMasq {
h := sha512.Sum512([]byte(args.ContainerID))
chain := fmt.Sprintf("CNI-%s-%x", conf.Name, h[:8])
chain := utils.FormatChainName(conf.Name, args.ContainerID)
if err = ip.SetupIPMasq(&result.IP4.IP, chain); err != nil {
return err
}
@ -206,8 +205,7 @@ func cmdDel(args *skel.CmdArgs) error {
}
if conf.IPMasq {
h := sha512.Sum512([]byte(args.ContainerID))
chain := fmt.Sprintf("CNI-%s-%x", conf.Name, h[:8])
chain := utils.FormatChainName(conf.Name, args.ContainerID)
if err = ip.TeardownIPMasq(ipn, chain); err != nil {
return err
}