diff --git a/internal/pkg/nft/table.go b/internal/pkg/nft/table.go new file mode 100644 index 0000000..172a7c8 --- /dev/null +++ b/internal/pkg/nft/table.go @@ -0,0 +1,15 @@ +package nft + +import "git.kor-elf.net/kor-elf-shield/go-nftables-client/family" + +func TableAdd(family family.Type, tableName string) []string { + return []string{"add", "table", family.String(), tableName} +} + +func TableDelete(family family.Type, tableName string) []string { + return []string{"delete", "table", family.String(), tableName} +} + +func TableClear(family family.Type, tableName string) []string { + return []string{"flush", "table", family.String(), tableName} +} diff --git a/internal/table/table.go b/internal/table/table.go index 2309358..03b41bc 100644 --- a/internal/table/table.go +++ b/internal/table/table.go @@ -4,6 +4,7 @@ import ( "git.kor-elf.net/kor-elf-shield/go-nftables-client/contract" "git.kor-elf.net/kor-elf-shield/go-nftables-client/contract/nft" "git.kor-elf.net/kor-elf-shield/go-nftables-client/family" + nftCommand "git.kor-elf.net/kor-elf-shield/go-nftables-client/internal/pkg/nft" ) type table struct { @@ -17,16 +18,16 @@ func New(command contract.Command) nft.Table { } func (t *table) Add(family family.Type, tableName string) error { - args := []string{"add", "table", family.String(), tableName} + args := nftCommand.TableAdd(family, tableName) return t.command.Run(args...) } func (t *table) Delete(family family.Type, tableName string) error { - args := []string{"delete", "table", family.String(), tableName} + args := nftCommand.TableDelete(family, tableName) return t.command.Run(args...) } func (t *table) Clear(family family.Type, tableName string) error { - args := []string{"flush", "table", family.String(), tableName} + args := nftCommand.TableClear(family, tableName) return t.command.Run(args...) }