Commit 6ef5ef9e authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Fix routes not being cleaned up properly when an interface changes its address

Detail:
  This is the TCPIIPLibs-side part of the fix, incorporating the following changes from FreeBSD:
  headers/netinet/h/in_var - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/in_var.h.diff?r1=1.33;r2=1.33.2.1;f=h
  headers/sys/h/protosw - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/sys/protosw.h.diff?r1=1.12;r2=1.13;f=h
  This provides us with the fix for this bug:
  http://www.freebsd.org/cgi/query-pr.cgi?pr=20785
  Other required changes:
  headers/netccitt/h/x25 - Removed conflicting PRC_IFUP definition (this header was actually deleted from FreeBSD before PRC_IFUP was fully implemented)
  headers/netinet/h/ip_var - Add rip_ctlinput prototype
Admin:
  Tested on Raspberry Pi
  Fixes issue reported on forums with ShareFS not always working:
  http://www.riscosopen.org/forum/forums/5/topics/1193


Version 5.56. Tagged as 'TCPIPLibs-5_56'
parent e6be710e
/* (5.55)
/* (5.56)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.55
#define Module_MajorVersion_CMHG 5.56
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 18 May 2012
#define Module_Date_CMHG 26 Aug 2012
#define Module_MajorVersion "5.55"
#define Module_Version 555
#define Module_MajorVersion "5.56"
#define Module_Version 556
#define Module_MinorVersion ""
#define Module_Date "18 May 2012"
#define Module_Date "26 Aug 2012"
#define Module_ApplicationDate "18-May-12"
#define Module_ApplicationDate "26-Aug-12"
#define Module_ComponentName "TCPIPLibs"
#define Module_ComponentPath "mixed/RiscOS/Sources/Lib/TCPIPLibs"
#define Module_FullVersion "5.55"
#define Module_HelpVersion "5.55 (18 May 2012)"
#define Module_LibraryVersionInfo "5:55"
#define Module_FullVersion "5.56"
#define Module_HelpVersion "5.56 (26 Aug 2012)"
#define Module_LibraryVersionInfo "5:56"
......@@ -44,7 +44,6 @@
#define _NETCCITT_X25_H_
#ifdef KERNEL
#define PRC_IFUP 3
#define PRC_LINKUP 4
#define PRC_LINKDOWN 5
#define PRC_LINKRESET 6
......
......@@ -230,6 +230,7 @@ int in_ifinit(struct ifnet *,
struct in_ifaddr *, struct sockaddr_in *, int);
struct in_multi *in_addmulti(struct in_addr *, struct ifnet *);
void in_delmulti(struct in_multi *);
int in_ifadown(struct ifaddr *ifa, int);
void in_ifscrub(struct ifnet *, struct in_ifaddr *);
int in_control(struct socket *, int, caddr_t, struct ifnet *);
......
......@@ -189,6 +189,7 @@ void ip_stripoptions(struct mbuf *, struct mbuf *);
int ip_sysctl(int *, u_int, void *, size_t *, void *, size_t);
void ipintr(void);
int rip_ctloutput(int, struct socket *, int, int, struct mbuf **);
void rip_ctlinput(int, struct sockaddr *, void *);
void rip_init(void);
void rip_input(struct mbuf *);
int rip_output(struct mbuf *, struct socket *, u_long);
......
......@@ -162,6 +162,7 @@ char *prurequests[] = {
*/
#define PRC_IFDOWN 0 /* interface transition */
#define PRC_ROUTEDEAD 1 /* select new route if possible ??? */
#define PRC_IFUP 2 /* interface has come back up */
#define PRC_QUENCH2 3 /* DEC congestion bit says slow down */
#define PRC_QUENCH 4 /* some one said to slow down */
#define PRC_MSGSIZE 5 /* message size forced drop */
......@@ -188,7 +189,7 @@ char *prurequests[] = {
#ifdef PRCREQUESTS
char *prcrequests[] = {
"IFDOWN", "ROUTEDEAD", "#2", "DEC-BIT-QUENCH2",
"IFDOWN", "ROUTEDEAD", "IFUP", "DEC-BIT-QUENCH2",
"QUENCH", "MSGSIZE", "HOSTDEAD", "#7",
"NET-UNREACH", "HOST-UNREACH", "PROTO-UNREACH", "PORT-UNREACH",
"#12", "SRCFAIL-UNREACH", "NET-REDIRECT", "HOST-REDIRECT",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment