ref: 16aaa24c7604b5f9d492796b20179427adb0a91b
parent: 3618c3d448dd2dc0ddd227d74fe51e1e16d9a79c
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Jul 27 18:03:48 EDT 2024
devip: dont shoot the messenger (dont unbind the interface when ipipu4/ipiput6 errors) The medium should only self-unbind when we get a read error from the device, not when ipiput4/8() throw an error, which can happen for the nullmedium.
--- a/sys/src/9/ip/ethermedium.c
+++ b/sys/src/9/ip/ethermedium.c
@@ -338,7 +338,7 @@
rlock(ifc);
if(waserror()){
runlock(ifc);
- nexterror();
+ continue;
}
ifc->in++;
if(ifc->lifc == nil || BLEN(bp) <= ETHERHDRSIZE)
@@ -379,7 +379,7 @@
rlock(ifc);
if(waserror()){
runlock(ifc);
- nexterror();
+ continue;
}
ifc->in++;
if(ifc->lifc == nil || BLEN(bp) <= ETHERHDRSIZE)
--- a/sys/src/9/ip/netdevmedium.c
+++ b/sys/src/9/ip/netdevmedium.c
@@ -120,7 +120,7 @@
rlock(ifc);
if(waserror()){
runlock(ifc);
- nexterror();
+ continue;
}
ifc->in++;
if(ifc->lifc == nil)
--
⑨