MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rte_regexdev_register

Function rte_regexdev_register

dpdk/lib/regexdev/rte_regexdev.c:92–127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90}
91
92struct rte_regexdev *
93rte_regexdev_register(const char *name)
94{
95 uint16_t dev_id;
96 int name_len;
97 struct rte_regexdev *dev;
98
99 name_len = regexdev_check_name(name);
100 if (name_len < 0)
101 return NULL;
102 dev = regexdev_allocated(name);
103 if (dev != NULL) {
104 RTE_REGEXDEV_LOG(ERR, "RegEx device already allocated\n");
105 return NULL;
106 }
107 dev_id = regexdev_find_free_dev();
108 if (dev_id == RTE_MAX_REGEXDEV_DEVS) {
109 RTE_REGEXDEV_LOG
110 (ERR, "Reached maximum number of RegEx devices\n");
111 return NULL;
112 }
113 if (regexdev_shared_data_prepare() < 0) {
114 RTE_REGEXDEV_LOG(ERR, "Cannot allocate RegEx shared data\n");
115 return NULL;
116 }
117
118 dev = &rte_regex_devices[dev_id];
119 dev->state = RTE_REGEXDEV_REGISTERED;
120 if (dev->data == NULL)
121 dev->data = &rte_regexdev_shared_data->data[dev_id];
122 else
123 memset(dev->data, 1, sizeof(*dev->data));
124 dev->data->dev_id = dev_id;
125 strlcpy(dev->data->dev_name, name, sizeof(dev->data->dev_name));
126 return dev;
127}
128
129void
130rte_regexdev_unregister(struct rte_regexdev *dev)

Callers 2

ree_dev_registerFunction · 0.85
mlx5_regex_dev_probeFunction · 0.85

Calls 6

regexdev_check_nameFunction · 0.85
regexdev_allocatedFunction · 0.85
regexdev_find_free_devFunction · 0.85
memsetFunction · 0.85
strlcpyFunction · 0.50

Tested by

no test coverage detected