/* Connects 6 network namespaces through veths. * Each NS may have different IPv6 global scope addresses : * * NS1 NS2 NS3 NS4 NS5 NS6 * lo veth1 <-> veth2 veth3 <-> veth4 veth5 <-> veth6 lo veth7 <-> veth8 veth9 <-> veth10 lo * fb00 ::1 ::12 ::21 ::34 ::43 ::56 ::65 ::78 ::87 ::910 ::109 ::6 * fd00 ::4 * fc42 ::1 * * All IPv6 packets going to fb00::/16 through NS2 will be encapsulated in a * IPv6 header with a Segment Routing Header, with segments : * fd00::1 -> fd00::2 -> fd00::3 -> fd00::4 * * 3 fd00::/16 IPv6 addresses are binded to seg6local End.BPF actions : * - fd00::1 : add a TLV, change the flags and apply a End.X action to fc42::1 * - fd00::2 : remove the TLV, change the flags, add a tag * - fd00::3 : apply an End.T action to fd00::4, through routing table 117 * * fd00::4 is a simple Segment Routing node decapsulating the inner IPv6 packet. * Each End.BPF action will validate the operations applied on the SRH by the * previous BPF program in the chain, otherwise the packet is dropped. * * An UDP datagram is sent from fb00::1 to fb00::6. The test succeeds if this * datagram can be read on NS6 when binding to fb00::6.
*/
SYS(fail, "ip -n %s6 link set dev lo up", NETNS_BASE);
for (ns = 1; ns < 6; ns++) { int local_id = ns * 2 - 1; int peer_id = ns * 2; int next_ns = ns + 1;
SYS(fail, "ip -n %s%d link add veth%d type veth peer name veth%d netns %s%d",
NETNS_BASE, ns, local_id, peer_id, NETNS_BASE, next_ns);
SYS(fail, "ip -n %s%d link set dev veth%d up", NETNS_BASE, ns, local_id);
SYS(fail, "ip -n %s%d link set dev veth%d up", NETNS_BASE, next_ns, peer_id);
/* All link scope addresses to veths */
SYS(fail, "ip -n %s%d -6 addr add fb00::%d%d/16 dev veth%d scope link",
NETNS_BASE, ns, local_id, peer_id, local_id);
SYS(fail, "ip -n %s%d -6 addr add fb00::%d%d/16 dev veth%d scope link",
NETNS_BASE, next_ns, peer_id, local_id, peer_id);
}
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.