s:option(Value, "src_mac", translate("firewall_redirect_srcmac")).optional = true
sport = s:option(Value, "src_port", translate("firewall_redirect_srcport"))
-sport.optional = true
sport:depends("proto", "tcp")
sport:depends("proto", "udp")
sport:depends("proto", "tcpudp")
dport = s:option(Value, "src_dport", translate("firewall_redirect_srcdport"))
dport.size = 5
-dport.optional = true
dport:depends("proto", "tcp")
dport:depends("proto", "udp")
dport:depends("proto", "tcpudp")
s:option(Value, "src_mac", translate("firewall_rule_srcmac")).optional = true
sport = s:option(Value, "src_port", translate("firewall_rule_srcport"))
-sport.optional = true
sport:depends("proto", "tcp")
sport:depends("proto", "udp")
sport:depends("proto", "tcpudp")
dport = s:option(Value, "dest_port", translate("firewall_rule_destport"))
-dport.optional = true
dport:depends("proto", "tcp")
dport:depends("proto", "udp")
dport:depends("proto", "tcpudp")