Skip to content

Commit b9bb2bf

Browse files
Merge pull request #39 from loxilb-io/egr6-support
PR - Support for fw6 config
2 parents f0f1eb3 + dec82c9 commit b9bb2bf

File tree

3 files changed

+31
-17
lines changed

3 files changed

+31
-17
lines changed

cmd/create/create_firewall.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,9 @@ ex) loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.
6565
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --allow --record
6666
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --allow --setmark=10
6767
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --drop
68+
loxicmd create firewall --firewallRule="sourceIP:3ffe::1/128" --drop
6869
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --trap
69-
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --redirect=hs1
70+
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --redirect=eth1
7071
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --snat=10.10.10.1,3030
7172
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --snat=10.10.10.1 (Do not change sourceport)
7273
loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.3.1.2/32,preference:200" --snat=10.10.10.1,3030 --egress (Egress rules match for non-k8s traffic)
@@ -122,7 +123,7 @@ ex) loxicmd create firewall --firewallRule="sourceIP:1.2.3.2/32,destinationIP:2.
122123
func GetFirewallRulePairList(o *api.FwRuleMod, FWrule []string) error {
123124
for _, FirewallArg := range FWrule {
124125
FirewallArgsPair := strings.Split(FirewallArg, ":")
125-
if len(FirewallArgsPair) != 2 {
126+
if len(FirewallArgsPair) < 2 {
126127
return fmt.Errorf("FirewallArgs '%s' is invalid format", FWrule)
127128
} else if FirewallArgsPair[0] == "protocol" {
128129
protocol, err := strconv.Atoi(FirewallArgsPair[1])
@@ -131,9 +132,17 @@ func GetFirewallRulePairList(o *api.FwRuleMod, FWrule []string) error {
131132
}
132133
o.Rule.Proto = uint8(protocol)
133134
} else if FirewallArgsPair[0] == "sourceIP" {
134-
o.Rule.SrcIP = FirewallArgsPair[1]
135+
if len(FirewallArgsPair) > 2 {
136+
o.Rule.SrcIP = strings.Join(FirewallArgsPair[1:], ":")
137+
} else {
138+
o.Rule.SrcIP = FirewallArgsPair[1]
139+
}
135140
} else if FirewallArgsPair[0] == "destinationIP" {
136-
o.Rule.DstIP = FirewallArgsPair[1]
141+
if len(FirewallArgsPair) > 2 {
142+
o.Rule.DstIP = strings.Join(FirewallArgsPair[1:], ":")
143+
} else {
144+
o.Rule.DstIP = FirewallArgsPair[1]
145+
}
137146
} else if FirewallArgsPair[0] == "portName" {
138147
o.Rule.InPort = FirewallArgsPair[1]
139148
} else if FirewallArgsPair[0] == "minSourcePort" {

cmd/delete/delete_firewall.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,16 @@ func MakefirewallDeleteQuery(FirewallRule []string) (map[string]string, error) {
9696
query := map[string]string{}
9797
for _, v := range FirewallRule {
9898
firewallArgsPair := strings.Split(v, ":")
99-
if len(firewallArgsPair) != 2 {
100-
return nil, fmt.Errorf("error: Failed to delete Firewall")
99+
if len(firewallArgsPair) < 2 {
100+
return nil, fmt.Errorf("error: Failed to delete Firewall - format error")
101101
}
102-
query[firewallArgsPair[0]] = firewallArgsPair[1]
102+
value := firewallArgsPair[1]
103+
if firewallArgsPair[0] == "sourceIP" || firewallArgsPair[0] == "destinationIP" {
104+
if len(firewallArgsPair) > 2 {
105+
value = strings.Join(firewallArgsPair[1:], ":")
106+
}
107+
}
108+
query[firewallArgsPair[0]] = value
103109
}
104110
return query, nil
105111
}

pkg/api/lbversion.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,13 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package api
16+
package api
1717

18-
type LBVersion struct {
19-
CommonAPI
20-
}
21-
22-
type LBVersionGet struct {
23-
BuildInfo string `json:"buildInfo"`
24-
Version string `json:"version"`
25-
}
26-
18+
type LBVersion struct {
19+
CommonAPI
20+
}
21+
22+
type LBVersionGet struct {
23+
BuildInfo string `json:"buildInfo"`
24+
Version string `json:"version"`
25+
}

0 commit comments

Comments
 (0)