@@ -1752,7 +1752,7 @@ def list_nat_rules(uci) -> list:
17521752 rules .append (rule )
17531753 return rules
17541754
1755- def add_nat_rule (uci , name : str , target : str , src : str = '*' , src_ip : str = '' , dest_ip : str = '' , snat_ip : str = '' ) -> str :
1755+ def add_nat_rule (uci , name : str , target : str , src : str = '*' , src_ip : str = '' , dest_ip : str = '' , snat_ip : str = '' , device : str = '' ) -> str :
17561756 """
17571757 Add nat rule to firewall config.
17581758
@@ -1764,6 +1764,7 @@ def add_nat_rule(uci, name: str, target: str, src: str = '*', src_ip: str = '',
17641764 src_ip: source ip
17651765 dest_ip: destination ip
17661766 snat_ip: snat ip
1767+ device: add nat rule just for specific device
17671768
17681769 Returns:
17691770 name of rule config that was added
@@ -1781,10 +1782,11 @@ def add_nat_rule(uci, name: str, target: str, src: str = '*', src_ip: str = '',
17811782 uci .set ('firewall' , rule , 'dest_ip' , dest_ip )
17821783 uci .set ('firewall' , rule , 'snat_ip' , snat_ip )
17831784 uci .set ('firewall' , rule , 'proto' , ["all" ])
1785+ uci .set ('firewall' , rule , 'device' , device )
17841786 uci .save ('firewall' )
17851787 return rule
17861788
1787- def edit_nat_rule (uci , id : str , name : str , target : str , src : str = '*' , src_ip : str = '' , dest_ip : str = '' , snat_ip : str = '' ) -> str :
1789+ def edit_nat_rule (uci , id : str , name : str , target : str , src : str = '*' , src_ip : str = '' , dest_ip : str = '' , snat_ip : str = '' , device : str = '' ) -> str :
17881790 """
17891791 Edit nat rule in firewall config.
17901792
@@ -1797,6 +1799,8 @@ def edit_nat_rule(uci, id: str, name: str, target: str, src: str = '*', src_ip:
17971799 src_ip: source ip
17981800 dest_ip: destination ip
17991801 snat_ip: snat ip
1802+ src_device: source device
1803+ device: add nat rule just for specific device
18001804
18011805 Returns:
18021806 name of rule config that was edited
@@ -1813,6 +1817,7 @@ def edit_nat_rule(uci, id: str, name: str, target: str, src: str = '*', src_ip:
18131817 uci .set ('firewall' , id , 'src_ip' , src_ip )
18141818 uci .set ('firewall' , id , 'dest_ip' , dest_ip )
18151819 uci .set ('firewall' , id , 'snat_ip' , snat_ip )
1820+ uci .set ('firewall' , id , 'device' , device )
18161821 uci .save ('firewall' )
18171822 return id
18181823
0 commit comments