shared_network
struct shared_network *s;
s = packet->shared_network;
struct shared_network *share;
if (group->shared_network) {
group->shared_network);
share = calloc(1, sizeof(struct shared_network));
share->group->shared_network = share;
struct shared_network *share;
share = calloc(1, sizeof(struct shared_network));
share->group->shared_network = share;
parse_subnet_declaration(FILE *cfile, struct shared_network *share)
subnet->shared_network = share;
struct lease *lease = find_lease(packet, packet->shared_network, 0);
if (!packet->shared_network) {
lease = packet->shared_network->last_lease;
packet->shared_network->name);
(state->shared_network == lease->shared_network)) &&
find_lease(struct packet *packet, struct shared_network *share,
if (uid_lease->shared_network == share)
if (hw_lease->shared_network == share) {
if (ip_lease && (ip_lease->shared_network != share)) {
ip_lease->shared_network->name);
if (ip_lease && share != ip_lease->shared_network) {
if (uid_lease && share != uid_lease->shared_network) {
if (hw_lease && share != hw_lease->shared_network) {
mockup_lease(struct packet *packet, struct shared_network *share,
mock.shared_network = mock.subnet->shared_network;
lease = find_lease(packet, subnet->shared_network, &ours);
if (!packet->shared_network ||
if (!packet->shared_network) {
subnet->shared_network->group->authoritative) {
subnet = find_grouped_subnet(packet->shared_network, cip);
if (packet->shared_network->group->authoritative)
if (!subnet->shared_network) {
lease.shared_network = subnet->shared_network;
state->shared_network = packet->interface->shared_network;
lt.shared_network = lease->shared_network;
struct shared_network *s;
for (s = g->shared_network; s; s = s->next)
struct shared_network *shared_network;
struct shared_network *shared_network; /* Shared network of interface
struct shared_network *shared_network;
struct shared_network *next;
struct shared_network *shared_network;
struct shared_network *shared_network;
void parse_subnet_declaration(FILE *, struct shared_network *);
struct lease *find_lease(struct packet *, struct shared_network *, int *);
struct lease *mockup_lease(struct packet *, struct shared_network *,
struct shared_network *);
extern struct subnet *find_grouped_subnet(struct shared_network *,
void enter_shared_network(struct shared_network *);
struct shared_network *shared_network;
share = subnet->shared_network;
if (tmp->shared_network &&
tmp->shared_network != share) {
tmp->shared_network = share;
if (!tmp->shared_network) {
for (subnet = (tmp->shared_network ?
tmp->shared_network->subnets : NULL); subnet;
packet->shared_network = subnet->shared_network;
packet->shared_network = NULL;
packet->shared_network = packet->interface->shared_network;
if (packet->shared_network)
struct shared_network *share;
struct shared_network *share)
struct shared_network *share = subnet->shared_network;
address_range[i].shared_network = share;
find_grouped_subnet(struct shared_network *share, struct iaddr addr)
enter_shared_network(struct shared_network *share)
comp->shared_network->leases = comp->next;
if (comp->shared_network->last_lease == comp)
comp->shared_network->last_lease = comp->prev;
if (comp == comp->shared_network->insertion_point ||
!comp->shared_network->insertion_point)
lp = comp->shared_network->leases;
lp = comp->shared_network->insertion_point;
comp->shared_network->leases = comp;
comp->shared_network->last_lease = comp;
comp->shared_network->last_lease = comp;
static struct shared_network *shared_networks;
comp->shared_network->leases = comp;
comp->shared_network->insertion_point = comp;
struct shared_network *s;
iface.shared_network = subnet->shared_network ;