PPP(was: oE) problems with latest -CURRENT
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Sun Aug 1 07:22:11 PDT 2004
On Sun, 1 Aug 2004, Bjoern A. Zeeb wrote:
> On Sun, 1 Aug 2004, Bjoern A. Zeeb wrote:
>
> > So it seems that either ether.c (command.c, physical.c) change
> > or the ng_pppoe still have problems selecting the correct type
> > and default to standard. I am checking the sources to find the place
> > if glebius isn't faster ;-)
>
> sorry for replying to myself: could you please test this patch:
forget the last one; gives inconstientcy at another place; this one
should be better. I cannot test it at the moment; would need to build
a world on i386 which takes > 5 hours here:
Index: ng_pppoe.c
===================================================================
RCS file: /local/mirror/FreeBSD/r/ncvs/src/sys/netgraph/ng_pppoe.c,v
retrieving revision 1.66
diff -u -p -r1.66 ng_pppoe.c
--- ng_pppoe.c 27 Jul 2004 19:47:13 -0000 1.66
+++ ng_pppoe.c 1 Aug 2004 14:17:49 -0000
@@ -246,9 +246,9 @@ enum {
};
struct ng_pppoe_mode_t {
- u_int8_t id;
+ u_int8_t id;
const struct ether_header *eh_prototype;
- const char *name;
+ const char *name;
};
static const struct ether_header eh_standard =
@@ -283,10 +283,9 @@ struct PPPOE {
typedef struct PPPOE *priv_p;
/* Deprecated sysctl, leaved here to keep compatibility for some time */
-#define PPPOE_KEEPSTANDARD -1
-#define PPPOE_STANDARD 0
-#define PPPOE_NONSTANDARD 1
-static int pppoe_mode = PPPOE_KEEPSTANDARD;
+#define PPPOE_SYSCTL_KEEPSTANDARD -1
+#define PPPOE_SYSCTL_STANDARD 0
+#define PPPOE_SYSCTL_NONSTANDARD 1
static const struct ng_pppoe_mode_t *sysctl_mode = ng_pppoe_modes;
static int
@@ -295,23 +294,22 @@ ngpppoe_set_ethertype(SYSCTL_HANDLER_ARG
int error;
int val;
- val = pppoe_mode;
+ val = PPPOE_SYSCTL_KEEPSTANDARD;
error = sysctl_handle_int(oidp, &val, sizeof(int), req);
if (error != 0 || req->newptr == NULL)
return (error);
switch (val) {
- case PPPOE_NONSTANDARD:
+ case PPPOE_SYSCTL_NONSTANDARD:
sysctl_mode = ng_pppoe_modes + 1;
break;
- case PPPOE_STANDARD:
- case PPPOE_KEEPSTANDARD:
+ case PPPOE_SYSCTL_STANDARD:
+ case PPPOE_SYSCTL_KEEPSTANDARD:
sysctl_mode = ng_pppoe_modes;
break;
default:
return (EINVAL);
}
- pppoe_mode = val;
printf("net.graph.nonstandard_pppoe is deprecated. See ng_pppoe(4), ppp(8).\n");
return (0);
}
--
Bjoern A. Zeeb bzeeb at Zabbadoz dot NeT
More information about the freebsd-current
mailing list