-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcfm_netlink.h
50 lines (41 loc) · 2.03 KB
/
cfm_netlink.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries.
// SPDX-License-Identifier: (GPL-2.0)
#ifndef OFFLOAD_H
#define OFFLOAD_H
#include <linux/cfm_bridge.h>
#include <stdbool.h>
struct mac_addr {
unsigned char addr[6];
};
struct maid_data {
unsigned char data[CFM_MAID_LENGTH];
};
struct cfm_mep_status {
uint32_t peer_mepid;
bool ccm_defect;
};
int cfm_offload_mep_create(uint32_t br_ifindex, uint32_t instance, uint32_t domain, uint32_t direction,
uint32_t ifindex);
int cfm_offload_mep_delete(uint32_t br_ifindex, uint32_t instance);
int cfm_offload_mep_config(uint32_t br_ifindex, uint32_t instance, struct mac_addr *mac, uint32_t level,
uint32_t mepid);
int cfm_offload_cc_config(uint32_t br_ifindex, uint32_t instance, uint32_t enable,
uint32_t interval, struct maid_data *maid);
int cfm_offload_cc_rdi(uint32_t br_ifindex, uint32_t instance, uint32_t rdi);
int cfm_offload_cc_peer(uint32_t br_ifindex, uint32_t instance, uint32_t remove, uint32_t mepid);
int cfm_offload_cc_ccm_tx(uint32_t br_ifindex, uint32_t instance,
struct mac_addr *dmac, uint32_t sequence, uint32_t period, uint32_t iftlv,
uint8_t iftlv_value, uint32_t porttlv, uint8_t porttlv_value);
int cfm_offload_init(void);
int cfm_offload_mep_config_show(uint32_t br_ifindex);
int cfm_offload_mep_status_show(uint32_t br_ifindex);
int cfm_offload_mip_create(uint32_t br_ifindex, uint32_t instance, uint32_t vlan_ifindex, uint32_t direction,
uint32_t port_ifindex);
int cfm_offload_mip_delete(uint32_t br_ifindex, uint32_t instance);
int cfm_offload_mip_config(uint32_t br_ifindex, uint32_t instance, struct mac_addr *mac, uint32_t level,
uint32_t raps);
int cfm_offload_mip_config_show(uint32_t br_ifindex);
int cfm_offload_mep_instance_get(uint32_t br_ifindex, uint32_t port_ifindex, uint32_t *instance);
int cfm_offload_mep_status_get(uint32_t br_ifindex, uint32_t instance, struct cfm_mep_status *status);
int cfm_offload_mip_instance_get(uint32_t br_ifindex, uint32_t port_ifindex, uint32_t vlan_ifindex, uint32_t *instance);
#endif