드라이버 내부에서 소켓CAN 장치를 읽으려고 합니다.
저는 skb를 설정하고 관련 정보와 함께 can_rx_register
이라는 콜백을 등록하는 호출 에 전달하고 있습니다 sc_rcv
.
// callback
static void sc_rcv(struct sk_buff *skbr, void *data)
// initialization
result = can_rx_register(&init_net, dev, 10 | CAN_INV_FILTER, CAN_SFF_MASK, &sc_rcv, skb, "mycan", 0);
패킷을 수신할 수 있지만 중복된 패킷이 수신되는데 이유를 모르겠습니다.
이것을 구현하는 방법에 대한 예를 찾고 있습니다.