Symbol: con
lib/libssl/bio_ssl.c
521
BIO *ret = NULL, *con = NULL, *ssl = NULL;
lib/libssl/bio_ssl.c
523
if ((con = BIO_new(BIO_s_connect())) == NULL)
lib/libssl/bio_ssl.c
527
if ((ret = BIO_push(ssl, con)) == NULL)
lib/libssl/bio_ssl.c
532
BIO_free(con);
lib/libutil/fparseln.c
105
if (s && con) { /* Check and eliminate continuations */
lib/libutil/fparseln.c
108
if (*cp == con && !isescaped(ptr, cp, esc)) {
lib/libutil/fparseln.c
142
if (cp[1] == con)
lib/libutil/fparseln.c
146
if (cp[1] != com && cp[1] != con && cp[1] != esc)
lib/libutil/fparseln.c
69
char *buf = NULL, *ptr, *cp, esc, con, com;
lib/libutil/fparseln.c
77
con = str[1];
libexec/spamd/spamd.c
102
int append_error_string (struct con *, size_t, char *, int, void *);
libexec/spamd/spamd.c
103
void doreply(struct con *);
libexec/spamd/spamd.c
105
void initcon(struct con *, int, struct sockaddr *);
libexec/spamd/spamd.c
106
void closecon(struct con *);
libexec/spamd/spamd.c
108
void nextstate(struct con *);
libexec/spamd/spamd.c
1080
handler(struct con *cp)
libexec/spamd/spamd.c
109
void handler(struct con *);
libexec/spamd/spamd.c
110
void handlew(struct con *, int one);
libexec/spamd/spamd.c
111
char *loglists(struct con *);
libexec/spamd/spamd.c
112
void getcaddr(struct con *);
libexec/spamd/spamd.c
1126
handlew(struct con *cp, int one)
libexec/spamd/spamd.c
1400
con = calloc(maxcon, sizeof(*con));
libexec/spamd/spamd.c
1401
if (con == NULL)
libexec/spamd/spamd.c
1404
con->obuf = malloc(8192);
libexec/spamd/spamd.c
1406
if (con->obuf == NULL)
libexec/spamd/spamd.c
1408
con->osize = 8192;
libexec/spamd/spamd.c
1411
con[i].pfd = &pfd[PFD_FIRSTCON + i];
libexec/spamd/spamd.c
1412
con[i].pfd->fd = -1;
libexec/spamd/spamd.c
1584
if (con[i].pfd->fd == -1)
libexec/spamd/spamd.c
1586
con[i].pfd->events = 0;
libexec/spamd/spamd.c
1587
if (con[i].r) {
libexec/spamd/spamd.c
1588
if (con[i].r + MAXTIME <= t) {
libexec/spamd/spamd.c
1589
closecon(&con[i]);
libexec/spamd/spamd.c
1592
con[i].pfd->events |= POLLIN;
libexec/spamd/spamd.c
1594
if (con[i].w) {
libexec/spamd/spamd.c
1595
if (con[i].w + MAXTIME <= t) {
libexec/spamd/spamd.c
1596
closecon(&con[i]);
libexec/spamd/spamd.c
1599
if (con[i].w <= t)
libexec/spamd/spamd.c
1600
con[i].pfd->events |= POLLOUT;
libexec/spamd/spamd.c
1603
if (con[i].tlsaction == SPAMD_TLS_ACT_READ_POLLIN ||
libexec/spamd/spamd.c
1604
con[i].tlsaction == SPAMD_TLS_ACT_WRITE_POLLIN)
libexec/spamd/spamd.c
1605
con[i].pfd->events = POLLIN;
libexec/spamd/spamd.c
1606
if (con[i].tlsaction == SPAMD_TLS_ACT_READ_POLLOUT ||
libexec/spamd/spamd.c
1607
con[i].tlsaction == SPAMD_TLS_ACT_WRITE_POLLOUT)
libexec/spamd/spamd.c
1608
con[i].pfd->events = POLLOUT;
libexec/spamd/spamd.c
1644
if (con[i].pfd->fd == -1)
libexec/spamd/spamd.c
1647
closecon(&con[i]);
libexec/spamd/spamd.c
1651
if (con[i].tlsaction ==
libexec/spamd/spamd.c
1653
handlew(&con[i], clients + 5 < maxcon);
libexec/spamd/spamd.c
1655
handler(&con[i]);
libexec/spamd/spamd.c
1657
if (con[i].pfd->fd != -1 &&
libexec/spamd/spamd.c
1659
if (con[i].tlsaction ==
libexec/spamd/spamd.c
1661
handler(&con[i]);
libexec/spamd/spamd.c
1663
handlew(&con[i], clients + 5 < maxcon);
libexec/spamd/spamd.c
1688
if (con[i].pfd->fd == -1)
libexec/spamd/spamd.c
1694
initcon(&con[i], s2,
libexec/spamd/spamd.c
1698
con[i].addr, clients, blackcount,
libexec/spamd/spamd.c
1699
((con[i].lists == NULL) ? "" :
libexec/spamd/spamd.c
1701
((con[i].lists == NULL) ? "":
libexec/spamd/spamd.c
1702
con[i].lists));
libexec/spamd/spamd.c
189
grow_obuf(struct con *cp, int off)
libexec/spamd/spamd.c
471
append_error_string(struct con *cp, size_t off, char *fmt, int af, void *ia)
libexec/spamd/spamd.c
559
loglists(struct con *cp)
libexec/spamd/spamd.c
585
doreply(struct con *cp)
libexec/spamd/spamd.c
665
getcaddr(struct con *cp)
libexec/spamd/spamd.c
704
initcon(struct con *cp, int fd, struct sockaddr *sa)
libexec/spamd/spamd.c
757
closecon(struct con *cp)
libexec/spamd/spamd.c
801
nextstate(struct con *cp)
libexec/spamd/spamd.c
87
} *con;
libexec/spamd/spamd.c
98
char *grow_obuf(struct con *, int);
sbin/ifconfig/sff.c
582
uint8_t con;
sbin/ifconfig/sff.c
585
con = pg->sff_data[m->connector_type];
sbin/ifconfig/sff.c
586
printf("%s", sff_con_name(con));
sys/arch/armv7/omap/ti_iic.c
361
uint16_t con, stat, mask;
sys/arch/armv7/omap/ti_iic.c
380
con = I2C_CON_EN;
sys/arch/armv7/omap/ti_iic.c
381
con |= I2C_CON_MST;
sys/arch/armv7/omap/ti_iic.c
382
con |= I2C_CON_STT;
sys/arch/armv7/omap/ti_iic.c
384
con |= I2C_CON_STP;
sys/arch/armv7/omap/ti_iic.c
386
con |= I2C_CON_XSA;
sys/arch/armv7/omap/ti_iic.c
388
con |= I2C_CON_TRX;
sys/arch/armv7/omap/ti_iic.c
397
DPRINTF(("ti_iic_op: op %d con 0x%x ", op, con));
sys/arch/armv7/omap/ti_iic.c
411
I2C_WRITE_REG(sc, AM335X_I2C_CON, con);
sys/dev/fdt/rkiic.c
280
uint32_t con;
sys/dev/fdt/rkiic.c
325
con = HREAD4(sc, RKI2C_CON);
sys/dev/fdt/rkiic.c
326
con &= ~RKI2C_CON_I2C_MODE_MASK;
sys/dev/fdt/rkiic.c
327
con |= RKI2C_CON_I2C_MODE_RX;
sys/dev/fdt/rkiic.c
328
HWRITE4(sc, RKI2C_CON, con);
sys/dev/fdt/rkiic.c
339
uint32_t con;
sys/dev/fdt/rkiic.c
349
con = HREAD4(sc, RKI2C_CON);
sys/dev/fdt/rkiic.c
350
con &= ~RKI2C_CON_I2C_MODE_MASK;
sys/dev/fdt/rkiic.c
352
con |= RKI2C_CON_I2C_MODE_TX;
sys/dev/fdt/rkiic.c
354
con |= RKI2C_CON_I2C_MODE_RRX;
sys/dev/fdt/rkiic.c
355
con &= ~RKI2C_CON_NAK;
sys/dev/fdt/rkiic.c
356
con |= RKI2C_CON_ACT2NAK;
sys/dev/fdt/rkiic.c
357
HWRITE4(sc, RKI2C_CON, con);
sys/dev/pci/cs4280.c
797
u_int32_t con, data;
sys/dev/pci/cs4280.c
816
con = ( (c3<<24) | (c2<<16) | (c1<<8) | c0 );
sys/dev/pci/cs4280.c
817
if (data != con ) {
sys/dev/pci/cs4280.c
819
offset+ctr*4, data, con);
sys/dev/pci/drm/amd/amdgpu/aldebaran.c
344
struct amdgpu_ras *con;
sys/dev/pci/drm/amd/amdgpu/aldebaran.c
375
con = amdgpu_ras_get_context(tmp_adev);
sys/dev/pci/drm/amd/amdgpu/aldebaran.c
376
if (!amdgpu_sriov_vf(tmp_adev) && con) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
1651
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
1652
uint64_t reserved_for_ras = (con ? con->reserved_pages_in_bytes : 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
174
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
175
uint64_t reserved_for_ras = (con ? con->reserved_pages_in_bytes : 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ctx.c
579
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ctx.c
609
if (adev->ras_enabled && con) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ctx.c
616
ce_count = atomic_read(&con->ras_ce_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ctx.c
617
ue_count = atomic_read(&con->ras_ue_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ctx.c
629
schedule_delayed_work(&con->ras_counte_delay_work,
sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c
6362
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c
6375
if (con && adev->ras_enabled)
sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c
6376
cancel_work(&con->recovery_work);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1001
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1048
return con->features;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
142
static int amdgpu_ras_check_bad_page_unlock(struct amdgpu_ras *con,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1724
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1729
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1741
list_for_each_entry(obj, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1820
struct amdgpu_ras *con =
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1822
struct amdgpu_device *adev = con->adev;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1851
struct amdgpu_ras *con =
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1854
return sysfs_emit(buf, "feature mask: 0x%x\n", con->features);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1860
struct amdgpu_ras *con =
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1862
return sysfs_emit(buf, "table version: 0x%x\n", con->eeprom_control.tbl_hdr.version);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1868
struct amdgpu_ras *con =
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1870
return sysfs_emit(buf, "schema: 0x%x\n", con->schema);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1885
struct amdgpu_ras *con =
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1887
struct ras_event_manager *event_mgr = con->event_mgr;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1908
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1912
&con->badpages_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1918
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1920
&con->features_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1921
&con->version_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1922
&con->schema_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1923
&con->event_state_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2008
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2011
list_for_each_entry_safe(obj, tmp, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2045
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2046
struct amdgpu_ras_eeprom_control *eeprom = &con->eeprom_control;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2056
&con->bad_page_cnt_threshold);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2062
con->de_ras_eeprom_table = debugfs_create_file("ras_eeprom_table",
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2065
amdgpu_ras_debugfs_set_ret_size(&con->eeprom_control);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2075
debugfs_create_bool("auto_reboot", S_IWUGO | S_IRUGO, dir, &con->reboot);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2082
&con->disable_ras_err_cnt_harvest);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2129
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2138
if (!IS_ENABLED(CONFIG_DEBUG_FS) || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2143
list_for_each_entry(obj, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2178
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
218
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2183
&con->features_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2184
&con->version_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2185
&con->schema_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2186
&con->event_state_attr.attr,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2198
con->features_attr = dev_attr_features;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2202
con->version_attr = dev_attr_version;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2206
con->schema_attr = dev_attr_schema;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2210
con->event_state_attr = dev_attr_event_state;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2215
con->badpages_attr = bin_attr_gpu_vram_bad_pages;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2216
sysfs_bin_attr_init(&con->badpages_attr);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2217
bin_attrs[0] = &con->badpages_attr;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2232
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2236
list_for_each_entry_safe(con_obj, tmp, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2288
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2293
if (!block_obj || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2352
struct amdgpu_ras *con = amdgpu_ras_get_context(obj->adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2354
atomic_inc(&con->page_retirement_req_cnt);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2355
atomic_inc(&con->poison_creation_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2357
wake_up(&con->page_retirement_wq);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2532
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2535
list_for_each_entry_safe(obj, tmp, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2546
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2549
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2552
list_for_each_entry(obj, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
262
(blk_info.task.pid == con->init_task_pid) &&
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2621
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2624
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2627
list_for_each_entry(obj, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
263
!strncmp(blk_info.task.comm, con->init_task_comm, TASK_COMM_LEN))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2644
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2649
if (!con || !con->eh_data || !bps || !count)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2652
mutex_lock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2653
data = con->eh_data;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2688
*count = con->bad_page_num;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2690
mutex_unlock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2919
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2920
struct ras_err_handler_data *data = con->eh_data;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2928
if (amdgpu_ras_check_bad_page_unlock(con,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
2941
con->bad_page_num++;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3051
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3059
if (!con || !con->eh_data || !bps || pages <= 0)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3075
mutex_lock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3101
con->eh_data->count_saved = con->eh_data->count;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3108
mutex_unlock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3121
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3126
if (!con || !con->eh_data) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3133
if (!con->eeprom_control.is_eeprom_valid) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3142
mutex_lock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3143
control = &con->eeprom_control;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3144
data = con->eh_data;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3146
save_count = con->bad_page_num - control->ras_num_bad_pages;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3147
mutex_unlock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3246
static int amdgpu_ras_check_bad_page_unlock(struct amdgpu_ras *con,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3249
struct ras_err_handler_data *data = con->eh_data;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3250
struct amdgpu_device *adev = con->adev;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3274
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3277
if (!con || !con->eh_data)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3280
mutex_lock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3281
ret = amdgpu_ras_check_bad_page_unlock(con, addr);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3282
mutex_unlock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3289
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3311
con->bad_page_cnt_threshold = min(lower_32_bits(val),
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3314
con->bad_page_cnt_threshold = ((con->reserved_pages_in_bytes) >> 21) << 4;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3316
con->bad_page_cnt_threshold = min_t(int, max_count,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3327
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3337
ret = kfifo_put(&con->poison_fifo, poison_msg);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3355
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3357
return kfifo_get(&con->poison_fifo, poison_msg);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3393
static bool amdgpu_ras_schedule_retirement_dwork(struct amdgpu_ras *con,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3401
mutex_lock(&con->umc_ecc_log.lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3402
ret = radix_tree_tagged(&con->umc_ecc_log.de_page_tree,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3404
mutex_unlock(&con->umc_ecc_log.lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3407
schedule_delayed_work(&con->page_retirement_dwork,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3416
struct amdgpu_ras *con = container_of(work, struct amdgpu_ras,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3418
struct amdgpu_device *adev = con->adev;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3423
amdgpu_ras_schedule_retirement_dwork(con,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3434
amdgpu_ras_schedule_retirement_dwork(con,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3484
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3489
ret = kfifo_get(&con->poison_fifo, &msg);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3497
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3519
flush_delayed_work(&con->page_retirement_dwork);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3530
con->gpu_reset_flags |= reset;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3536
flush_work(&con->recovery_work);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3548
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3555
wait_event_interruptible(con->page_retirement_wq,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3557
atomic_read(&con->page_retirement_req_cnt));
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3562
mutex_lock(&con->poison_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3566
poison_creation_count = atomic_read(&con->poison_creation_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3572
atomic_sub(poison_creation_count, &con->poison_creation_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3573
atomic_sub(poison_creation_count, &con->page_retirement_req_cnt);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3575
} while (atomic_read(&con->poison_creation_count) &&
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3576
!atomic_read(&con->poison_consumption_count));
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3579
msg_count = kfifo_len(&con->poison_fifo);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3585
atomic_sub(msg_count, &con->page_retirement_req_cnt);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3592
atomic_set(&con->poison_creation_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3593
atomic_set(&con->poison_consumption_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3599
atomic_set(&con->page_retirement_req_cnt, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3608
schedule_delayed_work(&con->page_retirement_dwork, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3612
msg_count = kfifo_len(&con->poison_fifo);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3615
atomic_sub(msg_count, &con->page_retirement_req_cnt);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3618
atomic_set(&con->poison_consumption_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3621
schedule_delayed_work(&con->page_retirement_dwork, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3623
mutex_unlock(&con->poison_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3632
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3636
if (!con || amdgpu_sriov_vf(adev))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3639
control = &con->eeprom_control;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3660
if (con->update_channel_flag == true) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3663
con->update_channel_flag = false;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3679
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3684
if (!con || amdgpu_sriov_vf(adev))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3692
con->adev = adev;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3697
data = &con->eh_data;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3704
rw_init(&con->recovery_lock, "rasrec");
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3705
rw_init(&con->poison_lock, "raspsn");
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3706
INIT_WORK(&con->recovery_work, amdgpu_ras_do_recovery);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3707
atomic_set(&con->in_recovery, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3708
atomic_set(&con->rma_in_recovery, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3709
con->eeprom_control.bad_channel_bitmap = 0;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3711
max_eeprom_records_count = amdgpu_ras_eeprom_max_record_count(&con->eeprom_control);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3720
rw_init(&con->page_rsv_lock, "pgrsv");
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3722
INIT_KFIFO(con->poison_fifo);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3724
rw_init(&con->page_retirement_lock, "pgret");
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3725
init_waitqueue_head(&con->page_retirement_wq);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3726
atomic_set(&con->page_retirement_req_cnt, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3727
atomic_set(&con->poison_creation_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3728
atomic_set(&con->poison_consumption_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3729
con->page_retirement_thread =
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3731
if (IS_ERR(con->page_retirement_thread)) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3732
con->page_retirement_thread = NULL;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3736
INIT_DELAYED_WORK(&con->page_retirement_dwork, amdgpu_ras_do_page_retirement);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3737
amdgpu_ras_ecc_log_init(&con->umc_ecc_log);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3748
con->eh_data = NULL;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3766
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3767
struct ras_err_handler_data *data = con->eh_data;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3777
flush_delayed_work(&con->page_retirement_dwork);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3778
ret = amdgpu_ras_schedule_retirement_dwork(con, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3781
if (con->page_retirement_thread)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3782
kthread_stop(con->page_retirement_thread);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3784
atomic_set(&con->page_retirement_req_cnt, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3785
atomic_set(&con->poison_creation_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3787
mutex_destroy(&con->page_rsv_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3789
cancel_work_sync(&con->recovery_work);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3791
cancel_delayed_work_sync(&con->page_retirement_dwork);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3793
amdgpu_ras_ecc_log_fini(&con->umc_ecc_log);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3795
mutex_lock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3796
con->eh_data = NULL;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3799
mutex_unlock(&con->recovery_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3912
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3916
if (amdgpu_sriov_vf(adev) || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3923
con->poison_supported = true;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
3935
con->poison_supported = true;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4008
struct amdgpu_ras *con = container_of(work, struct amdgpu_ras,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4010
struct amdgpu_device *adev = con->adev;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4022
atomic_set(&con->ras_ce_count, ce_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4023
atomic_set(&con->ras_ue_count, ue_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4077
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4079
if (!con || (adev->flags & AMD_IS_APU))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4086
con->reserved_pages_in_bytes = AMDGPU_RAS_RESERVED_VRAM_SIZE_DEFAULT;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4089
con->reserved_pages_in_bytes = (AMDGPU_RAS_RESERVED_VRAM_SIZE_DEFAULT << 1);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4098
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4101
if (con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4104
con = kzalloc(sizeof(*con) +
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4108
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4111
con->adev = adev;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4112
INIT_DELAYED_WORK(&con->ras_counte_delay_work, amdgpu_ras_counte_dw);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4113
atomic_set(&con->ras_ce_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4114
atomic_set(&con->ras_ue_count, 0);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4116
con->objs = (struct ras_manager *)(con + 1);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4118
amdgpu_ras_set_context(adev, con);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4127
con->features |= BIT(AMDGPU_RAS_BLOCK__GFX);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4136
con->update_channel_flag = false;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4137
con->features = 0;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4138
con->schema = 0;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4139
INIT_LIST_HEAD(&con->head);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4141
con->flags = RAS_DEFAULT_FLAGS;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4207
con->features |= ((adev->smuio.funcs->get_socket_id(adev)) <<
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4211
con->schema = amdgpu_get_ras_schema(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4230
con->init_task_pid = task_pid_nr(current);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4231
get_task_comm(con->init_task_comm, current);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4233
con->init_task_pid = curproc->p_p->ps_pid;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4234
strlcpy(con->init_task_comm, curproc->p_p->ps_comm,
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4235
sizeof(con->init_task_comm));
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4238
rw_init(&con->critical_region_lock, "rascr");
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4239
INIT_LIST_HEAD(&con->critical_region_head);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4248
kfree(con);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4282
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4284
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4287
return con->poison_supported;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4295
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4347
atomic_set(&con->ras_ce_count, ce_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4348
atomic_set(&con->ras_ue_count, ue_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4396
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4399
if (!adev->ras_enabled || !con) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4406
if (con->flags & AMDGPU_RAS_FLAG_INIT_BY_VBIOS) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4418
list_for_each_entry_safe(obj, tmp, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4430
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4432
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4437
if (AMDGPU_RAS_GET_FEATURES(con->features))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4498
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4500
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4505
if (AMDGPU_RAS_GET_FEATURES(con->features))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4515
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4517
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4521
mutex_destroy(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4548
WARN(AMDGPU_RAS_GET_FEATURES(con->features), "Feature mask is not cleared");
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4550
if (AMDGPU_RAS_GET_FEATURES(con->features))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4553
cancel_delayed_work_sync(&con->ras_counte_delay_work);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4556
kfree(con);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4728
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4730
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4733
if (!adev->ras_enabled && con->features & BIT(AMDGPU_RAS_BLOCK__GFX)) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4734
con->features &= ~BIT(AMDGPU_RAS_BLOCK__GFX);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4736
kfree(con);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4926
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4929
if (con) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4932
con->is_aca_debug_mode = enable;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4940
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4943
if (con) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4949
con->is_aca_debug_mode = enable;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4957
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4961
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4966
return con->is_aca_debug_mode;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4974
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4978
if (!con) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
4987
(con->is_aca_debug_mode) ? AMDGPU_RAS_DIRECT_ERROR_QUERY : AMDGPU_RAS_FIRMWARE_ERROR_QUERY;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5426
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5434
mutex_lock(&con->page_rsv_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5438
mutex_unlock(&con->page_rsv_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5463
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5465
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5468
return con->is_rma;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5474
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5485
mutex_lock(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5488
list_for_each_entry(region, &con->critical_region_head, node)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5502
list_add_tail(&region->node, &con->critical_region_head);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5506
mutex_unlock(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5518
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5521
mutex_lock(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5522
list_for_each_entry_safe(region, tmp, &con->critical_region_head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5526
mutex_unlock(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5531
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5535
mutex_lock(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5536
list_for_each_entry(region, &con->critical_region_head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
5543
mutex_unlock(&con->critical_region_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
744
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
747
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
757
obj = &con->objs[AMDGPU_RAS_BLOCK__LAST + head->sub_block_index];
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
759
obj = &con->objs[head->block];
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
770
list_add(&obj->node, &con->head);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
780
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
784
if (!adev->ras_enabled || !con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
795
obj = &con->objs[AMDGPU_RAS_BLOCK__LAST + head->sub_block_index];
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
797
obj = &con->objs[head->block];
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
803
obj = &con->objs[i];
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
823
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
825
return con->features & BIT(head->block);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
835
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
856
con->features |= BIT(head->block);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
859
con->features &= ~BIT(head->block);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
871
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
875
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
928
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
931
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
934
if (con->flags & AMDGPU_RAS_FLAG_INIT_BY_VBIOS) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
962
con->features |= BIT(head->block);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
968
con->features &= ~BIT(head->block);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
979
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
982
list_for_each_entry_safe(obj, tmp, &con->head, node) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
995
return con->features;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
1042
con->update_channel_flag = true;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
445
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
465
rai->ecc_page_threshold = con->bad_page_cnt_threshold;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
490
con->update_channel_flag = false;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
557
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
564
if (!con)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
567
if (!(con->features & BIT(AMDGPU_RAS_BLOCK__UMC)))
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
570
if (con->eeprom_control.tbl_hdr.header == RAS_TABLE_HDR_BAD) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
571
if (con->eeprom_control.ras_num_bad_pages > con->bad_page_cnt_threshold)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
573
con->eeprom_control.ras_num_bad_pages, con->bad_page_cnt_threshold);
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
635
struct amdgpu_ras *con = amdgpu_ras_get_context(to_amdgpu_device(control));
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
655
con->update_channel_flag = true;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
746
control->ras_num_bad_pages = con->bad_page_num;
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras_eeprom.c
967
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
105
mutex_lock(&con->page_retirement_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
106
ret = amdgpu_dpm_get_ecc_info(adev, (void *)&(con->umc_ecc));
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
173
con->eeprom_control.ras_num_bad_pages);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
175
if (con->update_channel_flag == true) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
176
amdgpu_dpm_send_hbm_bad_channel_flag(adev, con->eeprom_control.bad_channel_bitmap);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
177
con->update_channel_flag = false;
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
185
mutex_unlock(&con->page_retirement_lock);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
194
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
201
con->gpu_reset_flags |= reset;
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
248
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
254
atomic_inc(&con->page_retirement_req_cnt);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
255
atomic_inc(&con->poison_consumption_count);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
256
wake_up(&con->page_retirement_wq);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
480
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
484
ecc_log = &con->umc_ecc_log;
sys/dev/pci/drm/amd/amdgpu/amdgpu_umc.c
98
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_virt.c
1202
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/amdgpu_virt.c
1247
con->poison_supported = true; /* Poison is handled by host */
sys/dev/pci/drm/amd/amdgpu/gfx_v11_0_3.c
100
if (con && !amdgpu_ras_is_rma(adev))
sys/dev/pci/drm/amd/amdgpu/gfx_v11_0_3.c
88
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/psp_v13_0.c
863
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/psp_v13_0.c
870
if (!con)
sys/dev/pci/drm/amd/amdgpu/psp_v13_0.c
879
con->poison_supported = ((reg_data & GENMASK_ULL(24, 24)) >> 24) ? true : false;
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
527
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
541
con->umc_ecc_log.consumption_q_count++;
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
585
ret = amdgpu_umc_logs_ecc_err(adev, &con->umc_ecc_log.de_page_tree, ecc_err);
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
588
con->umc_ecc_log.de_queried_count++;
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
596
con->umc_ecc_log.de_queried_count++;
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
625
schedule_delayed_work(&con->page_retirement_dwork,
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
666
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
671
ecc_tree = &con->umc_ecc_log.de_page_tree;
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
673
mutex_lock(&con->umc_ecc_log.lock);
sys/dev/pci/drm/amd/amdgpu/umc_v12_0.c
688
mutex_unlock(&con->umc_ecc_log.lock);
sys/dev/pci/drm/clients/drm_log.c
301
unregister_console(&dlog->con);
sys/dev/pci/drm/clients/drm_log.c
326
console_suspend(&dlog->con);
sys/dev/pci/drm/clients/drm_log.c
335
console_resume(&dlog->con);
sys/dev/pci/drm/clients/drm_log.c
348
static void drm_log_write_thread(struct console *con, struct nbcon_write_context *wctxt)
sys/dev/pci/drm/clients/drm_log.c
350
struct drm_log *dlog = console_to_drm_log(con);
sys/dev/pci/drm/clients/drm_log.c
365
static void drm_log_lock(struct console *con, unsigned long *flags)
sys/dev/pci/drm/clients/drm_log.c
367
struct drm_log *dlog = console_to_drm_log(con);
sys/dev/pci/drm/clients/drm_log.c
373
static void drm_log_unlock(struct console *con, unsigned long flags)
sys/dev/pci/drm/clients/drm_log.c
375
struct drm_log *dlog = console_to_drm_log(con);
sys/dev/pci/drm/clients/drm_log.c
381
static void drm_log_register_console(struct console *con)
sys/dev/pci/drm/clients/drm_log.c
383
strscpy(con->name, "drm_log");
sys/dev/pci/drm/clients/drm_log.c
384
con->write_thread = drm_log_write_thread;
sys/dev/pci/drm/clients/drm_log.c
385
con->device_lock = drm_log_lock;
sys/dev/pci/drm/clients/drm_log.c
386
con->device_unlock = drm_log_unlock;
sys/dev/pci/drm/clients/drm_log.c
387
con->flags = CON_PRINTBUFFER | CON_NBCON;
sys/dev/pci/drm/clients/drm_log.c
388
con->index = -1;
sys/dev/pci/drm/clients/drm_log.c
390
register_console(con);
sys/dev/pci/drm/clients/drm_log.c
411
drm_log_register_console(&new->con);
sys/dev/pci/drm/clients/drm_log.c
413
drm_dbg(dev, "Registered with drm log as %s\n", new->con.name);
sys/dev/pci/drm/clients/drm_log.c
57
struct console con;
sys/dev/pci/drm/clients/drm_log.c
68
static struct drm_log *console_to_drm_log(struct console *con)
sys/dev/pci/drm/clients/drm_log.c
70
return container_of(con, struct drm_log, con);
sys/dev/pv/hyperv.c
644
hv_intr_signal(struct hv_softc *sc, void *con)
sys/dev/pv/hyperv.c
648
status = hv_hypercall(sc, HYPERCALL_SIGNAL_EVENT, con, NULL);
usr.bin/openssl/s_client.c
1042
con = SSL_new(ctx);
usr.bin/openssl/s_client.c
1060
SSL_set_session(con, sess);
usr.bin/openssl/s_client.c
1070
!SSL_set_tlsext_host_name(con, servername)) {
usr.bin/openssl/s_client.c
1108
if (SSL_is_dtls(con)) {
usr.bin/openssl/s_client.c
1132
SSL_set_options(con, SSL_OP_NO_QUERY_MTU);
usr.bin/openssl/s_client.c
1133
SSL_set_mtu(con, cfg.socket_mtu - 28);
usr.bin/openssl/s_client.c
1151
SSL_set_msg_callback(con, msg_cb);
usr.bin/openssl/s_client.c
1152
SSL_set_msg_callback_arg(con, bio_c_out);
usr.bin/openssl/s_client.c
1155
SSL_set_tlsext_debug_callback(con, tlsext_cb);
usr.bin/openssl/s_client.c
1156
SSL_set_tlsext_debug_arg(con, bio_c_out);
usr.bin/openssl/s_client.c
1159
SSL_set_tlsext_status_type(con, TLSEXT_STATUSTYPE_ocsp);
usr.bin/openssl/s_client.c
1164
SSL_set_bio(con, sbio, sbio);
usr.bin/openssl/s_client.c
1165
SSL_set_connect_state(con);
usr.bin/openssl/s_client.c
1335
if (SSL_is_dtls(con) && DTLSv1_get_timeout(con, &timeout))
usr.bin/openssl/s_client.c
1339
if (SSL_in_init(con) && !SSL_total_renegotiations(con)) {
usr.bin/openssl/s_client.c
1351
SSL_get_session(con));
usr.bin/openssl/s_client.c
1358
print_stuff(bio_c_out, con, full_log);
usr.bin/openssl/s_client.c
1371
SSL_shutdown(con);
usr.bin/openssl/s_client.c
1372
SSL_set_connect_state(con);
usr.bin/openssl/s_client.c
1373
shutdown(SSL_get_fd(con), SHUT_RD);
usr.bin/openssl/s_client.c
1374
close(SSL_get_fd(con));
usr.bin/openssl/s_client.c
1380
ssl_pending = read_ssl && SSL_pending(con);
usr.bin/openssl/s_client.c
1396
pfd[2].fd = SSL_get_fd(con);
usr.bin/openssl/s_client.c
1414
if (SSL_is_dtls(con) &&
usr.bin/openssl/s_client.c
1415
DTLSv1_handle_timeout(con) > 0)
usr.bin/openssl/s_client.c
1423
k = SSL_write(con, &(cbuf[cbuf_off]),
usr.bin/openssl/s_client.c
1425
switch (SSL_get_error(con, k)) {
usr.bin/openssl/s_client.c
1504
SSL_renegotiate(con);
usr.bin/openssl/s_client.c
1510
k = p = SSL_peek(con, pbuf, 1024 /* BUFSIZZ */ );
usr.bin/openssl/s_client.c
1511
pending = SSL_pending(con);
usr.bin/openssl/s_client.c
1512
if (SSL_get_error(con, p) == SSL_ERROR_NONE) {
usr.bin/openssl/s_client.c
1516
k = SSL_read(con, sbuf, p);
usr.bin/openssl/s_client.c
1519
k = SSL_read(con, sbuf, 1024 /* BUFSIZZ */ );
usr.bin/openssl/s_client.c
1522
switch (SSL_get_error(con, k)) {
usr.bin/openssl/s_client.c
1616
SSL_renegotiate(con);
usr.bin/openssl/s_client.c
1631
print_stuff(bio_c_out, con, full_log);
usr.bin/openssl/s_client.c
1632
SSL_shutdown(con);
usr.bin/openssl/s_client.c
1633
shutdown(SSL_get_fd(con), SHUT_RD);
usr.bin/openssl/s_client.c
1634
close(SSL_get_fd(con));
usr.bin/openssl/s_client.c
1636
if (con != NULL) {
usr.bin/openssl/s_client.c
1638
print_stuff(bio_c_out, con, 1);
usr.bin/openssl/s_client.c
1639
SSL_free(con);
usr.bin/openssl/s_client.c
167
static void print_stuff(BIO *berr, SSL *con, int full);
usr.bin/openssl/s_client.c
866
SSL *con = NULL;
usr.bin/openssl/s_server.c
1477
SSL *con = NULL;
usr.bin/openssl/s_server.c
1492
if (con == NULL) {
usr.bin/openssl/s_server.c
1493
con = SSL_new(ctx);
usr.bin/openssl/s_server.c
1495
SSL_set_tlsext_debug_callback(con, tlsext_cb);
usr.bin/openssl/s_server.c
1496
SSL_set_tlsext_debug_arg(con, bio_s_out);
usr.bin/openssl/s_server.c
1505
SSL_set_session_id_context(con, context,
usr.bin/openssl/s_server.c
1508
SSL_clear(con);
usr.bin/openssl/s_server.c
1510
if (SSL_is_dtls(con)) {
usr.bin/openssl/s_server.c
1525
SSL_set_options(con, SSL_OP_NO_QUERY_MTU);
usr.bin/openssl/s_server.c
1526
SSL_set_mtu(con, cfg.socket_mtu - 28);
usr.bin/openssl/s_server.c
1532
SSL_set_options(con, SSL_OP_COOKIE_EXCHANGE);
usr.bin/openssl/s_server.c
1543
SSL_set_bio(con, sbio, sbio);
usr.bin/openssl/s_server.c
1544
SSL_set_accept_state(con);
usr.bin/openssl/s_server.c
1548
BIO_set_callback(SSL_get_rbio(con), bio_dump_callback);
usr.bin/openssl/s_server.c
1549
BIO_set_callback_arg(SSL_get_rbio(con), (char *) bio_s_out);
usr.bin/openssl/s_server.c
1552
SSL_set_msg_callback(con, msg_cb);
usr.bin/openssl/s_server.c
1553
SSL_set_msg_callback_arg(con, bio_s_out);
usr.bin/openssl/s_server.c
1556
SSL_set_tlsext_debug_callback(con, tlsext_cb);
usr.bin/openssl/s_server.c
1557
SSL_set_tlsext_debug_arg(con, bio_s_out);
usr.bin/openssl/s_server.c
1567
read_from_sslcon = SSL_pending(con);
usr.bin/openssl/s_server.c
1575
if (SSL_is_dtls(con) &&
usr.bin/openssl/s_server.c
1576
DTLSv1_get_timeout(con, &timeout))
usr.bin/openssl/s_server.c
1584
if (SSL_is_dtls(con) &&
usr.bin/openssl/s_server.c
1585
DTLSv1_handle_timeout(con) > 0)
usr.bin/openssl/s_server.c
1632
if (!SSL_is_dtls(con)) {
usr.bin/openssl/s_server.c
1643
SSL_renegotiate(con);
usr.bin/openssl/s_server.c
1644
i = SSL_do_handshake(con);
usr.bin/openssl/s_server.c
1654
SSL_set_verify(con,
usr.bin/openssl/s_server.c
1658
SSL_renegotiate(con);
usr.bin/openssl/s_server.c
1659
i = SSL_do_handshake(con);
usr.bin/openssl/s_server.c
1671
BIO_write(SSL_get_wbio(con), str,
usr.bin/openssl/s_server.c
1676
SSL_get_SSL_CTX(con));
usr.bin/openssl/s_server.c
1687
SSL_renegotiate(con);
usr.bin/openssl/s_server.c
1691
k = SSL_write(con, &(buf[l]), (unsigned int) i);
usr.bin/openssl/s_server.c
1692
switch (SSL_get_error(con, k)) {
usr.bin/openssl/s_server.c
1721
if (!SSL_is_init_finished(con)) {
usr.bin/openssl/s_server.c
1722
i = init_ssl_connection(con);
usr.bin/openssl/s_server.c
1733
i = SSL_read(con, (char *) buf, bufsize);
usr.bin/openssl/s_server.c
1734
switch (SSL_get_error(con, i)) {
usr.bin/openssl/s_server.c
1749
if (SSL_pending(con))
usr.bin/openssl/s_server.c
1771
if (con != NULL) {
usr.bin/openssl/s_server.c
1773
SSL_set_shutdown(con,
usr.bin/openssl/s_server.c
1775
SSL_free(con);
usr.bin/openssl/s_server.c
1795
init_ssl_connection(SSL *con)
usr.bin/openssl/s_server.c
1804
i = SSL_accept(con);
usr.bin/openssl/s_server.c
1811
verify_error = SSL_get_verify_result(con);
usr.bin/openssl/s_server.c
1819
PEM_write_bio_SSL_SESSION(bio_s_out, SSL_get_session(con));
usr.bin/openssl/s_server.c
1821
peer = SSL_get_peer_certificate(con);
usr.bin/openssl/s_server.c
1831
if (SSL_get_shared_ciphers(con, buf, sizeof buf) != NULL)
usr.bin/openssl/s_server.c
1833
str = SSL_CIPHER_get_name(SSL_get_current_cipher(con));
usr.bin/openssl/s_server.c
1839
= SSL_get_selected_srtp_profile(con);
usr.bin/openssl/s_server.c
1847
if (SSL_cache_hit(con))
usr.bin/openssl/s_server.c
1850
SSL_get_secure_renegotiation_support(con) ? "" : " NOT");
usr.bin/openssl/s_server.c
1859
if (!SSL_export_keying_material(con, exportedkeymat,
usr.bin/openssl/s_server.c
1900
SSL *con;
usr.bin/openssl/s_server.c
1923
if ((con = SSL_new(ctx)) == NULL)
usr.bin/openssl/s_server.c
1926
SSL_set_tlsext_debug_callback(con, tlsext_cb);
usr.bin/openssl/s_server.c
1927
SSL_set_tlsext_debug_arg(con, bio_s_out);
usr.bin/openssl/s_server.c
1930
SSL_set_session_id_context(con, context,
usr.bin/openssl/s_server.c
1940
SSL_set_bio(con, sbio, sbio);
usr.bin/openssl/s_server.c
1941
SSL_set_accept_state(con);
usr.bin/openssl/s_server.c
1944
BIO_set_ssl(ssl_bio, con, BIO_CLOSE);
usr.bin/openssl/s_server.c
1948
BIO_set_callback(SSL_get_rbio(con), bio_dump_callback);
usr.bin/openssl/s_server.c
1949
BIO_set_callback_arg(SSL_get_rbio(con), (char *) bio_s_out);
usr.bin/openssl/s_server.c
1952
SSL_set_msg_callback(con, msg_cb);
usr.bin/openssl/s_server.c
1953
SSL_set_msg_callback_arg(con, bio_s_out);
usr.bin/openssl/s_server.c
1996
SSL_get_secure_renegotiation_support(con) ?
usr.bin/openssl/s_server.c
2005
sk = SSL_get_ciphers(con);
usr.bin/openssl/s_server.c
2016
p = SSL_get_shared_ciphers(con, buf, bufsize);
usr.bin/openssl/s_server.c
2036
BIO_printf(io, (SSL_cache_hit(con)
usr.bin/openssl/s_server.c
2039
c = SSL_get_current_cipher(con);
usr.bin/openssl/s_server.c
2043
SSL_SESSION_print(io, SSL_get_session(con));
usr.bin/openssl/s_server.c
2045
print_stats(io, SSL_get_SSL_CTX(con));
usr.bin/openssl/s_server.c
2047
peer = SSL_get_peer_certificate(con);
usr.bin/openssl/s_server.c
2147
SSL_renegotiate(con);
usr.bin/openssl/s_server.c
2156
SSL_renegotiate(con);
usr.bin/openssl/s_server.c
2189
SSL_set_shutdown(con, SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN);
usr.bin/ssh/ssh-keyscan.c
112
con *fdcon;
usr.bin/ssh/ssh-keyscan.c
114
static void keyprint(con *c, struct sshkey *key);
usr.bin/ssh/ssh-keyscan.c
186
con *c;
usr.bin/ssh/ssh-keyscan.c
211
keygrab_ssh2(con *c)
usr.bin/ssh/ssh-keyscan.c
307
keyprint(con *c, struct sshkey *key)
usr.bin/ssh/ssh-keyscan.c
421
con *c = &fdcon[s];
usr.bin/ssh/ssh-keyscan.c
436
con *c = &fdcon[s];
usr.bin/ssh/ssh-keyscan.c
523
con *c = &fdcon[s];
usr.bin/ssh/ssh-keyscan.c
535
con *c;
usr.bin/ssh/ssh-keyscan.c
754
fdcon = xcalloc(maxfd, sizeof(con));
usr.sbin/relayctl/relayctl.c
450
struct rsession *con;
usr.sbin/relayctl/relayctl.c
456
con = imsg->data;
usr.sbin/relayctl/relayctl.c
458
(void)print_host(&con->se_in.ss, a, sizeof(a));
usr.sbin/relayctl/relayctl.c
459
(void)print_host(&con->se_out.ss, b, sizeof(b));
usr.sbin/relayctl/relayctl.c
461
imsg->hdr.peerid, con->se_id,
usr.sbin/relayctl/relayctl.c
462
a, ntohs(con->se_in.port), b, ntohs(con->se_out.port),
usr.sbin/relayctl/relayctl.c
463
con->se_done ? "DONE" : "RUNNING");
usr.sbin/relayctl/relayctl.c
466
print_time(&tv_now, &con->se_tv_start, a, sizeof(a));
usr.sbin/relayctl/relayctl.c
467
print_time(&tv_now, &con->se_tv_last, b, sizeof(b));
usr.sbin/relayctl/relayctl.c
469
a, b, con->se_relayid, con->se_pid);
usr.sbin/relayctl/relayctl.c
471
if (con->se_tag)
usr.sbin/relayctl/relayctl.c
472
printf(", tag (id) %u", con->se_tag);
usr.sbin/relayd/pfe.c
259
struct rsession con, *s, *t;
usr.sbin/relayd/pfe.c
286
IMSG_SIZE_CHECK(imsg, &con);
usr.sbin/relayd/pfe.c
287
memcpy(&con, imsg->data, sizeof(con));
usr.sbin/relayd/pfe.c
288
if ((c = control_connbyfd(con.se_cid)) == NULL) {
usr.sbin/relayd/pfe.c
290
__func__, con.se_cid);
usr.sbin/relayd/pfe.c
295
&con, sizeof(con));
usr.sbin/relayd/proxy_protocol.c
54
proxy_protocol_v1(struct rsession *con, struct evbuffer *dstout)
usr.sbin/relayd/proxy_protocol.c
63
if (print_host(&con->se_in.ss, ibuf, sizeof(ibuf)) == NULL ||
usr.sbin/relayd/proxy_protocol.c
64
print_host(&con->se_sockname, obuf, sizeof(obuf)) == NULL)
usr.sbin/relayd/proxy_protocol.c
67
if (con->se_relay->rl_conf.flags & F_UDP)
usr.sbin/relayd/proxy_protocol.c
70
switch (con->se_in.ss.ss_family) {
usr.sbin/relayd/proxy_protocol.c
85
ntohs(con->se_in.port), ntohs(con->se_relay->rl_conf.port));
usr.sbin/relayd/proxy_protocol.c
91
proxy_protocol_v2(struct rsession *con, struct evbuffer *dstout)
usr.sbin/relayd/proxy_protocol.c
95
const struct relay_config *conf = &con->se_relay->rl_conf;
usr.sbin/relayd/proxy_protocol.c
96
const struct sockaddr_storage *srcss = &con->se_in.ss;
usr.sbin/relayd/proxy_protocol.c
97
const struct sockaddr_storage *dstss = &con->se_sockname;
usr.sbin/relayd/proxy_protocol.c
99
in_port_t srcport = con->se_in.port;
usr.sbin/relayd/relay.c
1004
__func__, con->se_id, cre->dir, len);
usr.sbin/relayd/relay.c
1007
getmonotime(&con->se_tv_last);
usr.sbin/relayd/relay.c
1034
struct rsession *con = cre->con;
usr.sbin/relayd/relay.c
1038
__func__, con->se_id, cre->dir, cre->state, cre->toread, error);
usr.sbin/relayd/relay.c
1047
relay_close(con, "buffer event timeout", 1);
usr.sbin/relayd/relay.c
1055
relay_close(con, "buffer event timeout", 1);
usr.sbin/relayd/relay.c
1065
relay_close(con, "splice timeout", 1);
usr.sbin/relayd/relay.c
1072
relay_close(con, "splice timeout", 1);
usr.sbin/relayd/relay.c
1090
con->se_done = 1;
usr.sbin/relayd/relay.c
1098
relay_close(con, "done", 0);
usr.sbin/relayd/relay.c
1101
relay_close(con, "buffer event error", 1);
usr.sbin/relayd/relay.c
1104
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay.c
1112
struct rsession *con = NULL;
usr.sbin/relayd/relay.c
1142
if ((con = calloc(1, sizeof(*con))) == NULL)
usr.sbin/relayd/relay.c
1146
con->se_haslog = 0;
usr.sbin/relayd/relay.c
1147
con->se_log = evbuffer_new();
usr.sbin/relayd/relay.c
1148
if (con->se_log == NULL)
usr.sbin/relayd/relay.c
1151
con->se_in.s = s;
usr.sbin/relayd/relay.c
1152
con->se_in.tls = NULL;
usr.sbin/relayd/relay.c
1153
con->se_out.s = -1;
usr.sbin/relayd/relay.c
1154
con->se_out.tls = NULL;
usr.sbin/relayd/relay.c
1155
con->se_in.dst = &con->se_out;
usr.sbin/relayd/relay.c
1156
con->se_out.dst = &con->se_in;
usr.sbin/relayd/relay.c
1157
con->se_in.con = con;
usr.sbin/relayd/relay.c
1158
con->se_out.con = con;
usr.sbin/relayd/relay.c
1159
con->se_in.splicelen = -1;
usr.sbin/relayd/relay.c
1160
con->se_out.splicelen = -1;
usr.sbin/relayd/relay.c
1161
con->se_in.toread = TOREAD_UNLIMITED;
usr.sbin/relayd/relay.c
1162
con->se_out.toread = TOREAD_UNLIMITED;
usr.sbin/relayd/relay.c
1163
con->se_relay = rlay;
usr.sbin/relayd/relay.c
1164
con->se_id = ++relay_conid;
usr.sbin/relayd/relay.c
1165
con->se_relayid = rlay->rl_conf.id;
usr.sbin/relayd/relay.c
1166
con->se_pid = getpid();
usr.sbin/relayd/relay.c
1167
con->se_in.dir = RELAY_DIR_REQUEST;
usr.sbin/relayd/relay.c
1168
con->se_out.dir = RELAY_DIR_RESPONSE;
usr.sbin/relayd/relay.c
1169
con->se_retry = rlay->rl_conf.dstretry;
usr.sbin/relayd/relay.c
1170
con->se_bnds = -1;
usr.sbin/relayd/relay.c
1171
con->se_out.port = rlay->rl_conf.dstport;
usr.sbin/relayd/relay.c
1174
con->se_in.port = ((struct sockaddr_in *)&ss)->sin_port;
usr.sbin/relayd/relay.c
1177
con->se_in.port = ((struct sockaddr_in6 *)&ss)->sin6_port;
usr.sbin/relayd/relay.c
1180
memcpy(&con->se_in.ss, &ss, sizeof(con->se_in.ss));
usr.sbin/relayd/relay.c
1182
slen = sizeof(con->se_sockname);
usr.sbin/relayd/relay.c
1183
if (getsockname(s, (struct sockaddr *)&con->se_sockname, &slen) == -1) {
usr.sbin/relayd/relay.c
1184
relay_close(con, "sockname lookup failed", 1);
usr.sbin/relayd/relay.c
1188
getmonotime(&con->se_tv_start);
usr.sbin/relayd/relay.c
1189
bcopy(&con->se_tv_start, &con->se_tv_last, sizeof(con->se_tv_last));
usr.sbin/relayd/relay.c
1192
SipHash24_Init(&con->se_siphashctx,
usr.sbin/relayd/relay.c
1197
SPLAY_INSERT(session_tree, &rlay->rl_sessions, con);
usr.sbin/relayd/relay.c
1198
relay_session_publish(con);
usr.sbin/relayd/relay.c
1204
con->se_out.output = evbuffer_new();
usr.sbin/relayd/relay.c
1205
if (con->se_out.output == NULL) {
usr.sbin/relayd/relay.c
1206
relay_close(con, "failed to allocate output buffer", 1);
usr.sbin/relayd/relay.c
1211
memcpy(&con->se_out.ss, &con->se_sockname,
usr.sbin/relayd/relay.c
1212
sizeof(con->se_out.ss));
usr.sbin/relayd/relay.c
1213
con->se_out.port = relay_socket_getport(&con->se_out.ss);
usr.sbin/relayd/relay.c
1216
if (bcmp(&rlay->rl_conf.ss, &con->se_out.ss,
usr.sbin/relayd/relay.c
1217
sizeof(con->se_out.ss)) == 0 &&
usr.sbin/relayd/relay.c
1218
con->se_out.port == rlay->rl_conf.port)
usr.sbin/relayd/relay.c
1219
con->se_out.ss.ss_family = AF_UNSPEC;
usr.sbin/relayd/relay.c
1222
relay_close(con, "failed to allocate nat lookup", 1);
usr.sbin/relayd/relay.c
1226
con->se_cnl = cnl;
usr.sbin/relayd/relay.c
1229
cnl->id = con->se_id;
usr.sbin/relayd/relay.c
1233
memcpy(&cnl->src, &con->se_in.ss, sizeof(cnl->src));
usr.sbin/relayd/relay.c
1234
memcpy(&cnl->dst, &con->se_sockname, sizeof(cnl->dst));
usr.sbin/relayd/relay.c
1240
evtimer_set(&con->se_ev, relay_natlook, con);
usr.sbin/relayd/relay.c
1242
evtimer_add(&con->se_ev, &tv);
usr.sbin/relayd/relay.c
1247
relay_preconnect(con);
usr.sbin/relayd/relay.c
1251
relay_session(con);
usr.sbin/relayd/relay.c
1256
free(con);
usr.sbin/relayd/relay.c
1291
relay_from_table(struct rsession *con)
usr.sbin/relayd/relay.c
1293
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1303
if (con->se_table != NULL) {
usr.sbin/relayd/relay.c
1304
rlt = con->se_table;
usr.sbin/relayd/relay.c
1324
__func__, con->se_id);
usr.sbin/relayd/relay.c
1339
relay_hash_addr(&con->se_siphashctx, &con->se_in.ss, -1);
usr.sbin/relayd/relay.c
1343
relay_hash_addr(&con->se_siphashctx, &con->se_in.ss, -1);
usr.sbin/relayd/relay.c
1347
relay_hash_addr(&con->se_siphashctx, &rlay->rl_conf.ss,
usr.sbin/relayd/relay.c
1356
p = SipHash24_End(&con->se_siphashctx);
usr.sbin/relayd/relay.c
1359
SipHash24_Init(&con->se_siphashctx,
usr.sbin/relayd/relay.c
1372
__func__, con->se_id, table->conf.name,
usr.sbin/relayd/relay.c
1383
__func__, con->se_id, table->conf.name, host->conf.name,
usr.sbin/relayd/relay.c
1389
con->se_id, host->conf.name);
usr.sbin/relayd/relay.c
1396
__func__, con->se_id, host->conf.name);
usr.sbin/relayd/relay.c
1407
con->se_retry = host->conf.retry;
usr.sbin/relayd/relay.c
1408
con->se_out.port = table->conf.port;
usr.sbin/relayd/relay.c
1409
bcopy(&host->conf.ss, &con->se_out.ss, sizeof(con->se_out.ss));
usr.sbin/relayd/relay.c
1417
struct rsession *con = arg;
usr.sbin/relayd/relay.c
1418
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1419
struct ctl_natlook *cnl = con->se_cnl;
usr.sbin/relayd/relay.c
1424
if (con->se_out.ss.ss_family == AF_UNSPEC && cnl->in == -1 &&
usr.sbin/relayd/relay.c
1427
relay_close(con, "session NAT lookup failed", 1);
usr.sbin/relayd/relay.c
1431
bcopy(&cnl->rdst, &con->se_out.ss, sizeof(con->se_out.ss));
usr.sbin/relayd/relay.c
1432
con->se_out.port = cnl->rdport;
usr.sbin/relayd/relay.c
1434
free(con->se_cnl);
usr.sbin/relayd/relay.c
1435
con->se_cnl = NULL;
usr.sbin/relayd/relay.c
1437
relay_session(con);
usr.sbin/relayd/relay.c
1441
relay_session(struct rsession *con)
usr.sbin/relayd/relay.c
1443
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1444
struct ctl_relay_event *in = &con->se_in, *out = &con->se_out;
usr.sbin/relayd/relay.c
1448
log_debug("%s: session %d: looping", __func__, con->se_id);
usr.sbin/relayd/relay.c
1449
relay_close(con, "session aborted", 1);
usr.sbin/relayd/relay.c
1459
if ((*rlay->rl_proto->request)(con) == -1)
usr.sbin/relayd/relay.c
1460
relay_close(con, "session failed", 1);
usr.sbin/relayd/relay.c
1465
relay_tls_transaction(con, in);
usr.sbin/relayd/relay.c
1471
relay_bindanyreq(con, 0, IPPROTO_TCP);
usr.sbin/relayd/relay.c
1472
else if (relay_connect(con) == -1) {
usr.sbin/relayd/relay.c
1473
relay_close(con, "session failed", 1);
usr.sbin/relayd/relay.c
1478
relay_input(con);
usr.sbin/relayd/relay.c
1482
relay_bindanyreq(struct rsession *con, in_port_t port, int proto)
usr.sbin/relayd/relay.c
1485
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1490
bnd.bnd_id = con->se_id;
usr.sbin/relayd/relay.c
1494
bcopy(&con->se_in.ss, &bnd.bnd_ss, sizeof(bnd.bnd_ss));
usr.sbin/relayd/relay.c
1499
evtimer_set(&con->se_ev, relay_bindany, con);
usr.sbin/relayd/relay.c
1501
evtimer_add(&con->se_ev, &tv);
usr.sbin/relayd/relay.c
1507
struct rsession *con = arg;
usr.sbin/relayd/relay.c
1509
if (con->se_bnds == -1) {
usr.sbin/relayd/relay.c
1510
relay_close(con, "bindany failed, invalid socket", 1);
usr.sbin/relayd/relay.c
1513
if (relay_connect(con) == -1)
usr.sbin/relayd/relay.c
1514
relay_close(con, "session failed", 1);
usr.sbin/relayd/relay.c
1518
relay_connect_state(struct rsession *con, struct ctl_relay_event *cre,
usr.sbin/relayd/relay.c
1522
__func__, con->se_id,
usr.sbin/relayd/relay.c
1532
struct rsession *con = arg;
usr.sbin/relayd/relay.c
1533
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1542
con->se_retrycount, con->se_retry, relay_inflight);
usr.sbin/relayd/relay.c
1547
evtimer_del(&con->se_inflightevt);
usr.sbin/relayd/relay.c
1558
if (con->se_retrycount < RELAY_OUTOF_FD_RETRIES) {
usr.sbin/relayd/relay.c
1559
evtimer_add(&con->se_inflightevt, &evtpause);
usr.sbin/relayd/relay.c
1564
relay_abort_http(con, 504, "connection timed out", 0);
usr.sbin/relayd/relay.c
1570
bnds = con->se_bnds;
usr.sbin/relayd/relay.c
1574
if ((con->se_out.s = relay_socket_connect(&con->se_out.ss,
usr.sbin/relayd/relay.c
1575
con->se_out.port, rlay->rl_proto, bnds)) == -1) {
usr.sbin/relayd/relay.c
1578
con->se_id, strerror(errno),
usr.sbin/relayd/relay.c
1579
con->se_retry ? "next retry" : "last retry");
usr.sbin/relayd/relay.c
1581
con->se_retrycount++;
usr.sbin/relayd/relay.c
1584
(con->se_retrycount < con->se_retry)) {
usr.sbin/relayd/relay.c
1586
evtimer_add(&con->se_inflightevt, &evtpause);
usr.sbin/relayd/relay.c
1589
} else if (con->se_retrycount < con->se_retry)
usr.sbin/relayd/relay.c
1592
relay_abort_http(con, 504, "connect failed", 0);
usr.sbin/relayd/relay.c
1597
relay_connect_state(con, &con->se_out, STATE_PRECONNECT);
usr.sbin/relayd/relay.c
1599
relay_connect_state(con, &con->se_out, STATE_CONNECTED);
usr.sbin/relayd/relay.c
1606
event_again(&con->se_ev, con->se_out.s, EV_WRITE|EV_TIMEOUT,
usr.sbin/relayd/relay.c
1607
relay_connected, &con->se_tv_start, &rlay->rl_conf.timeout,
usr.sbin/relayd/relay.c
1608
con);
usr.sbin/relayd/relay.c
1610
relay_connected(con->se_out.s, EV_WRITE, con);
usr.sbin/relayd/relay.c
1616
relay_preconnect(struct rsession *con)
usr.sbin/relayd/relay.c
1621
con->se_id, privsep_process);
usr.sbin/relayd/relay.c
1622
rv = relay_connect(con);
usr.sbin/relayd/relay.c
1623
if (con->se_out.state == STATE_CONNECTED)
usr.sbin/relayd/relay.c
1624
relay_connect_state(con, &con->se_out, STATE_PRECONNECT);
usr.sbin/relayd/relay.c
1629
relay_connect(struct rsession *con)
usr.sbin/relayd/relay.c
1631
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1636
if (con->se_out.state == STATE_CONNECTED) {
usr.sbin/relayd/relay.c
1643
con->se_out.state == STATE_PRECONNECT) {
usr.sbin/relayd/relay.c
1644
if (con->se_out.tls == NULL) {
usr.sbin/relayd/relay.c
1648
relay_connected(con->se_out.s, EV_WRITE, con);
usr.sbin/relayd/relay.c
1649
relay_connect_state(con, &con->se_out, STATE_CONNECTED);
usr.sbin/relayd/relay.c
1658
getmonotime(&con->se_tv_start);
usr.sbin/relayd/relay.c
1660
if (con->se_out.ss.ss_family == AF_UNSPEC &&
usr.sbin/relayd/relay.c
1662
if (relay_from_table(con) != 0)
usr.sbin/relayd/relay.c
1664
} else if (con->se_out.ss.ss_family == AF_UNSPEC) {
usr.sbin/relayd/relay.c
1665
bcopy(&rlay->rl_conf.dstss, &con->se_out.ss,
usr.sbin/relayd/relay.c
1666
sizeof(con->se_out.ss));
usr.sbin/relayd/relay.c
1667
con->se_out.port = rlay->rl_conf.dstport;
usr.sbin/relayd/relay.c
1671
if (con->se_bnds == -1) {
usr.sbin/relayd/relay.c
1675
bnds = con->se_bnds;
usr.sbin/relayd/relay.c
1680
if (con->se_out.ss.ss_family == AF_INET &&
usr.sbin/relayd/relay.c
1682
ret = map4to6(&con->se_out.ss, &rlay->rl_conf.dstaf);
usr.sbin/relayd/relay.c
1683
else if (con->se_out.ss.ss_family == AF_INET6 &&
usr.sbin/relayd/relay.c
1685
ret = map6to4(&con->se_out.ss);
usr.sbin/relayd/relay.c
1695
if ((con->se_out.s = relay_socket_connect(&con->se_out.ss,
usr.sbin/relayd/relay.c
1696
con->se_out.port, rlay->rl_proto, bnds)) == -1) {
usr.sbin/relayd/relay.c
1699
__func__, con->se_id, strerror(errno));
usr.sbin/relayd/relay.c
1700
evtimer_set(&con->se_inflightevt, relay_connect_retry,
usr.sbin/relayd/relay.c
1701
con);
usr.sbin/relayd/relay.c
1703
evtimer_add(&con->se_inflightevt, &evtpause);
usr.sbin/relayd/relay.c
1707
relay_connect_state(con, &con->se_out, STATE_PENDING);
usr.sbin/relayd/relay.c
1710
if (con->se_retry) {
usr.sbin/relayd/relay.c
1711
con->se_retry--;
usr.sbin/relayd/relay.c
1714
con->se_id, strerror(errno),
usr.sbin/relayd/relay.c
1715
con->se_retry ?
usr.sbin/relayd/relay.c
1720
__func__, con->se_id, strerror(errno));
usr.sbin/relayd/relay.c
1725
relay_connect_state(con, &con->se_out, STATE_CONNECTED);
usr.sbin/relayd/relay.c
1731
event_again(&con->se_ev, con->se_out.s, EV_WRITE|EV_TIMEOUT,
usr.sbin/relayd/relay.c
1732
relay_connected, &con->se_tv_start, &rlay->rl_conf.timeout,
usr.sbin/relayd/relay.c
1733
con);
usr.sbin/relayd/relay.c
1735
relay_connected(con->se_out.s, EV_WRITE, con);
usr.sbin/relayd/relay.c
1741
relay_close(struct rsession *con, const char *msg, int err)
usr.sbin/relayd/relay.c
1744
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
1747
SPLAY_REMOVE(session_tree, &rlay->rl_sessions, con);
usr.sbin/relayd/relay.c
1748
relay_session_unpublish(con);
usr.sbin/relayd/relay.c
1750
event_del(&con->se_ev);
usr.sbin/relayd/relay.c
1756
(void)print_host(&con->se_in.ss, ibuf, sizeof(ibuf));
usr.sbin/relayd/relay.c
1757
(void)print_host(&con->se_out.ss, obuf, sizeof(obuf));
usr.sbin/relayd/relay.c
1758
if (EVBUFFER_LENGTH(con->se_log) &&
usr.sbin/relayd/relay.c
1759
evbuffer_add_printf(con->se_log, "\r\n") != -1) {
usr.sbin/relayd/relay.c
1760
ptr = evbuffer_readln(con->se_log, NULL,
usr.sbin/relayd/relay.c
1766
"%s%s%s", rlay->rl_conf.name, con->se_id,
usr.sbin/relayd/relay.c
1767
relay_sessions, con->se_tag != 0 ?
usr.sbin/relayd/relay.c
1768
tag_id2name(con->se_tag) : "0", ibuf, obuf,
usr.sbin/relayd/relay.c
1769
ntohs(con->se_out.port), msg, ptr == NULL ?
usr.sbin/relayd/relay.c
1774
"%s%s%s", rlay->rl_conf.name, con->se_id,
usr.sbin/relayd/relay.c
1775
relay_sessions, con->se_tag != 0 ?
usr.sbin/relayd/relay.c
1776
tag_id2name(con->se_tag) : "0", ibuf, obuf,
usr.sbin/relayd/relay.c
1777
ntohs(con->se_out.port), msg, ptr == NULL ?
usr.sbin/relayd/relay.c
1783
(*proto->close)(con);
usr.sbin/relayd/relay.c
1785
free(con->se_priv);
usr.sbin/relayd/relay.c
1787
relay_connect_state(con, &con->se_in, STATE_DONE);
usr.sbin/relayd/relay.c
1788
if (relay_reset_event(con, &con->se_in)) {
usr.sbin/relayd/relay.c
1789
if (con->se_out.s == -1) {
usr.sbin/relayd/relay.c
1799
if (con->se_in.output != NULL)
usr.sbin/relayd/relay.c
1800
evbuffer_free(con->se_in.output);
usr.sbin/relayd/relay.c
1802
relay_connect_state(con, &con->se_out, STATE_DONE);
usr.sbin/relayd/relay.c
1803
if (relay_reset_event(con, &con->se_out)) {
usr.sbin/relayd/relay.c
1810
if (con->se_out.output != NULL)
usr.sbin/relayd/relay.c
1811
evbuffer_free(con->se_out.output);
usr.sbin/relayd/relay.c
1813
if (con->se_log != NULL)
usr.sbin/relayd/relay.c
1814
evbuffer_free(con->se_log);
usr.sbin/relayd/relay.c
1816
if (con->se_cnl != NULL) {
usr.sbin/relayd/relay.c
1821
free(con->se_cnl);
usr.sbin/relayd/relay.c
1824
free(con);
usr.sbin/relayd/relay.c
1829
relay_reset_event(struct rsession *con, struct ctl_relay_event *cre)
usr.sbin/relayd/relay.c
1834
relay_connect_state(con, cre, STATE_CLOSED);
usr.sbin/relayd/relay.c
1862
struct rsession *con, se;
usr.sbin/relayd/relay.c
1943
if ((con = session_find(env, cnl.id)) == NULL ||
usr.sbin/relayd/relay.c
1944
con->se_cnl == NULL) {
usr.sbin/relayd/relay.c
1949
bcopy(&cnl, con->se_cnl, sizeof(*con->se_cnl));
usr.sbin/relayd/relay.c
1950
evtimer_del(&con->se_ev);
usr.sbin/relayd/relay.c
1951
evtimer_set(&con->se_ev, relay_natlook, con);
usr.sbin/relayd/relay.c
1953
evtimer_add(&con->se_ev, &tv);
usr.sbin/relayd/relay.c
1959
SPLAY_FOREACH(con, session_tree,
usr.sbin/relayd/relay.c
1961
memcpy(&se, con, sizeof(se));
usr.sbin/relayd/relay.c
1996
struct rsession *con;
usr.sbin/relayd/relay.c
2003
if ((con = session_find(env, id)) == NULL) {
usr.sbin/relayd/relay.c
2010
con->se_bnds = imsg_get_fd(imsg);
usr.sbin/relayd/relay.c
2012
evtimer_del(&con->se_ev);
usr.sbin/relayd/relay.c
2013
evtimer_set(&con->se_ev, relay_bindany, con);
usr.sbin/relayd/relay.c
2015
evtimer_add(&con->se_ev, &tv);
usr.sbin/relayd/relay.c
2366
relay_tls_transaction(struct rsession *con, struct ctl_relay_event *cre)
usr.sbin/relayd/relay.c
2368
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
2402
log_debug("%s: session %d: scheduling on %s", __func__, con->se_id,
usr.sbin/relayd/relay.c
2404
event_again(&con->se_ev, cre->s, EV_TIMEOUT|flag, relay_tls_handshake,
usr.sbin/relayd/relay.c
2405
&con->se_tv_start, &rlay->rl_conf.timeout, cre);
usr.sbin/relayd/relay.c
2409
relay_close(con, errstr, 1);
usr.sbin/relayd/relay.c
2416
struct rsession *con = cre->con;
usr.sbin/relayd/relay.c
2417
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
2423
relay_close(con, "TLS handshake timeout", 1);
usr.sbin/relayd/relay.c
2435
rlay->rl_conf.name, con->se_id,
usr.sbin/relayd/relay.c
2440
relay_session(con);
usr.sbin/relayd/relay.c
2448
servercert = tls_peer_cert_chain_pem(con->se_out.tls,
usr.sbin/relayd/relay.c
2451
con->se_in.tlscert = ssl_update_certificate(
usr.sbin/relayd/relay.c
2455
&con->se_in.tlscert_len);
usr.sbin/relayd/relay.c
2457
con->se_in.tlscert = NULL;
usr.sbin/relayd/relay.c
2458
if (con->se_in.tlscert == NULL)
usr.sbin/relayd/relay.c
2459
relay_close(con,
usr.sbin/relayd/relay.c
2462
relay_session(con);
usr.sbin/relayd/relay.c
2465
relay_connected(fd, EV_WRITE, con);
usr.sbin/relayd/relay.c
2474
relay_close(con, msg, 1);
usr.sbin/relayd/relay.c
2477
relay_close(con, "TLS handshake error", 1);
usr.sbin/relayd/relay.c
2482
DPRINTF("%s: session %d: scheduling on %s", __func__, con->se_id,
usr.sbin/relayd/relay.c
2484
event_again(&con->se_ev, fd, EV_TIMEOUT|retry_flag, relay_tls_handshake,
usr.sbin/relayd/relay.c
2485
&con->se_tv_start, &rlay->rl_conf.timeout, cre);
usr.sbin/relayd/relay.c
2727
relay_log(struct rsession *con, char *msg)
usr.sbin/relayd/relay.c
2729
if (con->se_haslog && con->se_log != NULL) {
usr.sbin/relayd/relay.c
2730
evbuffer_add(con->se_log, msg, strlen(msg));
usr.sbin/relayd/relay.c
380
struct rsession *con, *next_con;
usr.sbin/relayd/relay.c
423
for (con = SPLAY_ROOT(&rlay->rl_sessions);
usr.sbin/relayd/relay.c
424
con != NULL; con = next_con) {
usr.sbin/relayd/relay.c
426
&rlay->rl_sessions, con);
usr.sbin/relayd/relay.c
427
timersub(&tv_now, &con->se_tv_last, &tv);
usr.sbin/relayd/relay.c
429
relay_close(con, "hard timeout", 1);
usr.sbin/relayd/relay.c
687
struct rsession *con = arg;
usr.sbin/relayd/relay.c
688
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
693
struct ctl_relay_event *out = &con->se_out;
usr.sbin/relayd/relay.c
699
relay_abort_http(con, 504, "connect timeout", 0);
usr.sbin/relayd/relay.c
705
relay_abort_http(con, 500, "getsockopt failed", 0);
usr.sbin/relayd/relay.c
712
relay_abort_http(con, 500, msg, 0);
usr.sbin/relayd/relay.c
716
relay_abort_http(con, 500,
usr.sbin/relayd/relay.c
723
relay_tls_transaction(con, out);
usr.sbin/relayd/relay.c
727
DPRINTF("%s: session %d: successful", __func__, con->se_id);
usr.sbin/relayd/relay.c
730
if ((con->se_table != con->se_table0) &&
usr.sbin/relayd/relay.c
732
con->se_table0 = con->se_table;
usr.sbin/relayd/relay.c
734
(void)print_host(&con->se_out.ss, obuf, sizeof(obuf));
usr.sbin/relayd/relay.c
736
obuf, ntohs(con->se_out.port)) == -1) {
usr.sbin/relayd/relay.c
737
relay_abort_http(con, 500,
usr.sbin/relayd/relay.c
741
relay_log(con, msg);
usr.sbin/relayd/relay.c
748
relay_close(con,
usr.sbin/relayd/relay.c
752
con->se_out.toread = TOREAD_HTTP_HEADER;
usr.sbin/relayd/relay.c
765
bev = bufferevent_new(fd, outrd, outwr, relay_error, &con->se_out);
usr.sbin/relayd/relay.c
767
relay_abort_http(con, 500,
usr.sbin/relayd/relay.c
775
error = proxy_protocol_v1(con, bev->output);
usr.sbin/relayd/relay.c
777
error = proxy_protocol_v2(con, bev->output);
usr.sbin/relayd/relay.c
780
relay_abort_http(con, 500, "failed to write PROXY header", 0);
usr.sbin/relayd/relay.c
785
if (bufferevent_write_buffer(bev, con->se_out.output)) {
usr.sbin/relayd/relay.c
786
relay_abort_http(con, 500, strerror(errno), 0);
usr.sbin/relayd/relay.c
789
con->se_out.bev = bev;
usr.sbin/relayd/relay.c
800
if (con->se_in.bev)
usr.sbin/relayd/relay.c
801
bufferevent_enable(con->se_in.bev, EV_READ);
usr.sbin/relayd/relay.c
803
if (relay_splice(&con->se_out) == -1)
usr.sbin/relayd/relay.c
804
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay.c
808
relay_input(struct rsession *con)
usr.sbin/relayd/relay.c
810
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
817
if (relay_http_priv_init(con) == -1) {
usr.sbin/relayd/relay.c
818
relay_close(con,
usr.sbin/relayd/relay.c
822
con->se_in.toread = TOREAD_HTTP_HEADER;
usr.sbin/relayd/relay.c
835
con->se_in.bev = bufferevent_new(con->se_in.s, inrd, inwr,
usr.sbin/relayd/relay.c
836
relay_error, &con->se_in);
usr.sbin/relayd/relay.c
837
if (con->se_in.bev == NULL) {
usr.sbin/relayd/relay.c
838
relay_close(con, "failed to allocate input buffer event", 1);
usr.sbin/relayd/relay.c
843
if ((rlay->rl_conf.flags & F_TLS) && con->se_in.tls != NULL)
usr.sbin/relayd/relay.c
844
relay_tls_connected(&con->se_in);
usr.sbin/relayd/relay.c
846
bufferevent_settimeout(con->se_in.bev,
usr.sbin/relayd/relay.c
848
bufferevent_setwatermark(con->se_in.bev, EV_WRITE,
usr.sbin/relayd/relay.c
850
bufferevent_enable(con->se_in.bev, EV_READ|EV_WRITE);
usr.sbin/relayd/relay.c
852
if (relay_splice(&con->se_in) == -1)
usr.sbin/relayd/relay.c
853
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay.c
860
struct rsession *con = cre->con;
usr.sbin/relayd/relay.c
862
getmonotime(&con->se_tv_last);
usr.sbin/relayd/relay.c
864
if (con->se_done && EVBUFFER_LENGTH(EVBUFFER_OUTPUT(bev)) == 0)
usr.sbin/relayd/relay.c
873
relay_close(con, "last write (done)", 0);
usr.sbin/relayd/relay.c
876
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay.c
901
struct rsession *con = cre->con;
usr.sbin/relayd/relay.c
902
struct protocol *proto = con->se_relay->rl_proto;
usr.sbin/relayd/relay.c
905
getmonotime(&con->se_tv_last);
usr.sbin/relayd/relay.c
912
if (con->se_done)
usr.sbin/relayd/relay.c
922
relay_close(con, "last read (done)", 0);
usr.sbin/relayd/relay.c
925
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay.c
937
struct rsession *con = cre->con;
usr.sbin/relayd/relay.c
938
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay.c
955
__func__, con->se_id, cre->dir, cre->toread);
usr.sbin/relayd/relay.c
963
__func__, con->se_id, cre->dir);
usr.sbin/relayd/relay.c
974
__func__, con->se_id, cre->dir, strerror(errno));
usr.sbin/relayd/relay.c
981
__func__, con->se_id, cre->dir, cre->toread);
usr.sbin/relayd/relay.c
989
struct rsession *con = cre->con;
usr.sbin/relayd/relay.c
999
__func__, con->se_id, cre->dir, strerror(errno));
usr.sbin/relayd/relay_http.c
1055
relay_abort_http(struct rsession *con, u_int code, const char *msg,
usr.sbin/relayd/relay_http.c
1058
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay_http.c
1059
struct bufferevent *bev = con->se_in.bev;
usr.sbin/relayd/relay_http.c
1075
relay_close(con, msg, 0);
usr.sbin/relayd/relay_http.c
1138
relay_dump(&con->se_in, httpmsg, strlen(httpmsg));
usr.sbin/relayd/relay_http.c
1144
relay_close(con, msg, 1);
usr.sbin/relayd/relay_http.c
1146
relay_close(con, httpmsg, 1);
usr.sbin/relayd/relay_http.c
1152
relay_close_http(struct rsession *con)
usr.sbin/relayd/relay_http.c
1154
struct http_session *hs = con->se_priv;
usr.sbin/relayd/relay_http.c
1158
con->se_id, hs);
usr.sbin/relayd/relay_http.c
1164
con->se_id, relay_httpmethod_byid(hmn->hmn_method));
usr.sbin/relayd/relay_http.c
1167
relay_httpdesc_free(con->se_in.desc);
usr.sbin/relayd/relay_http.c
1168
free(con->se_in.desc);
usr.sbin/relayd/relay_http.c
1169
relay_httpdesc_free(con->se_out.desc);
usr.sbin/relayd/relay_http.c
1170
free(con->se_out.desc);
usr.sbin/relayd/relay_http.c
1177
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
1178
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay_http.c
119
relay_http_priv_init(struct rsession *con)
usr.sbin/relayd/relay_http.c
128
con->se_id, hs);
usr.sbin/relayd/relay_http.c
129
con->se_priv = hs;
usr.sbin/relayd/relay_http.c
130
return (relay_httpdesc_init(&con->se_in));
usr.sbin/relayd/relay_http.c
1568
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
1576
con->se_out.ss.ss_family = AF_UNSPEC;
usr.sbin/relayd/relay_http.c
1579
con->se_tag = rule->rule_tag == -1 ? 0 : rule->rule_tag;
usr.sbin/relayd/relay_http.c
1581
con->se_label = rule->rule_label == -1 ? 0 : rule->rule_label;
usr.sbin/relayd/relay_http.c
1603
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
1703
SipHash24_Update(&con->se_siphashctx,
usr.sbin/relayd/relay_http.c
1781
if (kv_log(con, mp, con->se_label, cre->dir)
usr.sbin/relayd/relay_http.c
1802
if (cre->dir == RELAY_DIR_REQUEST && con->se_table != tbl) {
usr.sbin/relayd/relay_http.c
1803
relay_reset_event(con, &con->se_out);
usr.sbin/relayd/relay_http.c
1804
con->se_table = tbl;
usr.sbin/relayd/relay_http.c
1805
con->se_haslog = 1;
usr.sbin/relayd/relay_http.c
1812
if ((con->se_log != NULL) &&
usr.sbin/relayd/relay_http.c
1815
evbuffer_add(con->se_log, msg, strlen(msg));
usr.sbin/relayd/relay_http.c
1817
relay_log(con, cre->dir == RELAY_DIR_REQUEST ? "" : ";");
usr.sbin/relayd/relay_http.c
1841
struct rsession *con;
usr.sbin/relayd/relay_http.c
1850
con = cre->con;
usr.sbin/relayd/relay_http.c
186
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
1867
else if (RELAY_ADDR_CMP(&r->rule_dst, &con->se_sockname) != 0)
usr.sbin/relayd/relay_http.c
187
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay_http.c
1873
else if (r->rule_tagged && con->se_tag != r->rule_tagged)
usr.sbin/relayd/relay_http.c
1887
__func__, con->se_id, r->rule_id);
usr.sbin/relayd/relay_http.c
1917
con->se_id, res);
usr.sbin/relayd/relay_http.c
1937
con->se_id, action);
usr.sbin/relayd/relay_http.c
201
getmonotime(&con->se_tv_last);
usr.sbin/relayd/relay_http.c
2015
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
2017
struct http_session *hs = con->se_priv;
usr.sbin/relayd/relay_http.c
2022
DPRINTF("%s: session %d http_session %p", __func__, con->se_id, hs);
usr.sbin/relayd/relay_http.c
2026
relay_abort_http(con, 400, "malformed", 0);
usr.sbin/relayd/relay_http.c
2042
__func__, con->se_id);
usr.sbin/relayd/relay_http.c
2047
__func__, con->se_id,
usr.sbin/relayd/relay_http.c
206
__func__, con->se_id, size, cre->toread);
usr.sbin/relayd/relay_http.c
2093
DPRINTF("%s: session %d enqueuing %s", __func__, con->se_id,
usr.sbin/relayd/relay_http.c
2126
relay_abort_http(con, 500, strerror(errno), 0);
usr.sbin/relayd/relay_http.c
242
relay_abort_http(con, 413,
usr.sbin/relayd/relay_http.c
249
relay_abort_http(con, 400, "malformed", 0);
usr.sbin/relayd/relay_http.c
267
relay_abort_http(con, 400, "malformed", 0);
usr.sbin/relayd/relay_http.c
289
con->se_id, key, value);
usr.sbin/relayd/relay_http.c
300
relay_abort_http(con, 400, "malformed",
usr.sbin/relayd/relay_http.c
335
relay_abort_http(con, 500,
usr.sbin/relayd/relay_http.c
354
relay_abort_http(con, 502,
usr.sbin/relayd/relay_http.c
362
relay_abort_http(con, 400,
usr.sbin/relayd/relay_http.c
381
relay_abort_http(con, 400,
usr.sbin/relayd/relay_http.c
395
relay_abort_http(con, 400, "malformed", 0);
usr.sbin/relayd/relay_http.c
402
relay_abort_http(con, 400, "malformed", 0);
usr.sbin/relayd/relay_http.c
411
relay_abort_http(con, 400, "malformed header", 0);
usr.sbin/relayd/relay_http.c
421
relay_abort_http(con, 406, "no method", 0);
usr.sbin/relayd/relay_http.c
428
relay_close(con, "filter rule failed", 1);
usr.sbin/relayd/relay_http.c
431
relay_abort_http(con, 400, "Bad Request",
usr.sbin/relayd/relay_http.c
432
con->se_label);
usr.sbin/relayd/relay_http.c
435
relay_abort_http(con, 500, "Internal Server Error",
usr.sbin/relayd/relay_http.c
436
con->se_label);
usr.sbin/relayd/relay_http.c
440
relay_abort_http(con, 403, "Forbidden", con->se_label);
usr.sbin/relayd/relay_http.c
455
relay_abort_http(con, 403,
usr.sbin/relayd/relay_http.c
459
relay_abort_http(con, 400,
usr.sbin/relayd/relay_http.c
463
relay_abort_http(con, 405,
usr.sbin/relayd/relay_http.c
475
relay_abort_http(con, 502,
usr.sbin/relayd/relay_http.c
577
relay_bindanyreq(con, 0, IPPROTO_TCP);
usr.sbin/relayd/relay_http.c
580
if (relay_connect(con) == -1) {
usr.sbin/relayd/relay_http.c
581
relay_abort_http(con, 502, "session failed", 0);
usr.sbin/relayd/relay_http.c
586
if (con->se_done) {
usr.sbin/relayd/relay_http.c
587
relay_close(con, "last http read (done)", 0);
usr.sbin/relayd/relay_http.c
592
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay_http.c
604
relay_abort_http(con, 500, strerror(errno), 0);
usr.sbin/relayd/relay_http.c
614
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
615
struct protocol *proto = con->se_relay->rl_proto;
usr.sbin/relayd/relay_http.c
620
getmonotime(&con->se_tv_last);
usr.sbin/relayd/relay_http.c
625
con->se_id, size, cre->toread);
usr.sbin/relayd/relay_http.c
651
if (con->se_done)
usr.sbin/relayd/relay_http.c
664
relay_close(con, "last http content read", 0);
usr.sbin/relayd/relay_http.c
667
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay_http.c
674
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
675
struct protocol *proto = con->se_relay->rl_proto;
usr.sbin/relayd/relay_http.c
681
getmonotime(&con->se_tv_last);
usr.sbin/relayd/relay_http.c
686
con->se_id, size, cre->toread);
usr.sbin/relayd/relay_http.c
736
relay_close(con, "invalid chunk size", 1);
usr.sbin/relayd/relay_http.c
783
if (con->se_done)
usr.sbin/relayd/relay_http.c
797
relay_close(con, "last http chunk read (done)", 0);
usr.sbin/relayd/relay_http.c
800
relay_close(con, strerror(errno), 1);
usr.sbin/relayd/relay_http.c
820
struct rsession *con = cre->con;
usr.sbin/relayd/relay_http.c
829
relay_abort_http(con, 500, "failed to allocate URL", 0);
usr.sbin/relayd/relay_http.c
838
relay_abort_http(con, 500,
usr.sbin/relayd/relay_http.c
849
DPRINTF("%s: session %d: %s, %s: %d", __func__, con->se_id,
usr.sbin/relayd/relay_udp.c
180
struct rsession *con = arg;
usr.sbin/relayd/relay_udp.c
181
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay_udp.c
204
(priv = (*proto->validate)(con, rlay, &ss, buf, len)) == NULL)
usr.sbin/relayd/relay_udp.c
207
relay_close(con, "unknown response", 1);
usr.sbin/relayd/relay_udp.c
217
struct rsession *con = NULL;
usr.sbin/relayd/relay_udp.c
240
if ((con = calloc(1, sizeof(*con))) == NULL) {
usr.sbin/relayd/relay_udp.c
248
con->se_priv = priv;
usr.sbin/relayd/relay_udp.c
249
con->se_in.s = -1;
usr.sbin/relayd/relay_udp.c
250
con->se_out.s = -1;
usr.sbin/relayd/relay_udp.c
251
con->se_in.dst = &con->se_out;
usr.sbin/relayd/relay_udp.c
252
con->se_out.dst = &con->se_in;
usr.sbin/relayd/relay_udp.c
253
con->se_in.con = con;
usr.sbin/relayd/relay_udp.c
254
con->se_out.con = con;
usr.sbin/relayd/relay_udp.c
255
con->se_relay = rlay;
usr.sbin/relayd/relay_udp.c
256
con->se_id = ++relay_conid;
usr.sbin/relayd/relay_udp.c
257
con->se_in.dir = RELAY_DIR_REQUEST;
usr.sbin/relayd/relay_udp.c
258
con->se_out.dir = RELAY_DIR_RESPONSE;
usr.sbin/relayd/relay_udp.c
259
con->se_retry = rlay->rl_conf.dstretry;
usr.sbin/relayd/relay_udp.c
260
con->se_out.port = rlay->rl_conf.dstport;
usr.sbin/relayd/relay_udp.c
263
con->se_in.port = ((struct sockaddr_in *)&ss)->sin_port;
usr.sbin/relayd/relay_udp.c
266
con->se_in.port = ((struct sockaddr_in6 *)&ss)->sin6_port;
usr.sbin/relayd/relay_udp.c
269
bcopy(&ss, &con->se_in.ss, sizeof(con->se_in.ss));
usr.sbin/relayd/relay_udp.c
271
getmonotime(&con->se_tv_start);
usr.sbin/relayd/relay_udp.c
272
bcopy(&con->se_tv_start, &con->se_tv_last, sizeof(con->se_tv_last));
usr.sbin/relayd/relay_udp.c
275
SPLAY_INSERT(session_tree, &rlay->rl_sessions, con);
usr.sbin/relayd/relay_udp.c
276
relay_session_publish(con);
usr.sbin/relayd/relay_udp.c
282
con->se_out.output = evbuffer_new();
usr.sbin/relayd/relay_udp.c
283
if (con->se_out.output == NULL) {
usr.sbin/relayd/relay_udp.c
284
relay_close(con, "failed to allocate output buffer", 1);
usr.sbin/relayd/relay_udp.c
289
con->se_haslog = 0;
usr.sbin/relayd/relay_udp.c
290
con->se_log = evbuffer_new();
usr.sbin/relayd/relay_udp.c
291
if (con->se_log == NULL) {
usr.sbin/relayd/relay_udp.c
292
relay_close(con, "failed to allocate log buffer", 1);
usr.sbin/relayd/relay_udp.c
298
relay_close(con, "failed to allocate natlookup", 1);
usr.sbin/relayd/relay_udp.c
304
if (evbuffer_add(con->se_out.output, buf, len) == -1) {
usr.sbin/relayd/relay_udp.c
305
relay_close(con, "failed to store buffer", 1);
usr.sbin/relayd/relay_udp.c
311
con->se_cnl = cnl;
usr.sbin/relayd/relay_udp.c
314
cnl->id = con->se_id;
usr.sbin/relayd/relay_udp.c
317
bcopy(&con->se_in.ss, &cnl->src, sizeof(cnl->src));
usr.sbin/relayd/relay_udp.c
323
evtimer_set(&con->se_ev, relay_natlook, con);
usr.sbin/relayd/relay_udp.c
325
evtimer_add(&con->se_ev, &tv);
usr.sbin/relayd/relay_udp.c
329
relay_session(con);
usr.sbin/relayd/relay_udp.c
335
struct rsession *con = arg;
usr.sbin/relayd/relay_udp.c
340
relay_close(con, "udp timeout", 1);
usr.sbin/relayd/relay_udp.c
376
relay_dns_log(struct rsession *con, u_int8_t *buf, size_t len)
usr.sbin/relayd/relay_udp.c
383
con->se_id);
usr.sbin/relayd/relay_udp.c
389
con->se_id,
usr.sbin/relayd/relay_udp.c
401
relay_dns_validate(struct rsession *con, struct relay *rlay,
usr.sbin/relayd/relay_udp.c
432
if (con == NULL) {
usr.sbin/relayd/relay_udp.c
435
if ((con = SPLAY_FIND(session_tree,
usr.sbin/relayd/relay_udp.c
437
con->se_priv != NULL &&
usr.sbin/relayd/relay_udp.c
438
relay_cmp_af(ss, &con->se_out.ss) == 0)
usr.sbin/relayd/relay_udp.c
439
relay_dns_result(con, buf, len);
usr.sbin/relayd/relay_udp.c
441
priv = con->se_priv;
usr.sbin/relayd/relay_udp.c
443
relay_close(con, "invalid response", 1);
usr.sbin/relayd/relay_udp.c
446
relay_dns_result(con, buf, len);
usr.sbin/relayd/relay_udp.c
456
relay_dns_request(struct rsession *con)
usr.sbin/relayd/relay_udp.c
458
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay_udp.c
459
struct relay_dns_priv *priv = con->se_priv;
usr.sbin/relayd/relay_udp.c
460
u_int8_t *buf = EVBUFFER_DATA(con->se_out.output);
usr.sbin/relayd/relay_udp.c
461
size_t len = EVBUFFER_LENGTH(con->se_out.output);
usr.sbin/relayd/relay_udp.c
468
relay_dns_log(con, buf, len);
usr.sbin/relayd/relay_udp.c
470
getmonotime(&con->se_tv_start);
usr.sbin/relayd/relay_udp.c
473
if (relay_from_table(con) != 0)
usr.sbin/relayd/relay_udp.c
475
} else if (con->se_out.ss.ss_family == AF_UNSPEC) {
usr.sbin/relayd/relay_udp.c
476
bcopy(&rlay->rl_conf.dstss, &con->se_out.ss,
usr.sbin/relayd/relay_udp.c
477
sizeof(con->se_out.ss));
usr.sbin/relayd/relay_udp.c
478
con->se_out.port = rlay->rl_conf.dstport;
usr.sbin/relayd/relay_udp.c
481
if ((con->se_out.s = relay_udp_socket(&con->se_out.ss,
usr.sbin/relayd/relay_udp.c
482
con->se_out.port, rlay->rl_proto)) == -1)
usr.sbin/relayd/relay_udp.c
484
slen = con->se_out.ss.ss_len;
usr.sbin/relayd/relay_udp.c
490
if (sendto(con->se_out.s, buf, len, 0,
usr.sbin/relayd/relay_udp.c
491
(struct sockaddr *)&con->se_out.ss, slen) == -1) {
usr.sbin/relayd/relay_udp.c
492
if (con->se_retry) {
usr.sbin/relayd/relay_udp.c
493
con->se_retry--;
usr.sbin/relayd/relay_udp.c
496
con->se_id, strerror(errno),
usr.sbin/relayd/relay_udp.c
497
con->se_retry ? "next retry" : "last retry");
usr.sbin/relayd/relay_udp.c
501
con->se_id, strerror(errno));
usr.sbin/relayd/relay_udp.c
505
event_again(&con->se_ev, con->se_out.s, EV_TIMEOUT|EV_READ,
usr.sbin/relayd/relay_udp.c
506
relay_udp_response, &con->se_tv_start, &rlay->rl_conf.timeout, con);
usr.sbin/relayd/relay_udp.c
512
relay_dns_result(struct rsession *con, u_int8_t *buf, size_t len)
usr.sbin/relayd/relay_udp.c
514
struct relay *rlay = con->se_relay;
usr.sbin/relayd/relay_udp.c
515
struct relay_dns_priv *priv = con->se_priv;
usr.sbin/relayd/relay_udp.c
523
relay_dns_log(con, buf, len);
usr.sbin/relayd/relay_udp.c
531
slen = con->se_out.ss.ss_len;
usr.sbin/relayd/relay_udp.c
533
(struct sockaddr *)&con->se_in.ss, slen) == -1) {
usr.sbin/relayd/relay_udp.c
534
relay_close(con, "response failed", 1);
usr.sbin/relayd/relay_udp.c
538
relay_close(con, "session closed", 0);
usr.sbin/relayd/relayd.c
1119
struct rsession *con;
usr.sbin/relayd/relayd.c
1122
SPLAY_FOREACH(con, session_tree, &rlay->rl_sessions)
usr.sbin/relayd/relayd.c
1123
if (con->se_id == id)
usr.sbin/relayd/relayd.c
1124
return (con);
usr.sbin/relayd/relayd.c
567
struct rsession *con;
usr.sbin/relayd/relayd.c
578
while ((con =
usr.sbin/relayd/relayd.c
580
relay_close(con, NULL, 0);
usr.sbin/relayd/relayd.c
800
kv_log(struct rsession *con, struct kv *kv, u_int16_t labelid,
usr.sbin/relayd/relayd.c
805
if (con->se_log == NULL)
usr.sbin/relayd/relayd.c
816
if (evbuffer_add(con->se_log, msg, strlen(msg)) == -1) {
usr.sbin/relayd/relayd.c
821
con->se_haslog = 1;
usr.sbin/relayd/relayd.h
212
struct rsession *con;