/* is changed only for normal ip addresses * for non-normal addresses it always is 1
*/ int ref_counter; enum qeth_prot_versions proto; union { struct {
__be32 addr;
__be32 mask;
} a4; struct { struct in6_addr addr; unsignedint pfxlen;
} a6;
} u;
};
staticinlinebool qeth_l3_addr_match_all(struct qeth_ipaddr *a1, struct qeth_ipaddr *a2)
{ /* Assumes that the pair was obtained via qeth_l3_addr_find_by_ip(), * so 'proto' and 'addr' match for sure. * * For ucast: * - 'mask'/'pfxlen' for RXIP/VIPA is always 0. For NORMAL, matching * values are required to avoid mixups in takeover eligibility. * * For mcast, * - 'mask'/'pfxlen' is always 0.
*/ if (a1->type != a2->type) returnfalse; if (a1->proto == QETH_PROT_IPV6) return a1->u.a6.pfxlen == a2->u.a6.pfxlen; return a1->u.a4.mask == a2->u.a4.mask;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.