diff --git a/html/app.js b/html/app.js
index 2d4bd7e2..0ac3b64a 100644
--- a/html/app.js
+++ b/html/app.js
@@ -1741,7 +1741,7 @@ var CONF_OVERWRITE=[
/^ip\b/,/^gw\b/,/^netmask\b/,/^hostname\b/,
/^syslog\s+ip\b/,/^syslog\s+port\b/,/^passwd\b/,
/^vlan\s+\d{1,4}\s+mgmt$/,/^vlan\s+\d{1,4}(?!\s+mgmt\b)/,
- /^pvid\s+\d{1,2}\b/,/^ingress\b/,
+ /^pvid\s+\d{1,2}\b/,
/^port\s+\d{1,2}(?!\s+name\b)/,/^port\s+\d{1,2}\s+name\b/,
/^mirror\b/,
/^lag\s+\d\b/,/^laghash\s+\d\b/,/^isolate\s+\d{1,2}\b/,
@@ -1767,6 +1767,21 @@ function mergeConf(base,texts){
}
if(line==="mirror off"){drop(/^mirror /);return;}
if(!isConfCmd(line))return;
+ if((m=line.match(/^ingress (.+)$/))){
+ if(/^[tua]$/.test(m[1])){drop(/^ingress /);conf.push(line);return;}
+ var ports={},order=[],last=-1;
+ conf.forEach(function(c,i){if(/^ingress [tua]$/.test(c))last=i;});
+ conf.forEach(function(c,i){
+ var cm=c.match(/^ingress (.+)$/);
+ if(!cm||/^[tua]$/.test(cm[1])||i