-def confdterastream():
- ip4_pfx = ipaddress.ip_network('20.0.0.0/22')
- ip6_dst = ipaddress.ip_network('bbbb::/32')
- psid_len = 6
- ip6_src = ipaddress.ip_address('cccc:bbbb::')
- for i in range(ip4_pfx.num_addresses):
- if not i % 64:
- ip6_src = ip6_src + 1
- print("vpp softwire softwire-instances softwire-instance", i, "br-ipv6 " + str(ip6_src) + " ipv6-prefix ::/0" + " ipv4-prefix " + str(ip4_pfx[i]) +
- "/32 ea-len 0 psid-offset 6 psid-len", psid_len)
-# print("vpp softwire softwire-instances softwire-instance", i, "ipv4-pfx " + str(ip4_pfx[i]) + "/32 ipv6-pfx ::/0 br-ipv6 " + str(ip6_src) +
-# " ea-len 0 psid-offset 6 psid-len", psid_len)
- for psid in range(0x1 << psid_len):
- print("binding", psid, "ipv6-addr", ip6_dst[(i * (0x1<<psid_len)) + psid])
-
-def shared11br_yang():
- ip4_pfx = ipaddress.ip_network('20.0.0.0/16')
- ip6_dst = ipaddress.ip_network('bbbb::/32')
- psid_len = 6
- for i in range(ip4_pfx.num_addresses):
- print("vpp softwire softwire-instances softwire-instance " + str(i) + " ipv4-prefix " + str(ip4_pfx[i]) + "/32 " +
- "ipv6-prefix ::/0 ea-len 0 psid-offset 6 tunnel-mtu 1234 psid-len", psid_len)
- #print("map add domain ip4-pfx " + str(ip4_pfx[i]) + "/32 ip6-pfx ::/0 ip6-shared-src cccc:bbbb::1",
- # "ea-bits-len 0 psid-offset 6 psid-len", psid_len)
- for psid in range(0x1 << psid_len):
- # print("map add rule index", i, "psid", psid, "ip6-dst", ip6_dst[(i * (0x1<<psid_len)) + psid])
- print("binding", psid, "ipv6-addr", ip6_dst[(i * (0x1<<psid_len)) + psid])
+def lw46(ip4_pfx_str, ip6_pfx_str, ip6_src_str, psid_len, ea_bits_len, ip6_src_ecmp = False):
+ ip4_pfx = ipaddress.ip_network(ip4_pfx_str)
+ ip6_src = ipaddress.ip_address(ip6_src_str)
+ ip6_dst = ipaddress.ip_network(ip6_pfx_str)
+ psid_len = 0
+ mod = ip4_pfx.num_addresses / 1024