shithub: riscv

Download patch

ref: 99529b80a3bbe35c5cd5dadf5f106632a2449e84
parent: a0048b5c193943708c00dbbd0f5e9fed8c71e515
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Sep 3 13:25:45 EDT 2022

devip: replicate the nat-flag (Rtrans) when superceding interface route

Superceding interface routes is handled specially,
only incrementing reference count, but need to take
the new Rtrans flag into account.

--- a/sys/src/9/ip/iproute.c
+++ b/sys/src/9/ip/iproute.c
@@ -311,8 +311,10 @@
 		 */
 		if((p->type & Rifc) == 0)
 			copygate(p, new);
-		else if(new->type & Rifc)
+		else if(new->type & Rifc){
+			p->type = (p->type & ~Rtrans) | (new->type & Rtrans);
 			p->ref++;
+		}
 		freeroute(new);
 		break;
 	case Roverlaps: