Selective support of MAC address selection, preserving infrastructure and descriptor...
[osm/Features.git] / Release4 / Selective_support_of_MAC_address_selection_preserving_infrastructure_and....md
1 # Selective support of MAC address selection, preserving infrastructure and 
2 descriptor coherency #
3  
4 ## Proposer ##
5 - Pablo Montes (Telefonica)
6 - Antonio Lopez (Telefonica)
7 - Gerardo Garcia (Telefonica)
8 - Alfonso Tierno (Telefonica)
9 - Francisco Javier Ramon (Telefonica)
10  
11 ## Type ##
12 **Feature**
13  
14 ## Target MDG/TF ##
15 IM-NBI, SO, RO
16  
17 ## Description ##
18 Many legacy, non cloud-native, VNFs assume that the VIM can provide specific 
19 MAC addresses to specific interfaces of their VDUs/VMs. 
20
21
22 This feature request aims to provide the same support to model the same 
23 behaviour that some of the commonest VIMs already provide for some interface 
24 types (paravirtualized interfaces and, optionally, SR-IOV). 
25  
26 As in the case of IP profiles, a coherency check is mandatory to prevent that 
27 these MAC addresses created by the VIM can create conflicts between different 
28 instances of the same NS/VNF or between VNFs interconnected in a NS.
29  
30 In order to guarantee that coherency, MAC addresses can only be set in a 
31 descriptor where they correspond to VLs or CPs that are considered 
32 ″internal″ to the corresponding VNFD or NSD. Thus:
33 * At VNFD level, a specific MAC address can be set only in internal 
34 interfaces/CP.
35 * At NSD level, same rules as above would apply, but in the context of a NS 
36 template (now, many ″external″ VNFD’s CPs or VLDs might become 
37 ″internal″ for the NSD).
38 * If required, parameters passed at the time of instantiation would allow to 
39 set MAC addresses of external CP of the NS.
40  
41 It must be noted that in those CPs that are not completely handled by the VIM, 
42 but by the VNFs + SDN controllers (with SR-IOV), this feature might not be 
43 feasible. 
44  
45 ## Demo or definition of done ##
46 1. Create a VNFD (VNFD_1) with 2 VDUs, each of them with 2 interfaces (besides 
47 mgmt). One interface of each VDUs is connected to an internal VL between both 
48 VDUs. This VL will have DHCP enabled and a specific CIDR. The VDU interfaces 
49 connected to the internal VL should have a specific MAC address assigned in the 
50 own descriptor. The other remaining interfaces, should be external CP.
51 2. Create an NSD (NSD_1) that includes the VNFD and exposes its external CP as 
52 external CP of the NS.
53 3. Instantiate NSD_1 (assuming that the external networks have DHCP enabled) 
54 and check that:
55   * The MAC addresses are set according to descriptor.
56   * The NS instance works as expected.
57 4. Create a second NSD (NSD_2) with 2 VNFD_1. One interface of each VNF is 
58 connected to an internal VL between both. This VL will have DHCP enabled and a 
59 specific CIDR. The VNF interfaces connected to the internal VL should have 
60 specific MAC addresses assigned in the own NS descriptor.
61 5. Instantiate NSD_2 and repeat same checks as in step 3.
62 6. Instantiate NSD_2 but setting the IP addresses of some external CP of the 
63 NS. Repeat same checks as in step 3.
64 7. Check that it is not possible to change VNF_1, NS_1 or NS_2 to set MAC 
65 addresses of external interfaces/CP and onboard them successfully in the system.