netgraph/ng_bridge: Remove old table ABI

This was announced to happen after the 12 relases.
Remove a depeciated ABI.

The complete removal is for HEAD only. I'll remove the #define in
stable/13 as MFC, so the code will still exist in 13.x, but will not
included by default. Earlier versions will not be affected.

Reviewed by:	kp
MFC after:	5 days
Differential Revision: https://reviews.freebsd.org/D28518
This commit is contained in:
Lutz Donnerhacke 2021-02-06 23:09:52 +01:00
parent 7b51ac0275
commit ed0a152750
2 changed files with 0 additions and 112 deletions

View File

@ -461,75 +461,6 @@ ng_bridge_rcvmsg(node_p node, item_p item, hook_p lasthook)
NGI_GET_MSG(item, msg);
switch (msg->header.typecookie) {
#ifdef NGM_BRIDGE_TABLE_ABI
case NGM_BRIDGE_COOKIE_TBL:
switch (msg->header.cmd) {
case NGM_BRIDGE_GET_CONFIG:
{
struct ng_bridge_config_tbl *conf;
NG_MKRESPONSE(resp, msg, sizeof(*conf),
M_NOWAIT|M_ZERO);
if (resp == NULL) {
error = ENOMEM;
break;
}
conf = (struct ng_bridge_config_tbl *)resp->data;
conf->cfg = priv->conf;
break;
}
case NGM_BRIDGE_SET_CONFIG:
{
struct ng_bridge_config_tbl *conf;
if (msg->header.arglen != sizeof(*conf)) {
error = EINVAL;
break;
}
conf = (struct ng_bridge_config_tbl *)msg->data;
priv->conf = conf->cfg;
break;
}
case NGM_BRIDGE_GET_TABLE:
{
struct ng_bridge_host_tbl_ary *ary;
struct ng_bridge_hent *hent;
int i, bucket;
NG_MKRESPONSE(resp, msg, sizeof(*ary) +
(priv->numHosts * sizeof(*ary->hosts)), M_NOWAIT);
if (resp == NULL) {
error = ENOMEM;
break;
}
ary = (struct ng_bridge_host_tbl_ary *)resp->data;
ary->numHosts = priv->numHosts;
i = 0;
for (bucket = 0; bucket < priv->numBuckets; bucket++) {
SLIST_FOREACH(hent, &priv->tab[bucket], next) {
const char *name = NG_HOOK_NAME(hent->host.link->hook);
const char *prefix = name[0] == 'u' ?
NG_BRIDGE_HOOK_UPLINK_PREFIX :
NG_BRIDGE_HOOK_LINK_PREFIX;
memcpy(ary->hosts[i].addr,
hent->host.addr,
sizeof(ary->hosts[i].addr));
ary->hosts[i].age = hent->host.age;
ary->hosts[i].staleness =
hent->host.staleness;
ary->hosts[i].linkNum = strtol(
name + strlen(prefix), NULL, 10);
i++;
}
}
break;
}
}
/* If already handled break, otherwise use new ABI. */
if (resp != NULL || error != 0)
break;
#endif /* NGM_BRIDGE_TABLE_ABI */
case NGM_BRIDGE_COOKIE:
switch (msg->header.cmd) {
case NGM_BRIDGE_GET_CONFIG:

View File

@ -43,24 +43,10 @@
#ifndef _NETGRAPH_NG_BRIDGE_H_
#define _NETGRAPH_NG_BRIDGE_H_
/*
* Support the older ABI based on fixed size tables.
* ABI is deprecated, to be removed in releases > 12
* Please note: There is no API support!
* You canno create new messages using the old API but messages conforming the
* old ABI are understood.
*/
#define NGM_BRIDGE_TABLE_ABI
/* Node type name and magic cookie */
#define NG_BRIDGE_NODE_TYPE "bridge"
#define NGM_BRIDGE_COOKIE 1569321993
#ifdef NGM_BRIDGE_TABLE_ABI
#define NGM_BRIDGE_COOKIE_TBL 967239368
#define NG_BRIDGE_MAX_LINKS 32
#endif /* NGM_BRIDGE_TABLE_ABI */
/* Hook names */
#define NG_BRIDGE_HOOK_LINK_PREFIX "link" /* append decimal integer */
#define NG_BRIDGE_HOOK_LINK_FMT "link%d" /* for use with printf(3) */
@ -75,13 +61,6 @@ struct ng_bridge_config {
u_int32_t minStableAge; /* min time for a stable host */
};
#ifdef NGM_BRIDGE_TABLE_ABI
struct ng_bridge_config_tbl {
u_char ipfw[NG_BRIDGE_MAX_LINKS];
struct ng_bridge_config cfg;
};
#endif /* NGM_BRIDGE_TABLE_ABI */
/* Keep this in sync with the above structure definition */
#define NG_BRIDGE_CONFIG_TYPE_INFO { \
{ "debugLevel", &ng_parse_uint8_type }, \
@ -138,15 +117,6 @@ struct ng_bridge_host {
u_int16_t staleness; /* seconds ago host last heard from */
};
#ifdef NGM_BRIDGE_TABLE_ABI
struct ng_bridge_host_tbl {
u_char addr[6]; /* ethernet address */
u_int16_t linkNum; /* link where addr can be found */
u_int16_t age; /* seconds ago entry was created */
u_int16_t staleness; /* seconds ago host last heard from */
};
#endif /* NGM_BRIDGE_TABLE_ABI */
/* external representation of the host */
struct ng_bridge_hostent {
u_char addr[6]; /* ethernet address */
@ -177,19 +147,6 @@ struct ng_bridge_host_ary {
{ NULL } \
}
#ifdef NGM_BRIDGE_TABLE_ABI
struct ng_bridge_hostent_tbl {
u_char addr[6]; /* ethernet address */
u_int16_t linkNum; /* link where addr can be found */
u_int16_t age; /* seconds ago entry was created */
u_int16_t staleness; /* seconds ago host last heard from */
};
struct ng_bridge_host_tbl_ary {
u_int32_t numHosts;
struct ng_bridge_hostent_tbl hosts[];
};
#endif /* NGM_BRIDGE_TABLE_ABI */
/* Netgraph control messages */
enum {
NGM_BRIDGE_SET_CONFIG = 1, /* set node configuration */