Merge pull request #7218 from kuldeepkash/multicast_pim_bsm

tests: Add multicast-pim-bsm-topo1 suite
This commit is contained in:
Donald Sharp 2021-02-05 10:20:15 -05:00 committed by GitHub
commit 6ddbc710cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 3303 additions and 0 deletions

View File

@ -24,6 +24,7 @@ Installing Mininet Infrastructure
apt-get install iperf
pip install ipaddr
pip install "pytest<5"
pip install "scapy>=2.4.2"
pip install exabgp==3.4.17 (Newer 4.0 version of exabgp is not yet
supported)
useradd -d /var/run/exabgp/ -s /bin/false exabgp

View File

@ -0,0 +1,58 @@
#
# Copyright (c) 2019 by VMware, Inc. ("VMware")
# Used Copyright (c) 2018 by Network Device Education Foundation, Inc.
# ("NetDEF") in this file.
#
# Permission to use, copy, modify, and/or distribute this software
# for any purpose with or without fee is hereby granted, provided
# that the above copyright notice and this permission notice appear
# in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND VMWARE DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL VMWARE BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
import sys
import argparse
from scapy.all import Raw, sendp
import binascii
def send_packet(packet, iface, interval, count):
"""
Read BSR packet in Raw format and send it to specified interface
Parameter:
---------
* `packet` : BSR packet in raw format
* `interface` : Interface from which packet would be send
* `interval` : Interval between the packets
* `count` : Number of packets to be sent
"""
data = binascii.a2b_hex(packet)
p = Raw(load=data)
p.show()
sendp(p, inter=int(interval), iface=iface, count=int(count))
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Send BSR Raw packet")
parser.add_argument("packet", help="Packet in raw format")
parser.add_argument("iface", help="Packet send to this ineterface")
parser.add_argument("--interval", help="Interval between packets", default=0)
parser.add_argument(
"--count", help="Number of times packet is sent repetitively", default=0
)
args = parser.parse_args()
if not args.packet or not args.iface:
sys.exit(1)
send_packet(args.packet, args.iface, args.interval, args.count)

View File

@ -0,0 +1,238 @@
{
"ipv4base": "10.0.0.0",
"ipv4mask": 24,
"link_ip_start": {"ipv4": "10.0.0.0", "v4mask": 24},
"lo_prefix": {"ipv4": "1.0.", "v4mask": 32},
"routers": {
"b1": {
"links": {
"f1": {"ipv4": "auto", "pim": "enable"},
"lo": {"ipv4": "auto", "type": "loopback", "pim": "enable"}
},
"bsm": {
"bsr_packets": {
"packet1" : {
"data": "01005e00000d005056961165080045c000aa5af500000167372a46000001e000000d2400f5ce165b000001004600000101000018e1010100080800000100090a090a0096650001000909090a0096660001000708090a00966700010007070907009668000100070702070096690001000705020700966a0001000702020700966b0001000202020200966c0001000020e1010101010100000100050606050096000001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"225.1.1.1/32": ["5.6.6.5/32"],
"225.200.100.100/32": ["210.210.210.210/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "Packet with 3 group range - rp prio different"
},
"packet2" : {
"data": "01005e00000d005056961165080045c0009420f400000167714146000001e000000d24000b3b164a000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a0096640001000020e20101010101000001000909090900000000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"]
},
"Desc" : "Packet 1 with hold time 0 for 226.1.1.1/32"
},
"packet3" : {
"data": "01005e00000d005056961165080045c000944d0000000167453546000001e000000d2400e52b17c3000001004600000101000018e1010100080800000100090a090a0096650001000909090a0096660001000708090a00966700010007070907009668000100070702070096690001000705020700966a0001000702020700966b0001000202020200966c0001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "BSR Prio - TC 4"
},
"packet4" : {
"data": "01005e00000d005056961165080045c000aa3d1c00000167550346000001e000000d24000d671c52000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a0096640001000020e1010101010100000100090909090000000001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"225.1.1.1/32": ["9.9.9.9/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "TC - 5"
},
"packet5" : {
"data": "01005e00000d005056961165080045c000aa3d1c00000167550346000001e000000d24000d671c52000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a0096640001000020e1010101010100000100090909090000000001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "TC - 5, 225.1.1.1 with hold time 0"
},
"packet6" : {
"data": "01005e00000d005056961165080045c0008a795e0000016718e146000001e000000d24006cc509d5000001004600000101000018e10101000707000001000909090a0096660001000708090a00966700010007070907009668000100070702070096690001000705020700966a0001000702020700966b0001000202020200966c0001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "TC - 6,High prio rp removed on 225.1.1.0/24"
},
"packet7" : {
"data": "01005e00000d005056961165080045c0007e6ebb00000167239046000001e000000d2400090810b3000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a00966400",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"]
},
"Desc" : "TC - 8, rps with same priority"
},
"packet8" : {
"data": "01005e00000d005056b76687080045c000383cdf0000016755b246000001e000000d24008ad51a9f000001004600000101000020e1c86464010100000100d2d2d2d200960000",
"group": "225.200.100.100/32",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.200.100.100/32": ["210.210.210.210/32"]
},
"Desc" : "TC - 30, grp add with all octet"
},
"packet9" : {
"data": "01005e00000d005056b76687080045c000387b8600000167170b46000001e000000d2400c6282245000001000101020701000020e1c86464010100000100d2d2d2d200960000",
"group": "225.200.100.100/32",
"candidate_rp": "210.210.210.210/32",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "1.1.2.7/32",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.200.100.100/32": ["210.210.210.210/32"]
},
"Desc" : "TC -29, BSM with preferred ip"
}
}
}
},
"b2": {
"links": {
"f1": {"ipv4": "auto", "pim": "enable"},
"lo": {"ipv4": "auto", "type": "loopback", "pim": "enable"}
},
"bsm": {
"bsr_packets": {
"packet1" : {
"data": "01005e00000d005056b70489080045c0003865db0000016731b641000001e000000d2400659c0c6f000001004100000101000018e10101000101000001002121212100960000",
"src_ip": "65.0.0.1/24",
"dest_ip": "65.0.0.2/24",
"bsr": "65.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["33.33.33.33/32"],
"225.200.100.100/32": ["210.210.210.210/32"]
}
},
"packet2" : {
"data": "01005e00000d005056b70489080045c00038663000000167316141000001e000000d24006dce0433000a01004100000101000018e10101000101000001002121212100960000",
"src_ip": "65.0.0.1/24",
"dest_ip": "65.0.0.2/24",
"bsr": "65.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["33.33.33.33/32"]
}
},
"packet3" : {
"data": "01005e00000d005056b76687080045c00038f5c800000167a1c841000001e000000d2400c6621a10000001000a02010101000020e1c86464010100000100d2d2d2d200960000",
"src_ip": "65.0.0.1/24",
"dest_ip": "65.0.0.2/24",
"bsr": "10.2.1.1/32",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.200.100.100/32": ["210.210.210.210/32"]
}
}
}
}
},
"f1": {
"links": {
"b1": {"ipv4": "auto", "pim": "enable"},
"b2": {"ipv4": "auto", "pim": "enable"},
"i1": {"ipv4": "auto", "pim": "enable"},
"s1": {"ipv4": "auto", "pim": "enable"}
}
},
"i1": {
"links": {
"lo": {"ipv4": "auto", "type": "loopback", "pim": "enable"},
"f1": {"ipv4": "auto", "pim": "enable"},
"l1": {"ipv4": "auto", "pim": "enable"}
}
},
"l1": {
"links": {
"i1": {"ipv4": "auto", "pim": "enable"},
"r1": {"ipv4": "auto", "pim": "enable"}
},
"igmp": {
"interfaces": {
"l1-r1-eth1" :{
"igmp":{
"version": "2"
}
}
}
}
},
"s1": {
"links": {
"f1": {"ipv4": "auto", "pim": "enable"}
}
},
"r1": {
"links": {
"l1": {"ipv4": "auto", "pim": "disable"}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,238 @@
{
"ipv4base": "10.0.0.0",
"ipv4mask": 24,
"link_ip_start": {"ipv4": "10.0.0.0", "v4mask": 24},
"lo_prefix": {"ipv4": "1.0.", "v4mask": 32},
"routers": {
"b1": {
"links": {
"f1": {"ipv4": "auto", "pim": "enable"},
"lo": {"ipv4": "auto", "type": "loopback", "pim": "enable"}
},
"bsm": {
"bsr_packets": {
"packet1" : {
"data": "01005e00000d005056961165080045c000aa5af500000167372a46000001e000000d2400f5ce165b000001004600000101000018e1010100080800000100090a090a0096650001000909090a0096660001000708090a00966700010007070907009668000100070702070096690001000705020700966a0001000702020700966b0001000202020200966c0001000020e1010101010100000100050606050096000001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"225.1.1.1/32": ["5.6.6.5/32"],
"225.200.100.100/32": ["210.210.210.210/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "Packet with 3 group range - rp prio different"
},
"packet2" : {
"data": "01005e00000d005056961165080045c0009420f400000167714146000001e000000d24000b3b164a000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a0096640001000020e20101010101000001000909090900000000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"]
},
"Desc" : "Packet 1 with hold time 0 for 226.1.1.1/32"
},
"packet3" : {
"data": "01005e00000d005056961165080045c000944d0000000167453546000001e000000d2400e52b17c3000001004600000101000018e1010100080800000100090a090a0096650001000909090a0096660001000708090a00966700010007070907009668000100070702070096690001000705020700966a0001000702020700966b0001000202020200966c0001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "BSR Prio - TC 4"
},
"packet4" : {
"data": "01005e00000d005056961165080045c000aa3d1c00000167550346000001e000000d24000d671c52000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a0096640001000020e1010101010100000100090909090000000001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"225.1.1.1/32": ["9.9.9.9/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "TC - 5"
},
"packet5" : {
"data": "01005e00000d005056961165080045c000aa3d1c00000167550346000001e000000d24000d671c52000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a0096640001000020e1010101010100000100090909090000000001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "TC - 5, 225.1.1.1 with hold time 0"
},
"packet6" : {
"data": "01005e00000d005056961165080045c0008a795e0000016718e146000001e000000d24006cc509d5000001004600000101000018e10101000707000001000909090a0096660001000708090a00966700010007070907009668000100070702070096690001000705020700966a0001000702020700966b0001000202020200966c0001000020e20101010101000001000909090900960000",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"],
"226.1.1.1/32": ["9.9.9.9/32"]
},
"Desc" : "TC - 6,High prio rp removed on 225.1.1.0/24"
},
"packet7" : {
"data": "01005e00000d005056961165080045c0007e6ebb00000167239046000001e000000d2400090810b3000001004600000101000018e1010100080800000100020202020096640001000909090a0096640001000707020700966400010007020207009664000100070709070096640001000708090a00966400010007050207009664000100090a090a00966400",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["9.10.9.10/32", "7.8.9.10/32",
"9.9.9.10/32", "7.7.9.7/32",
"7.7.2.7/32", "7.5.2.7/32",
"7.2.2.7/32", "2.2.2.2/32"]
},
"Desc" : "TC - 8, rps with same priority"
},
"packet8" : {
"data": "01005e00000d005056b76687080045c000383cdf0000016755b246000001e000000d24008ad51a9f000001004600000101000020e1c86464010100000100d2d2d2d200960000",
"group": "225.200.100.100/32",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "70.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.200.100.100/32": ["210.210.210.210/32"]
},
"Desc" : "TC - 30, grp add with all octet"
},
"packet9" : {
"data": "01005e00000d005056b76687080045c000387b8600000167170b46000001e000000d2400c6282245000001000101020701000020e1c86464010100000100d2d2d2d200960000",
"group": "225.200.100.100/32",
"candidate_rp": "210.210.210.210/32",
"src_ip": "70.0.0.1/24",
"dest_ip": "70.0.0.2/24",
"bsr": "1.1.2.7/32",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.200.100.100/32": ["210.210.210.210/32"]
},
"Desc" : "TC -29, BSM with preferred ip"
}
}
}
},
"b2": {
"links": {
"f1": {"ipv4": "auto", "pim": "enable"},
"lo": {"ipv4": "auto", "type": "loopback", "pim": "enable"}
},
"bsm": {
"bsr_packets": {
"packet1" : {
"data": "01005e00000d005056b70489080045c0003865db0000016731b641000001e000000d2400659c0c6f000001004100000101000018e10101000101000001002121212100960000",
"src_ip": "65.0.0.1/24",
"dest_ip": "65.0.0.2/24",
"bsr": "65.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["33.33.33.33/32"],
"225.200.100.100/32": ["210.210.210.210/32"]
}
},
"packet2" : {
"data": "01005e00000d005056b70489080045c00038663000000167316141000001e000000d24006dce0433000a01004100000101000018e10101000101000001002121212100960000",
"src_ip": "65.0.0.1/24",
"dest_ip": "65.0.0.2/24",
"bsr": "65.0.0.1/24",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.1.1.0/24": ["33.33.33.33/32"]
}
},
"packet3" : {
"data": "01005e00000d005056b76687080045c00038f5c800000167a1c841000001e000000d2400c6621a10000001000a02010101000020e1c86464010100000100d2d2d2d200960000",
"src_ip": "65.0.0.1/24",
"dest_ip": "65.0.0.2/24",
"bsr": "10.2.1.1/32",
"pkt_dst": "224.0.0.13",
"rp_mapping" : {
"225.200.100.100/32": ["210.210.210.210/32"]
}
}
}
}
},
"f1": {
"links": {
"b1": {"ipv4": "auto", "pim": "enable"},
"b2": {"ipv4": "auto", "pim": "enable"},
"i1": {"ipv4": "auto", "pim": "enable"},
"s1": {"ipv4": "auto", "pim": "enable"}
}
},
"i1": {
"links": {
"lo": {"ipv4": "auto", "type": "loopback", "pim": "enable"},
"f1": {"ipv4": "auto", "pim": "enable"},
"l1": {"ipv4": "auto", "pim": "enable"}
}
},
"l1": {
"links": {
"i1": {"ipv4": "auto", "pim": "enable"},
"r1": {"ipv4": "auto", "pim": "enable"}
},
"igmp": {
"interfaces": {
"l1-r1-eth1" :{
"igmp":{
"version": "2"
}
}
}
}
},
"s1": {
"links": {
"f1": {"ipv4": "auto", "pim": "enable"}
}
},
"r1": {
"links": {
"l1": {"ipv4": "auto", "pim": "disable"}
}
}
}
}

File diff suppressed because it is too large Load Diff