Home | History | Annotate | Download | only in Ip4Dxe

Lines Matching refs:IpSb

160   @param[in]  IpSb               The IP4 service binding instance to clean up

168 IN IP4_SERVICE *IpSb
193 IP4_SERVICE *IpSb;
205 IpSb = AllocateZeroPool (sizeof (IP4_SERVICE));
207 if (IpSb == NULL) {
211 IpSb->Signature = IP4_SERVICE_SIGNATURE;
212 IpSb->ServiceBinding.CreateChild = Ip4ServiceBindingCreateChild;
213 IpSb->ServiceBinding.DestroyChild = Ip4ServiceBindingDestroyChild;
214 IpSb->State = IP4_SERVICE_UNSTARTED;
216 IpSb->NumChildren = 0;
217 InitializeListHead (&IpSb->Children);
219 InitializeListHead (&IpSb->Interfaces);
220 IpSb->DefaultInterface = NULL;
221 IpSb->DefaultRouteTable = NULL;
223 Ip4InitAssembleTable (&IpSb->Assemble);
225 IpSb->IgmpCtrl.Igmpv1QuerySeen = 0;
226 InitializeListHead (&IpSb->IgmpCtrl.Groups);
228 IpSb->Image = ImageHandle;
229 IpSb->Controller = Controller;
231 IpSb->MnpChildHandle = NULL;
232 IpSb->Mnp = NULL;
234 IpSb->MnpConfigData.ReceivedQueueTimeoutValue = 0;
235 IpSb->MnpConfigData.TransmitQueueTimeoutValue = 0;
236 IpSb->MnpConfigData.ProtocolTypeFilter = IP4_ETHER_PROTO;
237 IpSb->MnpConfigData.EnableUnicastReceive = TRUE;
238 IpSb->MnpConfigData.EnableMulticastReceive = TRUE;
239 IpSb->MnpConfigData.EnableBroadcastReceive = TRUE;
240 IpSb->MnpConfigData.EnablePromiscuousReceive = FALSE;
241 IpSb->MnpConfigData.FlushQueuesOnReset = TRUE;
242 IpSb->MnpConfigData.EnableReceiveTimestamps = FALSE;
243 IpSb->MnpConfigData.DisableBackgroundPolling = FALSE;
245 ZeroMem (&IpSb->SnpMode, sizeof (EFI_SIMPLE_NETWORK_MODE));
247 IpSb->Timer = NULL;
249 IpSb->ReconfigEvent = NULL;
251 IpSb->Reconfig = FALSE;
253 IpSb->MediaPresent = TRUE;
260 IpSb->DefaultRouteTable = Ip4CreateRouteTable ();
262 if (IpSb->DefaultRouteTable == NULL) {
271 IpSb,
272 &IpSb->Timer
283 &IpSb->MnpChildHandle
291 IpSb->MnpChildHandle,
293 (VOID **) &IpSb->Mnp,
303 Status = Ip4ServiceConfigMnp (IpSb, TRUE);
309 Status = IpSb->Mnp->GetModeData (IpSb->Mnp, NULL, &IpSb->SnpMode);
315 Status = Ip4InitIgmp (IpSb);
321 IpSb->MacString = NULL;
322 Status = NetLibGetMacString (IpSb->Controller, IpSb->Image, &IpSb->MacString);
328 IpSb->DefaultInterface = Ip4CreateInterface (IpSb->Mnp, Controller, ImageHandle);
330 if (IpSb->DefaultInterface == NULL) {
335 InsertHeadList (&IpSb->Interfaces, &IpSb->DefaultInterface->Link);
337 ZeroMem (&IpSb->Ip4Config2Instance, sizeof (IP4_CONFIG2_INSTANCE));
339 Status = Ip4Config2InitInstance (&IpSb->Ip4Config2Instance);
345 IpSb->MaxPacketSize = IpSb->SnpMode.MaxPacketSize - sizeof (IP4_HEAD);
346 if (NetLibGetVlanId (IpSb->Controller) != 0) {
350 IpSb->MaxPacketSize -= NET_VLAN_TAG_LEN;
352 IpSb->OldMaxPacketSize = IpSb->MaxPacketSize;
353 *Service = IpSb;
358 Ip4CleanService (IpSb);
359 FreePool (IpSb);
372 @param[in] IpSb The IP4 service binding instance to clean up
380 IN IP4_SERVICE *IpSb
385 if (IpSb->DefaultInterface != NULL) {
386 Status = Ip4FreeInterface (IpSb->DefaultInterface, NULL);
392 IpSb->DefaultInterface = NULL;
395 if (IpSb->DefaultRouteTable != NULL) {
396 Ip4FreeRouteTable (IpSb->DefaultRouteTable);
397 IpSb->DefaultRouteTable = NULL;
400 Ip4CleanAssembleTable (&IpSb->Assemble);
402 if (IpSb->MnpChildHandle != NULL) {
403 if (IpSb->Mnp != NULL) {
405 IpSb->MnpChildHandle,
407 IpSb->Image,
408 IpSb->Controller
411 IpSb->Mnp = NULL;
415 IpSb->Controller,
416 IpSb->Image,
418 IpSb->MnpChildHandle
421 IpSb->MnpChildHandle = NULL;
424 if (IpSb->Timer != NULL) {
425 gBS->SetTimer (IpSb->Timer, TimerCancel, 0);
426 gBS->CloseEvent (IpSb->Timer);
428 IpSb->Timer = NULL;
431 if (IpSb->ReconfigEvent != NULL) {
432 gBS->CloseEvent (IpSb->ReconfigEvent);
434 IpSb->ReconfigEvent = NULL;
437 IpSb->Reconfig = FALSE;
439 if (IpSb->MacString != NULL) {
440 FreePool (IpSb->MacString);
443 Ip4Config2CleanInstance (&IpSb->Ip4Config2Instance);
513 IP4_SERVICE *IpSb;
531 Status = Ip4CreateService (ControllerHandle, This->DriverBindingHandle, &IpSb);
537 ASSERT (IpSb != NULL);
545 &IpSb->ServiceBinding,
547 &IpSb->Ip4Config2Instance.Ip4Config2,
560 Status = Ip4ReceiveFrame (IpSb->DefaultInterface, NULL, Ip4AccpetFrame, IpSb);
566 Status = gBS->SetTimer (IpSb->Timer, TimerPeriodic, TICKS_PER_SECOND);
583 &IpSb->ServiceBinding
587 Ip4CleanService (IpSb);
588 FreePool (IpSb);
621 IP4_SERVICE *IpSb;
659 IpSb = IP4_SERVICE_FROM_PROTOCOL (ServiceBinding);
662 Status = Ip4Config2DestroyDhcp4 (&IpSb->Ip4Config2Instance);
663 gBS->CloseEvent (IpSb->Ip4Config2Instance.Dhcp4Event);
664 IpSb->Ip4Config2Instance.Dhcp4Event = NULL;
666 List = &IpSb->Children;
676 } else if (IpSb->DefaultInterface->ArpHandle == ControllerHandle) {
683 Ip4CancelReceive (IpSb->DefaultInterface);
684 Ip4FreeInterface (IpSb->DefaultInterface, NULL);
685 Ip4FreeRouteTable (IpSb->DefaultRouteTable);
687 IpIf = Ip4CreateInterface (IpSb->Mnp, IpSb->Controller, IpSb->Image);
697 IpSb->DefaultInterface = IpIf;
698 InsertHeadList (&IpSb->Interfaces, &IpIf->Link);
699 IpSb->DefaultRouteTable = RouteTable;
700 Ip4ReceiveFrame (IpIf, NULL, Ip4AccpetFrame, IpSb);
702 IpSb->State = IP4_SERVICE_UNSTARTED;
704 } else if (IsListEmpty (&IpSb->Children)) {
705 State = IpSb->State;
706 IpSb->State = IP4_SERVICE_DESTROY;
711 Status = Ip4CleanService (IpSb);
713 IpSb->State = State;
722 &IpSb->Ip4Config2Instance.Ip4Config2,
730 FreePool (IpSb);
764 IP4_SERVICE *IpSb;
774 IpSb = IP4_SERVICE_FROM_PROTOCOL (This);
781 Ip4InitProtocol (IpSb, IpInstance);
803 IpSb->MnpChildHandle,
826 InsertTailList (&IpSb->Children, &IpInstance->Link);
827 IpSb->NumChildren++;
870 IP4_SERVICE *IpSb;
883 IpSb = IP4_SERVICE_FROM_PROTOCOL (This);
900 if (IpInstance->Service != IpSb) {
924 IpSb->MnpChildHandle,
977 IpSb->NumChildren--;