My Project
Chargement...
Recherche...
Aucune correspondance
Classes | Macros | Définitions de type | Fonctions | Variables
Référence du fichier virtio-net.c
#include <manux/virtio-net.h>
#include <manux/memoire.h>
#include <manux/intel-8259a.h>
#include <manux/pci.h>
#include <manux/io.h>
#include <manux/debug.h>
#include <manux/errno.h>
Graphe des dépendances par inclusion de virtio-net.c:

Aller au code source de ce fichier.

Classes

struct  VirtioReseau_t
 

Macros

#define VIRTIO_TAILLE_TRAME_MAX   2000
 
#define VR_FILE_RECEPTION   0
 
#define VR_FILE_EMISSION   1
 
#define VIRTIO_NET_F_CSUM   0x00000001
 
#define VIRTIO_NET_F_GUEST_CSUM   0x00000002
 
#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS   0x00000004
 
#define VIRTIO_NET_F_MAC   0x00000020
 
#define VIRTIO_NET_F_GUEST_TSO4   0x00000080
 
#define VIRTIO_NET_F_GUEST_TSO6   0x00000100
 
#define VIRTIO_NET_F_GUEST_ECN   0x00000200
 
#define VIRTIO_NET_F_GUEST_UFO   0x00000400
 
#define VIRTIO_NET_F_HOST_TSO4   0x00000800
 
#define VIRTIO_NET_F_HOST_TSO6   0x00001000
 
#define VIRTIO_NET_F_HOST_ECN   0x00002000
 
#define VIRTIO_NET_F_HOST_UFO   0x00004000
 
#define VIRTIO_NET_F_MRG_RXBUF   0x00008000
 
#define VIRTIO_NET_F_STATUS   0x00010000
 
#define VIRTIO_NET_F_CTRL_VQ   0x00020000
 
#define VIRTIO_NET_F_CTRL_RX   0x00040000
 
#define VIRTIO_NET_F_CTRL_VLAN   0x00080000
 
#define VIRTIO_NET_F_GUEST_ANNOUNCE   0x00200000
 

Définitions de type

typedef struct VirtioReseau_t VirtioReseau
 

Fonctions

struct __attribute__ ((__packed__))
 Description de l'entête ajouté par virtio net.
 
void virtioReseauPoll (void)
 
int virtioNetInit (void)
 Initialisation des périphériques.
 
void virtioNetTestDeuxiemeEmission (void)
 

Variables

 VirtioReseauEntete
 
VirtioReseau virtioReseau
 
VirtioReseauEntete virtioReseauEntete
 
uint8_t requeteARP []
 
uint8_t requeteARP2 []
 
uint8_t unBufferALaCon [4096] ={0}
 
ReseauPilote virtioPiloteReseau
 Description du pilote virtio.
 

Description détaillée

                                                        (C) Manu Chaput 2020-2025

Définition dans le fichier virtio-net.c.

Documentation des macros

◆ VIRTIO_NET_F_CSUM

#define VIRTIO_NET_F_CSUM   0x00000001

Les caractéristiques spécifiques au réseau

Définition à la ligne 33 du fichier virtio-net.c.

◆ VIRTIO_NET_F_CTRL_GUEST_OFFLOADS

#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS   0x00000004

Définition à la ligne 35 du fichier virtio-net.c.

◆ VIRTIO_NET_F_CTRL_RX

#define VIRTIO_NET_F_CTRL_RX   0x00040000

Définition à la ligne 49 du fichier virtio-net.c.

◆ VIRTIO_NET_F_CTRL_VLAN

#define VIRTIO_NET_F_CTRL_VLAN   0x00080000

Définition à la ligne 50 du fichier virtio-net.c.

◆ VIRTIO_NET_F_CTRL_VQ

#define VIRTIO_NET_F_CTRL_VQ   0x00020000

Définition à la ligne 48 du fichier virtio-net.c.

◆ VIRTIO_NET_F_GUEST_ANNOUNCE

#define VIRTIO_NET_F_GUEST_ANNOUNCE   0x00200000

Définition à la ligne 51 du fichier virtio-net.c.

◆ VIRTIO_NET_F_GUEST_CSUM

#define VIRTIO_NET_F_GUEST_CSUM   0x00000002

Définition à la ligne 34 du fichier virtio-net.c.

◆ VIRTIO_NET_F_GUEST_ECN

#define VIRTIO_NET_F_GUEST_ECN   0x00000200

Définition à la ligne 39 du fichier virtio-net.c.

◆ VIRTIO_NET_F_GUEST_TSO4

#define VIRTIO_NET_F_GUEST_TSO4   0x00000080

Définition à la ligne 37 du fichier virtio-net.c.

◆ VIRTIO_NET_F_GUEST_TSO6

#define VIRTIO_NET_F_GUEST_TSO6   0x00000100

Définition à la ligne 38 du fichier virtio-net.c.

◆ VIRTIO_NET_F_GUEST_UFO

#define VIRTIO_NET_F_GUEST_UFO   0x00000400

Définition à la ligne 40 du fichier virtio-net.c.

◆ VIRTIO_NET_F_HOST_ECN

#define VIRTIO_NET_F_HOST_ECN   0x00002000

Définition à la ligne 43 du fichier virtio-net.c.

◆ VIRTIO_NET_F_HOST_TSO4

#define VIRTIO_NET_F_HOST_TSO4   0x00000800

Définition à la ligne 41 du fichier virtio-net.c.

◆ VIRTIO_NET_F_HOST_TSO6

#define VIRTIO_NET_F_HOST_TSO6   0x00001000

Définition à la ligne 42 du fichier virtio-net.c.

◆ VIRTIO_NET_F_HOST_UFO

#define VIRTIO_NET_F_HOST_UFO   0x00004000

Définition à la ligne 44 du fichier virtio-net.c.

◆ VIRTIO_NET_F_MAC

#define VIRTIO_NET_F_MAC   0x00000020

Définition à la ligne 36 du fichier virtio-net.c.

◆ VIRTIO_NET_F_MRG_RXBUF

#define VIRTIO_NET_F_MRG_RXBUF   0x00008000

Définition à la ligne 46 du fichier virtio-net.c.

◆ VIRTIO_NET_F_STATUS

#define VIRTIO_NET_F_STATUS   0x00010000

Définition à la ligne 47 du fichier virtio-net.c.

◆ VIRTIO_TAILLE_TRAME_MAX

#define VIRTIO_TAILLE_TRAME_MAX   2000

Définition à la ligne 24 du fichier virtio-net.c.

◆ VR_FILE_EMISSION

#define VR_FILE_EMISSION   1

Définition à la ligne 28 du fichier virtio-net.c.

◆ VR_FILE_RECEPTION

#define VR_FILE_RECEPTION   0

Définition à la ligne 27 du fichier virtio-net.c.

Documentation des définitions de type

◆ VirtioReseau

typedef struct VirtioReseau_t VirtioReseau

Description d'un périphérique virtio net

Documentation des fonctions

◆ __attribute__()

struct __attribute__ ( (__packed__)  )

Description de l'entête ajouté par virtio net.

Définition à la ligne 1 du fichier virtio-net.c.

◆ virtioNetInit()

int virtioNetInit ( void  )

Initialisation des périphériques.

Définition à la ligne 373 du fichier virtio-net.c.

◆ virtioNetTestDeuxiemeEmission()

void virtioNetTestDeuxiemeEmission ( void  )

Définition à la ligne 402 du fichier virtio-net.c.

◆ virtioReseauPoll()

void virtioReseauPoll ( void  )

Définition à la ligne 203 du fichier virtio-net.c.

Documentation des variables

◆ requeteARP

uint8_t requeteARP[]
Valeur initiale :
= {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff,
0xee, 0xde, 0xad, 0xbe, 0x08, 0x06, 0x00, 0x01,
0x08, 0x00, 0x06, 0x04, 0x00, 0x01, 0xc0, 0xff,
0xee, 0xde, 0xad, 0xbe, 0x0a, 0x00, 0x02, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00,
0x02, 0x02
}

Définition à la ligne 87 du fichier virtio-net.c.

◆ requeteARP2

uint8_t requeteARP2[]
Valeur initiale :
= {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff,
0xee, 0xde, 0xad, 0xbe, 0x08, 0x06, 0x00, 0x01,
0x08, 0x00, 0x06, 0x04, 0x00, 0x01, 0xc0, 0xff,
0xee, 0xde, 0xad, 0xbe, 0x0a, 0x00, 0x02, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00,
0x02, 0x02
}

Définition à la ligne 95 du fichier virtio-net.c.

◆ unBufferALaCon

uint8_t unBufferALaCon[4096] ={0}

WARNING une horreur

Définition à la ligne 107 du fichier virtio-net.c.

◆ virtioPiloteReseau

ReseauPilote virtioPiloteReseau
Valeur initiale :
= {
.nom = "virtio-net",
.recevoirTrame = virtioNetRecevoirTramePartieBasse
}

Description du pilote virtio.

Définition à la ligne 239 du fichier virtio-net.c.

◆ virtioReseau

VirtioReseau virtioReseau

WARNING : pour le moment on crée un unique périphérique

Définition à la ligne 80 du fichier virtio-net.c.

◆ VirtioReseauEntete

VirtioReseauEntete

Définition à la ligne 75 du fichier virtio-net.c.

◆ virtioReseauEntete

VirtioReseauEntete virtioReseauEntete

WARNING : Une affreuse trame ARP requete

Définition à la ligne 85 du fichier virtio-net.c.